I think my career has entered a vicious circle which I would like to exit: I am best at what I hate most. And because I am good at that, I always receive that kind of assignments, and I do them as expected or even better. Which makes me more of an expert and brings me more similar tasks.

My "expertise" is what (I think) every programmer hates: legacy systems. I can very quickly learn systems, and modify them, migrate them, extract web services from them whatever (without breaking them). Never to develop more functionality or to solve interesting or original problems. Just have that work with Java 1.4, or convert it into a rest-full service or support oracle too.

I feel (and I am told) that I am highly regarded and very helpful to my company. But I hate what I do.

What would you do in my place?

29 accepted

Talk to your boss and tell him how you feel. Ask him to slowly migrate to another field (that interests you), otherwise you would burn out and the both of you will come out with a loss.


Yesterday, I was filling my tax form. I hate that. Until I made a mistake, and the number wouldn't nicely sum up anymore. I had then to solve a problem -- I suddenly loved my tax form!

All that to say, that what most engineers like is to solve problems. You then have two directions:

  • Make legacy system your challenge. There is always a challenge and migrating legacy system is an interesting problem to solve. Not the same problem as writing fresh code, but still a problem, which can be extremely complicated, by the way.

    To turn it into something really challenging, go above your initial assignment. Can you devise a methodology for your company, define best-practices, quality control, ... something.

    There is obviously something to do in your company about legacy system migration, given that you have this task frequently. Make it your challenge, and provide a comprehensive solution for it. Discuss with management to widen the horizon about this particular recurring problem of legacy migration.

    I learned to love stuff I never though I would, such as database, testing, etc. as soon as I had a wider responsibility about it.

  • Do something else. If you are really unsatisfying and/or management is not open to any other form of assignment other than "do this", well, you better change your work.


Use your unique expertise and qualifications as leverage to work on the things you really want to do. If your company thinks you're so valuable, then they won't hesitate to keep you happy by letting you work on things that you're good at and which are valuable to the organization.


I have a friend that likes to say,"That is why they call it work". Not helpful I know :)

I would find something that interested me and spend my evenings getting good at it. This comes from personal experience.

Additionally, if you are making good money I would suggest saving every penny you can so that you can afford to take time off if needed during a job change. Nothing holds you back like not being able to pay the bills.


It sounds like you are a master Refactorer!

This is a vital skill for a modern programmer, and can be very rewarding when you see a pile of junk being transformed into a work of art by your own hands.

The time will come when you are given that massively important project that was going hugely wrong and it will be up to you to steer it from the brink of destruction. Songs will be written about how you singlehandedly fought the demons of deliquent coding and saved the project!

Perhaps you could change your perspective. Hone your skill. Learn in detail what makes bad code bad and good code good. This will turn you into a master coder which will serve you very well when you come to writing new code, the opportunity will arise in due course.

Good luck!


Do you know what you like the most? Do you know where you want to be? Those are where I'd start, which is slightly different than going straight to your boss who may ask, "Where do you want to be?" and if you don't have an answer right away, it may not work out so well.


People wish to pay more for what they hate to do theirself. So, you can ask for bigger salary (it's always pleasant).

You can also participate in different communities and take part in development some open source applications.


Take up a hobby to put work in perspective. In this economy, a job that pays the bills is a really good thing. If it's not a wonderful job, go looking for wonderful elsewhere. Like, volunteer to help people who don't have a job at all. That might add some perspective. Or, take up a musical instrument, or build a folly in your back yard.


Talk to your boss and let him know you'd like a chance to be more creative. If you're valuable and your company/boss has any sort of management skills whatsoever, they should realize that you being happy is going to make you more productive. You might want to volunteer to train others in the skills that make you successful, making it easier for them to free you up for other work.


I won't offer any advice but I will tell you a story. Once upon a time there was a woman that hated her work and found it really tedious and boring. Ohters doing the same work, both colleagues and competitors also found this work unchallenging and many of these people found something more interesting to do. Over time there were less and less people with credible experience of this work. Now this woman works 2 days a month for huge sums of money as nobody else can convincingly claim to be experienced enough to warrant the fees.


This might not work if you are an employee in a company, but if you are running your own company, then make your hourly rate so high (for the kind of work you dislike) that less people are willing to pay for it. Then even if you get more that kind of work, at least a better pay can compensate for it and maybe you can feel a bit more happy. :)


If your customers want you to do something you are good at but don't like, use that to negotiate a better situation for yourself: make sure you get more pay and more time off, so that you can afford to do what pleases you and recharge your batteries.

You could include in that time off (whether weeks of leave, or merely reduced working hours) time for work on free software projects that will build up your skills and give you a track record to use when it's finally time to apply for a job in your newly-acquired area of competence.