I am a newish programmer (around 3 years of experience). We have a test group of about 1-3 people. So, the apps don't get really tested well AT ALL, e.g. maybe one tester checked the changed page, not the whole app. I've noticed that the business side and my boss are pretty close (business side makes our priorities), he cherry picks from the business side what he wants to work on and gives me the tough assignments with close deadlines, saying business wants me to work on it. He doesn't review any of my work, it goes to test then production. So when things fail it's blamed on my code, because he doesn't review code.
I talked to his bosses about this and they said he does other stuff and that I'm really good at coding so that's good that I do it. But he tells me everything he does and he sits on projects for months or years. There's a lack of accountability by his bosses. He talks about selling stocks with the guy next to him for a good part of the day. Then talks to business about all of the stuff he's doing, to appear that he really cares and is working hard. He tells everyone we have so much to do, when all he really does is the customer tickets, that I do as well and I have to do all the tickets that involve old client data to new client data (that's another task he doesn't handle). I also have the very sensitive, extraneous work projects. I am the only one in our app development team that has even been here for the past 3 years! They even had me refactor our entire apps with a contractor without verifying anything, I'm a junior programmer and the contractor is a 3rd party!
No one listens to me about him and I don't want to go much higher to leave myself open to burning bigger bridges (I may have already). I talked to him directly about it, but he lies and pretends to care. He said we'd share the next large project that he assigned to me, but I have to do all of the coding for it now and he just deals with the third party that we're purchasing product from with a couple of E-mails every few months. He asks me for help all of the time and he's been there about 4 years longer than me! Even asks me what my decision will be on a lot of things, because he doesn't want to make any calls. What I feel like is he doesn't want to be blamed for bugs. What is a good way of just protecting myself in this environment? I would think he has some type of responsibility if code fails, but I don't know what he says when he runs around telling everyone things. I am starting to send him and business managers some code that I can send, through E-mail, so I can say at least that I e-mailed them. I've just had him say in front of me, well I don't want to throw him(me) under the bus after he told me how I should do something. I hope this is not too long, it's not a rant.
I want to like my job more and retire with this organization. I am just trying to protect myself so I don't have stress so hard when I write code. I feel like a scapegoat they are just pushing everything through. I get really good reviews there, I got a near perfect one, but it also said to fully test my app before promoting to test. My boss said this was because of a failure in production using my code and that he had nothing else to put, and he had to put something. I told him, "you could've done additional training, as I do outside of work hours for myself". The fact is, he's not only my boss, but a coworker, the apps take two heads, as he was there before I joined, previously it was him and some other guy. What is a good way of just protecting myself in this environment?
@Dan - I understand, but it's just me and my boss, he's like my coworker. He has no team, no one else to manage, only me. He's responsible for doing regular work. If he's completely hands-off with me, with 0 review or feedback and doesn't push anything out himself that is a loss of productivity through ignorance. I could relate to your answer if I had more of a team, someone to rely on, but if I need something done and tell or ask him to do it, it doesn't get done and gets put back on me. He doesn't stand up for me in the organization neither which hinders my abilities as well.