6

For nearly a year now, I'm the lead programmer and architect of a very large and ambitious project in the company I work for.

It is a project that I do not believe in, and working on it is burning me out.

I was completely against the idea from the start, and said that we should stick to small manageable goals, while improving the current line of work. However, it was not my call, so this project started, and I ended up being assigned the lead developer of it due to experience in certain complex domain-bound knowledge that is required to take this off the ground.

Despite my beliefs, I tried my best to do the best possible job for this project; but as this project grows, it just gets more and more clear that this is a bottomless pit. The goals are simply far too ambitious.

However, management is happy about the progress so far, and believes this project would be a huge success. Due to their lack of technical understanding, it's very difficult to explain all the issues to them. Also, they're making promises to clients (our clients are large companies) about features and capabilities this project is supposed to have, pre-selling it as much as possible.

I've probably spent over 200 hours in meetings with management and other developers on the team for this project, explaining issues to the management, but they keep shrugging everything off and pretending to not understand why it's a problem or legitimately don't understand. Other developers also understand the issues and sometimes try to back me up, but give up instantly once they see that it pisses off the bosses, so I end up being the only one who openly/regularly complains.

Those complaints are not baseless. The project has already undergone multiple heavy refactors, due to: management asking for A, me recommending B as an alternative to A due to issues with A, management disregarding my design decision and forcing implementation of A because they think they know better, serious problems eventually arise due to A that even management can understand now that A is implemented, have to switch to B.

This is making me hate my job lately. I love the field, I love working on large projects, I love my team members, but I hate this project - because I do not believe in it. I am 100% sure that it will fail, and that all time spent into developing it would've been better spent on something else. It is constantly going in circles, and I'm forced to implement wrong things because the final call is not mine, but rather, of people with more experience in marketing than in development.

Lately, I'm reluctant to even write a single line of code for this project or discuss any feature plans for it. I find myself just reading posts on stack overflow, or tackling random bugs in legacy software / other projects of this company. Legacy software that other developers are afraid to touch due to how "magical" its code is (read: bad), and yet I find this better than working on that new project.

Is there anything that can be done to improve the situation? At the current rate I feel like my only option is to search for a new job or risk losing mental health.

  • I still want to work for the company, I like the people here
  • I still want to work on large projects, I like to challenge myself and constantly raise the bar
  • The people in management are very confident about their decisions, and no matter how many times we argued and I ended up being right (which was every single time), they still prefer to trust their instincts instead of my recommendations. Other developers aren't as confident at confronting upper management, and I feel on my own here.

[Edit] In response to put on hold -> Questions require a goal that we can address.

I'm not very good at phrasing; The goal: To keep working for the company, without becoming unprofessional / under-performing, under the constraints that:

  1. Having disagreements with the core essence of what I work on hurts performance.
  2. Management/upper Company layers won't change their ways, and their ways cause this disagreements.

closed as off-topic by Masked Man, Michael Grubey, Snow, paparazzo, IDrinkandIKnowThings May 1 '18 at 8:44

This question appears to be off-topic. The users who voted to close gave this specific reason:

If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    "Is there anything that can be done to improve the situation?" - In what way? What goals do you have in mind that you wish to achieve? Most of your post reads mostly like just describing your hardships, if you include such goal(s) we will be able to assist you – DarkCygnus Apr 30 '18 at 23:45
  • 3
    I'm at a loss here which is why I'm asking a question. The problem is as stated in the question: I'm working on something I don't believe in, and it hurts my productivity and professionalism, those are three objectively negative things; I'd like to hear what other experienced stack exchange workplace members who've encountered similar situations have done to negate or solve those issues. – Kylee Apr 30 '18 at 23:50
  • 1
    @Kylee - From your employers viewpoint you working at reduced level is preferable to you not working on the project at all. Is this something you can tough out? If not then you already have your answer. – IDrinkandIKnowThings May 1 '18 at 8:46
  • 1
    This is sounds like a mirror image of what my product is going through. You're not the only one going through a sh*itstorm! I've decided to leave mine. It doesn't sound like a management team that doesn't value your point of view considering your position, is worth your time one bit. It sounds like you just need to weigh up which is more important to you: a) the company, the people, the project size, b) actually enjoying what you are working on – fey May 1 '18 at 9:45
  • I'm with Louise, time to develop an exit strategy, unless you want to continue in this Dilbert-esque existence for an indeterminate amount of time. – Norm May 1 '18 at 20:19
