I’m a senior SWE and I’ve been tasked to take over a project with a lot of visibility from upper management that half failed due to the incompetence of the previous project leader (that’s exactly what I was told). So I joined the existing team of 4 other people (2 swe + 1 em + 1 pm). I spent the past 3 weeks deeply studying the problem, and basically came to the conclusion that the project failed because too many complex hacks were devised in the design doc to support the high load use cases. In my mind, everything could be handled in a more straightforward way. I amended the original design document and simplified it a lot, while still fully supporting the business use cases. Imagine the approach as this (not this exact use case, just approach): - Use case: “We need to store a lot, a whole lot of data without any transactional requirements and very simple access patterns” - Original design: “Let’s create a system where we take a RDBMS and we create on top a complex sharding layer to distribute the data across multiple independent database instances” - My approach: “Let’s just use a nosql db with good native distributed capabilities, and let’s just throw all the data at it directly, so we don’t have to write almost any custom code and we already have a lot of in house expertise on this particular nosql db. We might face some challenges due to the newer technology and scaling might not be as trivial as it looks on paper, but overall it’s a clear path to simpler execution and whatever problem we’ll hit is less severe than having to write the logic of the previous design” I took this point of view not lightly, after reading a lot of code and talking to a lot of very talented technical people involved in similar projects in the company over the past few weeks. I also crunched a lot of numbers to validate my point. Obviously you can’t 100% be sure until you successfully execute (and this is a many months project), but this is the close I could get. The team was in general positive on this new direction I proposed, and they were kept in the loop the whole time and gave precious feedback. The problem is that they are a little bit passive and they tend to be “yes folks”, so they rarely stand their ground in front of management, especially upper management. The skip level VP, who is the main stakeholder in this project, was clearly concerned about how my new proposal looked and was worried on signing off on a 6 month project in this new direction, and I explained to him the reasoning behind it and my point of view, stating multiple times that I’m absolutely open and happy to have a deeper discussion with him. I just found out this VP set up a meeting tomorrow with all the 4 people working on this project except me. The title of the meeting goes something like “discuss new design spec”. MY new design spec. It’s embarrassing to say the least that I’m not kept in the loop here. I’m trying to understand what I did wrong here. I thought the point they brought me on board was to figure out a path forward. I feel like this is a situation where I’m not going to get out alive. Should I just start leetcoding?
Talk to the VP and ask him why did he setup the meeting without inviting you.
Hi OP, have you tried speaking to the VP/ sharing your concerns? I once set up such a meeting without the person managing the tool. This person had been ma aging it for 2 years. I was a few months in. I explained there was a very simple way to solve a nagging problem with the tool. They refused to buy in; they were taking the word of an expert user who said it wasn’t possible to solve the issue, but for a different context. This person simply wouldn’t entertain a discussion and eventually I set up a meeting without her to explain the solution to key members of the team. Not very proud of what I did, there are far more graceful ways of achieving the end goal of utilizing the tool to the best possible extent. Perhaps some food for thought for you? All the best!
If it is office politics. Common logic will never work, especially with upper management. One way and not the best way to survive is to go with the flow. Btdt. Integrity and ethics are never rewarded in office politics
Yeah, but if I go with the old direction I will basically fail like the previous guy, so I’ll either get fired or more likely take a hit in reputation. This VP basically wants to save ship while keeping the original design, which is not possible in my opinion. But regardless, I don’t understand excluding me from a meeting, I’ve always been very polite and collaborative during meetings.
Leetcode. Startup has that bad of a culture already? Name and shame so your Blind brethren can avoid.
You said the team is not challenging your idea, and are passive "yes floks". The VP might want to hear from them without you being there. I'd see it as a skip level, with you being the skip...
VP being a VP might not have understood the technical details. He wanted to ask and discuss with his old friends who know him well (that he doesn't know much) and not expose himself to you so soon.
Which company is this, rewrite normally takes more than 6 months, you haven’t thought about migration either
There’s no migration, the project never launched since the previous guy failed to deliver. It’s thus a green field project with some code already written but never released. The data will start being collected for the first time once the project ships. Fintech startup on the east coast.