Siddharth Bhattacharya

@TravelNTech

What to do when assigned uninteresting software engineering projects?

To push-back or just suck it up?

“I wish you had told me you hated the project this bad”

My manager remarked when I told him I was leaving for another team. I really liked my manager, I was proud of working in the team but among other reasons, continuing to work in technical-debt fixing for more than a year while most members of my team were busy launching a promising v1 project, was affecting my happiness. I voiced my concerns but having done it for so long, I knew the area better than others. After a year of seeing opportunities pass by, I decided to make the move thus leading my team to lose a productive employee and myself leaving a team which I felt proud by association.

My story is an example of “sucking-it-up”. Regardless when I saw the question on Quora, most answers seemed to suggest that is the only way. The top answer suggested:

when you are assigned a job that you are not interested in doing, and which you know is still work that needs to be done…
…you do that work to the best of your ability, despite your disinterest.
You are at a job. Part of that job is — in exchange for money — you give them your time, and they spend your time how they see fit.

He has a valid point. However this leads to perpetuation of hierarchy-driven mindset, where being below in the chain of command you shut up and do whatever asked because you’re being paid. Apart from creating a toxic work culture, this viewpoint overlooks your life might comprise more than just this job, and everything you do in your current job gives you valuable skills for a future role. After all, it’s you and only you who are the best career advocate for yourself and if you don’t look after your interests, no one else will.

When I was allocated the project, I had enthusiastically accepted it. I liked my manager, wanted to impress him, fellow team members in the project were awesome. 6 months went by, the project dragged on, scope-creep happened. I was meddling into the deepest layers of legacy code while other v1 projects had started. After voicing my discontent to my manager, he made sure I was taken out. Unfortunately I was one of the few people who knew the area well so they needed to put me back to expedite the project. And there seemed to be no end in the near-term. I was unhappy, but understood his perspective.

No light at the end of the tunnel

The Management Perspective

In technology companies- particularly big ones- there is a lot of thankless, grunt work waiting for some new poor schmuck who doesn’t protest too much to take it up. Some typical examples are tools, build systems, automation which always fails thus failing to catch actual regressions and of course porting code. From the company’s perspective, this is all important work which is increasing the debt and longer left, the harder it gets to fix. It’s understandable that someone needs to do it. So when after management discussions they choose schmucks and you straight out say no, your manager is in a tough spot. It’s in their best interest to get you accept this for the time being to avoid immediate friction, and cycling back to rest of management.

So back to the original question: how should you react when you’re allotted a project which you think is not adding to your skills but as a junior software engineer don’t want to ruffle feathers?

The two main goals of a job are:

  1. To make your manager look good.
  2. Optimize for skill development, and look out for your interests

So even though answer depends on factors such as timing, tenure, personalities my general advice would be a “yes, but…”. Accept the allotment, but let the manager know you don’t want to get stuck in it for too long and let them know your areas of interest. This allows them to save face with the rest of management team and buys them time to ask for alternative resources down the line, while making your goals clear and asserting yourself as someone willing to do unpleasant work in times of need. Based on how good the manager is, and your relationship with them it is their responsibility to match your interests to your work without compromising company’s interests. While communicating this, the things to consider are timing and delivery. Don’t bring it up when your manager is in a bad mood, or this particular project has been source of immediate stress for them. It might also be worth waiting to develop a reputation if you’re super new in the team (< 6 months). However you’re never too new to communicate your interest areas to your manager. Finally speak in a way without seeming like a rabble rouser.

If your manager reacts like Michael Scott, do yourself a favor and leave

There is always a but …

However if you’re in a situation where your manager is not cooperative, gets angry, dismisses your concern or there is no project in the team which excites you the only solution might be to vote with your feet. In tech there are lots of other jobs and it’s not worth suffering through terrible projects for years because some people with authoritarian mindsets believe the person at the bottom of the chain should put up with crap. It’s true there are thankless projects everywhere and at some point in your life you’ve to work in them and if the mere thought of working in an uninteresting project makes you switch, then you’d be switching careers every few months eventually becoming unemployable. However if you’re finding yourself in the middle of a never-ending swamp, the end not being in sight and find essential skills and opportunities slipping away despite voicing your concerns, it might mean making the hard decision to change.

I write more similar content in the technology section of my blog- The Travelling Engineer. Do follow the blog.

More by Siddharth Bhattacharya

Topics of interest

More Related Stories