10

I feel your pain, but you need to put some distance between you and your work

You work for someone else. It matters to them whether the code they're paying you to build will work, but what should matter to you is whether the time and effort spent is worth the money you are paid. It is not your company, it is not your profit if it works.

Your responsibility is to provide the best information you can, and then implement what they decide

Management often makes mistakes in deciding what to do. But they are paid to be responsible for those decisions. The best you can do is point out the problems you can foresee, and your misgivings about a particular approach (ideally with reference to decent abstract frameworks like GoF), making sure there is some record in writing that you did so, and then accept whatever decision they do make. Otherwise you risk adding time spent arguing and bad vibes to the situation.

If you hide from the project, you are not doing your job

They don't pay you to play executioner to their projects, they pay you to press buttons and make the lights blink. If the horse won't go down the road to the asylum, they just shoot that one and get another horse. Don't be that horse.

Reframe your activities in terms of what they deliver you

Take a minute to write down what you want to get out of your job (and yes, money is one of the things), and what you are currently not getting. Acknowledge where you have opportunities to learn domain knowledge or wisdom from team members, and any niceties of working there.

Try to find a path from where you are now to the sunlit uplands you are wishing for; maybe you need more time to learn code architecture skills, so you try to find a way to fit that into your week or your plan. Your current job is just one part of the puzzle, one object in the frame. There are others, there will be other opportunities, there will be other projects.

Do the work, even if it will end in the project failing

Better that the project fails because of the things you warned of, than that it fails because you stopped trying. Don't sacrifice your private life for it; I would only go those extra miles for inspiring or career-developing projects. Instead, just be a bit more cold and grit your teeth. You're paid to do this, and you are still taking that cheque, so let's get it done with.

Spock put his best into a ship filled with emotional humans who made bad decisions, because he was committed to seeing it through

Raise your concerns, simply and logically, but if they want to go straight through the asteroid belt, that's on them.

Be more Spock.

  • I agree with this answer. Work isn't all or nothing. Seems like @Kylee you like allot of aspects of your work and you are pretty lucky in that regard. Just do your best. – Snickers3192 May 1 '18 at 1:16
  • @Snickers3192: The attachment to the project, and the need to embody your work is understandable, but it's mismatched with the situation here. Kylee is being paid, not sharing the profits. – Phil H May 1 '18 at 1:33
  • I agree, you can't be too attached to your work it will lead to disenchantment and dissatisfaction when these situations arrive, still easier said than done if you are passionate about your kraft. – Snickers3192 May 1 '18 at 1:48
  • I disagree. If you're working on something you hate, you hate your work. For many people, that is there lot in life; they do a job they hate and in return get paid money. Techies are maybe luckier, in that often we can do work we actually like. Given the choice, I think OP should look elsewhere and find something that fits him. – Joe Stevens May 1 '18 at 13:03
  • @JoeStevens: Sure, moving is always an option. But this is just one project, and in most jobs you find yourself disagreeing with the decisions made by management. Either you quit every time that happens or you change your attitude. I'm not saying he has to give up on enjoying his work, just that his attitude is not going to work for him in the long term. He needs to see the job in terms of what it gives him, so that he can cope when the projects are not ideal, even if he's working somewhere else when that happens. – Phil H May 1 '18 at 13:19
3

Is there anything that can be done to improve the situation?

Here are some things you could do (should be doing) to shield you from any negative consequence this may have:

  1. Document all your suggestions and worries. It is recommended to "leave a paper trail" (emails, company's IM, etc.) where you specify your worries and/or suggestions about this situation. This way, if this fails you will minimize the harm the fallout could have on you.

  2. Keep it professional. Yes, sometimes we get tasks that we may not love doing, but part of being a professional is to approach all tasks and assignments in an objective manner. This surely is easier said than done, but is something we all should learn eventually on our career. Thus, I suggest you "suck it up" for a while when working on that assignment. You can also alternate the tasks you are working on, so you get a chance to do other tasks you do like and avoid a fast burnout.

  3. Try a more formal approach to raise your concerns. Besides leaving the paper trail, perhaps your arguments and suggestions have not been considered much because of lack of impact they may have (justifying your claims may be more difficult when defending them live, during a meeting). I suggest you lay down your worries and suggestion on written/visual form, while including relevant information and statistics that could back up your arguments. This way you will have a more solid course of action, which you can then bring to your manager for consideration (a one-on-one meeting perhaps) with higher chances of being taken more seriously.

  4. Brace yourself until the end. Even if this project fails, I suggest you keep up your good work until that happens. If you do as suggested in the previous points you will be covered in case this project fails, and get better chances of having a positive impact with your improved suggestions.

As a side note, it would be wise to update your CV and look for some job options just in case this situations keeps worsening and you see no other way out.

  • Agree with this in general, although pressing your point with the assistance of information and statistics seems unlikely to work if management are as determined as they sound. – Phil H May 2 '18 at 7:06
2

Eventually management is going to have a meeting wherein they finally realize that they have been pursuing the wrong course.

On that day, they will emphatically NOT say, "We have poured a mountain of time and money down the drain and got nothing for it. Our ignorance and blindness has cost us dearly. We must be more realistic."

They will say, "We have given Kylee a mountain of time and money and got nothing for it. Kylee's ignorance and blindness has cost us dearly. We must fire Kylee without a reference."

I think that no matter how much you still want to work for the company and no matter how much you like the people there and no matter how much you love your fellow team members, you must face up to the fact that in about a year you will no longer be working there.

Start thinking about how you want this chapter of your life to end.

  • It doesn't have to be quite so black and white. If Kylee has managed to communicate previously any misgivings in writing, then there is a chance to point to those. If management is genuinely this stupid, then it would be better to move to another company anyway. If that is really what is likely to happen, then it would be better to jump now, before the iceberg hits, not wait for the screaming. – Phil H May 1 '18 at 0:05
0

It is a project that I do not believe in, and working on it is burning me out.

This is the first problem - I'm not saying you should believe in the project, instead I'm saying that whether you "believe" in it or not is irrelevant. You're an employee of a business not an acolyte of a religious order. By putting so much emotional weight on to your work you are not only feeling each setback harder than necessary but you are also getting in your own way and almost certainly being detrimental your own work performance:

I am 100% sure that it will fail

I obviously can't speak to the ins and outs of the specific project but I can say that this sort of attitude is almost always a self-fulfilling prophecy.

Lately, I'm reluctant to even write a single line of code for this project or discuss any feature plans for it.

See what I mean about self-fulfilling prophecies? You are convinced this project will fail and I'm pretty sure that having the lead developer/architect refusing to do any work on a project is pretty much an express ticket to failure. No matter how slim the chances of success for the project are on it's own merits you are reducing them even further.

Look, I realize that I'm probably coming across quite harshly here and believe me I do have plenty of sympathy for you but you aren't going to be able to wave a magic wand and change the way that management are going about this project and I'm not trying to depress you here but this is going to be something you will likely face time and again in your career, whether you stay at this job or go elsewhere. Nothing you have described sounds massively out of the ordinary to me.

So what can you do? Well you might not be able to change how the company is approaching this project but you can change how you are approaching it. You say:

I like to challenge myself and constantly raise the bar

Well if that's true there's a challenge for you right in front of you - challenge yourself to detach yourself from the outcome of the project and any notions of belief while still giving it your best professional work. I'm not saying it's an easy thing to do.. but if it were it wouldn't be a challenge would it?

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