Take the 2-minute tour ×
The Workplace Stack Exchange is a question and answer site for members of the workforce navigating the professional setting. It's 100% free, no registration required.

I’m a software developer. I wasn’t careful enough and fixed a couple of bugs in our system that nobody in the team could fix. And that was the beginning of the problem. Today I have to fix the most of toughest bugs while another team members are creating the cool new features with cool presentations and getting all credit for getting the job done. As far as I know from some data has leaked—I’m also the least paid team member. What can I do?

share|improve this question
1  
Comments deleted. Please avoid using comments for extended discussion. Instead, please use The Workplace Chat. Comments are intended to help improve a post. Please see What "comments" are not... for more details. –  Monica Cellio Jun 13 at 22:59
add comment

6 Answers 6

up vote 56 down vote accepted

This answer isn't geared towards software development specifically, in fact it's a lesson I learned in the military from one of the most outstanding professionals I've ever met.

Whenever I enter a new arena and I want to stand out, I ask for the dirtiest, least desired, most hated/reviled job or position I can do that doesn't conflict directly with my goals. Then I kick ass at it. I don't just do it well, I do it as well as it can possibly be done given my skills and the tools available to me. The reasoning is that anyone can build something new or keep something going that already works well. If you take the worst of the worst and you do it in a stellar fashion, people will take notice.

As @VietnhiPhuvan mentioned, these "cool things" will be forgotten in a couple of months. Next year when they're adding features, refactoring or looking to upgrade what is already there, your code fixes will still be there. When there's a problem with the software that they can't figure out, they'll look to you. You can make a stellar career in software development as a direct result of your efforts in diagnostics and repair of existing software.

None of us really likes the grunt maintenance work. We all want to do something cool and new. Maintenance is a fact of life though, and if you're being put on it, you can look at it as the opportunity to knock it out of the park. Yes, you'll shoehorn yourself in for a bit, but you'll establish yourself as a dependable, capable and competent coder. Once you've fixed some really hard issues effectively you'll be able to lobby for cooler projects and pay increases.

That segues into my supplementary concept. No one is going to love you if you don't "love yourself". Your performance review is your chance to show just how awesome you are. If your company doesn't do performance reviews, then you need to do one for yourself. Keep track of everything you do. Keep track of the metrics that are involved.

Fixed "X" bug. Resulted in 95% reduction in null reference exceptions.
Fixed "Y" race condition. Resulted in 25% reduction in thread resource conflicts.

Keep it in a file and keep it in a hard copy folder as well. As emails come in from various team leads, managers, business reps, sales, whatever, copy/print these into your file. The guy I mentioned before referred to this file as the "I love me" file. Do everything you can to make this sucker grow fat. Once you have some substance to it, it's trivial to go to your supervisor/manager and make a case for a raise, different position, alternate tasks.

You are the only person who can lobby for better circumstances. Your supervisor or manager is the one who can seal the deal and make it happen. So take these tasks and kick ass at them. Don't worry about what other people are getting with respect to opportunities and projects. In time, you'll be in the forefront of consideration for these because of your demonstrated skill, product knowledge, and "quirks" knowledge.

If you get to that point, and the company does not consider you worth the extra money you feel you deserve, then you'll have an excellent resume built up with your "I love me" file. Those are exactly the kind of metric bullet points that hiring managers want to see in new hires. I promise you if your current company won't consider the value, there's another company who can.

share|improve this answer
10  
+1 How do I really learn to code? By fixing, cleaning up and refactoring somebody else's code :) A curse be upon their banner :) –  Vietnhi Phuvan Jun 13 at 18:27
1  
I am glad that you manage to generate enthusiasm for this kind of work. As a professional, I will do what's needed and required - whether I like doing it or not is irrelevant because the priority is that it has to be done. And even if I dislike the task, I will complete it as effectively and as efficiently as if I liked it. Whenever I hear the words "passion" and "enthusiasm", I start to shudder. Because I am the one who gets to be called in to bring to a successful conclusion what those who have lost their passion and enthusiasm had started. Yeah, I am cynical even for an old hand :) –  Vietnhi Phuvan Jun 13 at 18:35
3  
@VietnhiPhuvan: I love new projects and will always have "passion" and "enthusiasm", but at the same time there's a reason all of my employers end up bringing me the crazy problems. Fixing bugs/problems keeps me valuable. Using that value to do new exciting things keeps me coming back for more. –  Joel Etherton Jun 13 at 18:49
    
The key to doing the tough jobs is to leverage them into getting everyone to understand your importance. With that should come some reward instead of just more of the same. –  JeffO Jun 13 at 20:23
2  
Right on, right on. Any n00b can hack new features, but it takes an engineer to maintain, refactor, and optimize the code hacked out by last year's n00bz. Do the best job you can. If they don't recognize your professionalism, someone else will. –  Ollie Jones Jun 13 at 23:14
show 2 more comments

Fixing the tough bugs is one of the best things you can have a reputation for.

However, what you need to do is talk to your boss (not your coworkers) about how you can fix the things no one else can fix and that as a result you deserve a pay raise. In no way should you mention what other people get and in fact you don't know what they get unless you saw the actual payslips because people often lie when they mention their salaries. What other people get is irrelevent anyway.

Next talk to him about the work you would like to be doing in addition to the bug fixes.

But really you should get over this idea that it is somehow better to work on cool stuff. The real work isn't always or even often in the cool stuff, what you want is to be the person who contributes to the bottom line not the one who pursues only what is fun and cool. Now sometimes that is cool stuff but more often than not it is not. Right now as a superior troubleshooter, you are the more valuable asset, you just need to make your case to your boss. You are assuming you are doing scut work when you are not. You need to make your boss see that you can do what the others could not do and that makes you more valuable.

