0

I work as a junior software engineer and I have recently started a new project. The project is being led by an intermediate software engineer and she has set an ambitious vision for the project and it has been split into three main components, with myself being responsible for one component.

The company culture dictates that we should justify our design decisions, and if we are unable to come to a conclusion ourselves the design should be reviewed by a meeting and selected through a majority vote. It also dictates that I'm responsible for the design of the component given to me, so this means that I need to make sure the design is appropriate and that tasks I give to other developers are completed correctly, and on time.

I've been given a limited amount of time to complete the design, and I've ran into a few problems:

  1. She wanted some functionality applied in every use case. There were some gaps in the intermediate software engineers understanding of the specific domain knowledge. It took some effort to communicate this to the engineer because they only accepted it was the case after a formal document was made with input from other engineers who agreed it only could be done in a few use cases, and implementing it only for those few use cases would negatively affect the other use cases of the project.
  2. I proposed some initial designs and everyone aligned on one solution that met all requirements (with the exception of her). She requested I investigate one of alternative options in the document more. To be fair to her, I did not deeply detail the design of this specific alternative solution because it had major issues which conflicted with project requirements which I clearly outlined in the initial document. I ignored her request because everyone else on the team agreed it wasn't a good choice. This caused her to make passive aggressive comments towards me which made me pressured to write a new document with much more significant details about the option she wanted. After writing this document and booking a meeting with more senior engineers, everyone including her agreed it wasn't a viable option. She then thanked me for doing my job, which felt passive aggressive.
  3. She has done the above a few times, even for very small choices that can be trivially changed or choices that are very clearly bad choices and don't require team input. When I disagree with her and try to explain things to her, she gets aggressive and starts accusing me of implementing bad choices or passive aggressively accuses me of not doing a good job. So I end up creating a document for team input, which other team members are starting to complain about because of all of the time consuming meetings I'm requesting they join.
  4. A few days after everyone (including her) aligning on a design choice and a few people starting work on implementing that choice, she messaged me and wanted me to explore another radically different alternative option. I tried to explain to her that this specific option wasn't a good choice, but ended up working over the weekend to put together a document and review it with a team, only for everyone to agree it didn't make sense to do in the first place at all.

I've been trying to mitigate this issue by working long nights and weekends, but I think all of the extra hours I'm working is making me feel frustrated and burned out. I feel like the extra work I'm pulling isn't being appreciated, and it will end up negatively affecting the project as a whole.

I understand that she wants to deliver an amazing project with big promises and that she is ultimately responsible for the project as a whole but I feel like I could do a better job handling the situation. What can I do?

2
  • I am not sure if I understood it completely but if you're responsible for your component, why is that person making you consider different designs? Is it not completely delegated to you? You already justified your design, and everybody expect her agreed to it, why isn't it locked there? Does she hold the final decision on what gets accepted or not? and if so, then what's the point of having you being responsible for the component?
    – Sherry
    Commented Apr 10 at 19:18
  • meant to write except*
    – Sherry
    Commented Apr 10 at 19:32

2 Answers 2

2

Learn how to say "That sounds great; which of my current tasks can be deferred so I have time to work on it?"

Try to get the want list prioritized, with consensus on the priorities. Then work on the highest priority first. If new tasks come in, get them ranked relative to the stuff already there. Remember that priority is the combination if urgency and importance; something important may have lots of time before it's needed, and something that people want yesterday may not be important enough to be working on.

If your group is using a task management system (Jira, Bugzilla, many others) that combined with periodic priority-updating discussions ("planning poker") can be a highly valuable tool, not least in making clear what people are currently working on or planning to tackle next. If they aren't, it may be hard to convince them they should, but it really would help everyone stay focused and productive and realistic. *What I'm already committed to has been estimated to take the next month, see? If you need me to pick that up earlier, I'm going to have to put something down. Which?"

As the Flying Karamazov Brothers put it, "Juggling is in everyone's job description."

0

I think in your situation communication and most important prompt and direct feedback is key.

You should stop working long nights and weekends and start to promptly give feedback to this person, that you do not think to be able to achieve this within a respectable time. Also explain why.

She will then have a couple of choices, either to support you and develop you in how to achieve said tasks within the given time, or come to the conclusion that she is over demanding, or to blame you for incompetence. In case of the latter, you might want to seek a better opportunity elsewhere.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .