4

Our company is an IT service provider which develops software for other companies.

4 months ago, I finished my work in one project and was put in a different one. My first impression of the new workplace was that I will not like it, but I thought I will give it a try, making the best out of the situation. Now, 4 months have passed and I don't want to work in this project anymore.

My reasons for this are (most important ones first):

  1. I do not learn anything new here. As a software developer, I fear this will limit my future possibilities. I know that not every company will use the newest, fanciest libraries, frameworks and programming languages - but I also talk about programming concepts and other things like project management. I work as a software developer for two years now, I want to learn and gather experience.
  2. Bad project organisation. Well, there is no organisation at all. It is like there are 20 developers and noone managing them. If I ask our project management what tasks to do next, the need a few days for a decision. Sometimes I spend the whole day trying to find a bug in my code until someone tells me "oh, I changed XYZ, I forgot to tell you that all unit tests need to be adapted!". Needles to say, I am nearly the only one who does unit tests (which also really test something).
  3. The work is boring. It's just copy-paste code for an other use case and make sure it is working. I know, also boring work needs to be done. But there is no challenge for me at all.
  4. No social interactions with colleagues. Yes, not everyone can be everyone's best friend. Except for working reasons, we do not talk to each other. We are not doing any activities together. I think these are crucial for building a good team.

From my company's view, they can put me in project A as well as in project B to get money. But I think there are reasons why they can't just put me out of this project easily:

  • Unfortunately, two guys which were before me in this project left the company after a short time (a few weeks). It makes a bad impression of my company if someone leaves the project again.
  • The project is complicated, so learning it takes some time. A new guy would have to learn all again.

I do not want to leave my company. They gave me a significant pay raise two months ago because of my good work in the last project (they did not give me a raise so they can put me in a bad project), so I suspect they are happy with me and want to keep me in the company.

Beside saying "I do not want to work in this project anymore" with the reasons given above, I thought it would be a good Idea to find an argument which means an advantage for my company. I thought of something like:

I have made a lot of experience with technology X in my last project, which is a technology often needed in the software industry today. I could join a project which uses/needs X. I think I could use my strengths in such a project much better, gaining even more experience in X.

Hm, that does not sound like a great argument.

Note: I do not have an overview of the company's projects, and also not about what people are needed there. However, when they choose this project for me, they told me that it was no easy decision because they could have needed me in many different projects.

Two months ago I had a small talk with my superior about this, saying I do not want to work for a longer period of time in this project. He said it is difficult to change projects here because of the learning time involved to get used to the software developed in this project. We did not talk anymore about this since then (in fact, I see him rarely because I am located at the building where the customer of this project is).

There is no "formal" process how to switch between projects. When one project is over, or someone leaves the project for whatever reasons (e.g. customer wants fewer people), an other project or replacement is searched for.

Which arguments and reasons should I use, and how should I communicate it to my superior?

  • Dumb question: have you spoken to anyone in your company about this yet? Any appeal to get transferred would require you to understand (A) if the transfer is possible within company rules, (B) what consequences (if any) there would be for your manager/team. If it ain't possible within the rules, you would have to ask in a very different manner than if it's okay, but your manager would be left shorthanded. As is, there isn't any good way to answer this. – jmac Jul 26 '13 at 7:14
  • @jmac I had a small talk with my superior about this, I added it at the end of the question. – Uooo Jul 26 '13 at 7:20
  • That doesn't explain how the inter-company transfer system works. Is there a specific time at which employees switch jobs (every April/October, for instance)? Is there an internal job-post system? If someone transfers within the company, does your manager get someone back as a replacement? All your manager said is, "It takes time to learn this job." -- that has little to do with what his concerns are about you changing jobs without knowing the answers to my questions. – jmac Jul 26 '13 at 7:25
  • @jmac I added more information about this in the question. Thanks for the link, I will check it out. – Uooo Jul 26 '13 at 7:32
  • Couldn't you see this as an exercise in how to refactor an existing codebase? – JB King Jul 26 '13 at 14:56
3

Ignore the technologies excuse. There is more to a SW engineer then just learning technologies, especially if you want to grow your career. If that is so important you can study this stuff outside of working hours.

So first try to look at this less like "Abandon ship" and more how can you make the current project stable so that you can move.

You have some clues to his already.

1: ... Well, there is no organisation at all. It is like there are 20 developers and noone managing them. ...

2: ... It's just copy-paste code for an other use case ...

3: ... He said it is difficult to change projects here because of the learning time involved to get used to the software developed in this project ...

So in order to move, you need to make the project easier to slot a new junior engineer into. Based on what you mentioned so far that would require.

  • Clear process documentation.
  • Clear training material.
  • Automation of tedious work.

With that in mind, take each area and detail what are the genuine flaws that need to be addressed (not just stuff that annoys you).

Once you have this you can have two levels to this.

  • Personal level
  • Organisation level

You need to code/build your solution with the organisation in mind, however when using the solution use your personal data/information.

For example: Let's say you create a document system that has fixed structure to address all issues across the product. But for filling out that information, only do your information.

So once you have such a system in place, and everything that is "you" on the project is documented, then demonstrate it to the managers.

So you are showing that you are helping to improve the structure of project A and also you are demonstrating what you are bringing to project B.

This also allows you say that you want to grow your skills on the new project, and also show that you have designed a system that allows someone else to get up to speed faster/replace you on that project.

If you are looking for training material in this area MindTools have a lot of free material to help you plan.

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