share|improve this answer
2  
I'm not sure the OP is held up on doing cool work (fun programming) as much as the perception that their peers are way more valuable assets because their cool work (impressive to non-technical people stuff) is more visible. –  Telastyn Jun 13 at 18:18
4  
It seems the OP is fixing the tough bugs, that nobody else can fix, but there's no reward for it. What does the manager see when he fixes a bug that crashes the app and loses customers' data? He or she doesn't see a thing, because it doesn't crash anymore. –  gnasher729 Jun 13 at 20:27
1  
+1 In my experience, managers often put the weakest people onto the cool new things. –  S List Jun 13 at 22:31
add comment

What can I do?

First get clear in your own mind what the problem is and about the outcome you desire (not doing any bug fixing, sharing the load with others, getting more credit, getting a raise for doing this work, whatever).

Then talk to your boss about it.

Whenever you have a question about what has been assigned to you, talk with the one who could potentially change the assignment. I'm assuming that's your boss here.

share|improve this answer
add comment

In addition to the other answers, I just wanted to add that yes, it often does happen that the reward for good work is more work. Sometimes the guy that gets promoted is the guy with the big mouth that can't do useful work, so they just promote him to manager.

The dirty fact of life is that there is not always a direct positive correlation between how much work you do and how you get rewarded. I learned this lesson as a child when my parents would give me more housework than my older sister, because she was a rebel and would make a mess of things, whereas I was the well-behaved one that did everything perfectly without complaining. It is said that the reward for a job well done is more workload.

Pay attention, understand that there is a game going on and if you're just "doing your best" and hoping good things will fall in your lap, you're not even aware of the game, leave alone having a chance to win.

In your case, if you're really the only one that can handle the dirty bugs, why would they ever give you anything else to do? Ask yourself, do you like doing this? If yes, then fantastic, enjoy! If no, then stop doing it. Try to move toward other projects. If they don't give you anything else to do, it may be the case that you've already cast yourself as "that guy". Move to another company, and don't make the same mistakes again.

Now go ahead, everybody thumbs me down, you know you wanna!

share|improve this answer
2  
I think what you say is realistic. This is what happens in the real workplace. The dirty fact of life is that there is not always a direct positive correlation between how much work you do and how you get rewarded. I want to say that there is usually no direct correlation ... –  kaptan Jun 14 at 0:36
add comment

What can I do?

Say no.

You don't have to do anything. Nobody is putting in the mind control devices, nobody is holding a gun to your head.

Don't be a dick about it. Most of the time, the people who get the crap work isn't because of any better reason than nobody else wants to do it, and certain people don't complain - so they get the work. Usually all you need to do is complain a little bit and you'll get a more equitable arrangement.

Beyond that, you hold a bit of leverage. If you don't deal with the bugs, there's nothing they can really do but do the bugs themselves (which is what you want) or fire you. Nobody likes firing people. It makes managers look bad, and is a whole lot of paperwork. It costs the company tons of money too.

But it (probably) won't get to that point. Giving you credit for the bugfixes or some tasks in the cool new stuff is a small thing compared to doing the nasty work themselves. People are lazy. People largely avoid confrontation. Exploit that.

share|improve this answer
1  
@JoeStrazzere - absolutely. But a simple "Can't Bob do that? I did the last 4 bugs..." is way better than a "yes, sir" and then building resentfulness until you quit. –  Telastyn Jun 13 at 18:15
    
Yes it is the same thing. The fundamental concept that Telastyn is trying to convey is not the literal phrase "no", it is the idea that you do have personal freedom and you often have more power over what you can choose to do than you may think. –  CaptainCodeman Jun 14 at 0:33
    
There are many bad advices in this post. First, if it's assigned to you, you do have to do it. Second, there's a difference between complaining and bringing a matter to your supervisor. third, purposefully and premeditatively making your supervisor look bad just to change your workload is, at best, a terrible idea, and at worst, going to backfire in your face. Fourth, exploiting your co-workers just seems like it would foster exactly the kind of work environment quality people want to avoid. I truly wish I had the rep to downvote on this site, because this would get one for multiple reasons. –  corsiKa Jun 14 at 2:48
    
@CaptainCodeman No, the message here is "If you don't like it, don't do it." and "If you don't do it, someone else has to. They're unlikely to call you out/fire you for it." This post literally tells you not to be a dick in the second paragraph, and the proceeds to describe actions directly to the contrary in the next paragraph. –  corsiKa Jun 14 at 2:54
    
@corsiKa - I'm sorry if you read it that way. I thought it would be painfully obvious that you shouldn't just stomp your feet and pout like a child, but to negotiate. Maybe I've been using managerspeak for too long but "can't Bob do that?" translates pretty directly to "this is decidedly unfair, and I don't want to do it". The message is that too many people think that their boss is their master who must be obeyed without question. –  Telastyn Jun 14 at 13:22
add comment

Bear in mind that writing code is just getting ready to make money later. Fixing bugs and keeping your code and servers up and running day to day and supporting customers is the actual process of making money. Rest contented that you are saving your company!

It is important to only fix the bugs that everyone agrees impact on your customers and must be fixed. Since fixed bugs easily get forgotten quickly (as people don't like them) keep a record of all the bugs that you fix, plus an estimate the value of fixing them to your company, which is ammunition for your pay review.

Also try to get TDD, regression testing and unit-testing with good coverage to be an enforced part the development process. This will push the responsibility of making sure that cool things do not break other stuff or generate hard to find bugs.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.