The week itself was not off to a great start, although I knew I had the new job, the paperwork was not yet in so I had to bite my tongue and deal with the immense pile of rubbish that was going on. There was a demo for our first/test client for the application we had been building for the last few months, but thanks to management it was in a such a disgraceful state, had anyone asked I would have disavowed any and all knowledge of it.
The previous Friday our Product Director had walked into the office and called a meeting to announce to us that we would be working the entire weekend as he, the NON developer, had made changes to the code, pushed it into the repo without review and we were all expected to fix the mess he had made in time for the upcoming demo.
Fast Forward back to Monday, I was usually in the office at 7am and esoon after my PD arrived and pulled me aside so that he could chew me out for not having been available to work the weekend, even though he knew I was away, was very displeased by the fact that I had not spent my free time over the preceding few weeks to fix the mistakes and bad choices that he kept making and naturally I was in trouble for not doing his job, apparently as the FE Lead it was also my responsibility along with himself, the PM and BE lead to demand work to be done from members of the BE team.
I firmly believe his life motto is "Countless hours of development and redevelopment can save one from doing any form of planning whatsoever".
Now like all developers, I am not oblivious to the reality that is overtime, but I had a wonderful CEO at a former job who believed there was 1 reason and ONLY 1 reason for a developer needing to work overtime, and that was what he referred to as the 4 P's, Piss Poor Project Planning. While that is an exaggeration and not always true for reality, I have worked in many companies that worked on that principal and all work was planned and buffers were always left as back in the real work "Shit happens". This PD however believed there was no such thing as over time, that work was life were and that writing code 24/7 was "perfectly acceptable and normal".
The demo ran for 4 days, and as the project was in such a disastrous state, the environments had not even been setup as the code was too too unstable to actually deploy, so the demo was run on the development environment against the development DB (no we did not have local copies on our machines), so from 9am till around 2pm, nobody could do any work as any code we wrote inevitably needed testing and any testing would result in writes to the DB which could very well pop up on the demo. That notwithstanding, the demo was still a complete disaster, each day going worse than the previous one.
On the last day of the demo, everyone was in a right foul mood, myself very much included and when the PM walked in and told us just how awful it went I could no longer keep quiet, I had complained before and I was going to do it again, this time it was unfortunately a proper rant and probably not one of my proudest moments and definitely not a professional one. I however went off about how every mistake and the complete disaster of a demo was 100% the PD's fault and NOBODY else's, that the overtime expectation is a disgrace and that I point blank refuse to work it under those conditions and actively encourage my team to do the same. I am sure you can imagine how well that went down.
Let me tell you… Around 6 that evening I got a call from the PD, very disappointed in me, I personally quite enjoyed that call as I said very little other than to tell him he messed up the project and I did not like working with him as he had no idea how to run a project or work with a team. I spent the rest of the 6/7 minute call enjoying listening to him tell me how it was his project and he could do with it what he wanted and then run himself into circles contradicting his own words. I will say the office really enjoyed listening to that and I can only assume he forgot all my calls are recorded as everyone else in the office new.
The next morning, which could only have been some childish attempt to embarrass or belittle me, I am not sure of his motivations, he created a WhatsApp group, which included us as well as the PM and BE lead, in which he instructed me to stand up in front of the office and apologize for what I said, encourage the team to waste there person time on his mistakes and that I am to do the same. The PM would be spending the day at the office to keep an eye on me, report back on my behaviour and my apology, naturally I agreed as I needed to buy time to push my recruiter for that final written offer that would solidify my next job and give me the freedom to safely click send on said resignation letter.
She was very obliging in that regard, I called her around 9am and by 10ish I had the letter I needed, and from there the day was nothing short of amazing. I still did my job, to the best of my abilities, but I did make points of bringing up the 2 developers that had left before, made points about discussing the real reasons they had left as opposed to the fabrications the PD had told everyone, making a strong point of mentioning that the first one had resigned at the end of his first week as the PD had lied to him when offering him the job and backed out on his word near immediately. To save face the PD had begged him to work out his probation period and then told everyone he was off to pursue his photography career. LOL.
The most fun however was waiting until the PM left for her flight back to HO, having not apologised or even hinted at it, the resignation, addressed to the CEO, CFO, PM and PD was already a draft in my mailbox, needing nothing more than a simple click of the send button.
Loving my team, and having worked so hard to protect them from my PD and his constant unnecessary changes that I spent way too much time trying to argue against, it always amazed me that someone truly soo brilliant, to imagine such a groundbreaking product could at the same time run into soo many stupid moments. I thought, that if I have to leave let me at least take one more chance at protecting my team and hopefully give them a better working environment than what they had had to endure, what had driving me to want to leave soo desperately and so reluctantly at the same time.
You can read the full, albeit redacted letter further down, but the gist is that I took the opportunity to highlight to the head just what a state the project was in, as many a time I sat in the office while the PD was on conference calls with business wondering how even though I knew he was sucking every piece of information out of the clear blue sky, he managed to be soo believable at the same time. I highlighted the fact that his changes and refusal to listen to my or any other member of my team's opinions lead to us at that point being 6+ months behind deadline. How that if he had have listened we would have made the initial deadline, and I also highlighted how much work product was lost owing to his changes, work that needed to be removed in a desperate attempt to be ready for a deadline that would have been difficult even with a proper leader in place.
The sad part, and I was truly surprised about that, was the fact that the only person who contacted me regarding my resignation was the reason for my resignation himself. Everything about my resignation was swept under the rug, the company was told I left for a better opportunity, which was true, but they did not know that I expected that seeing as the PD had lied about the previous 2 resigners and even talked badly about them after they left. To make sure the truth came out, I made sure many members of the team received a copy of my resignation so that they may know the truth and some of them even got in touch after the fact to thank me for trying, as fruitless as it ultimately was.
I really wish to see this product succeed but I fear that the only reason it exist is also the reason it will never be ready. You cannot release a product when the only constant is change and the goal is to release a 100% compete product in a day and age where nothing is complete, where an MVP is what you release and you build it further aligning both your goals and the wishes of the clients in a fine balance.
While I know it will happen, I truly hope none of you devs find yourself in such a situation.
The previous attempts are solving the problem:
On the note of having complained before, a few weeks prior we had been flown over to the head office so that we could all work 13+ hour days to try and push this thing through, while he spent the same 13 hour days making changes to the spec, if one could even call it that, and to my dismay, the CEO was away on holiday during the same time and I wished to have a sit down with him and air my grievances as well, he was the only one I had any form of repore with in the HO and he seemed like a guy who gave a damn. Instead we had to air our grievances to others, which included the BE lead, the PM and one of the sales leads as he came up to one of us to ask why we were all in such a bad mood.
Resignation:
Greetings CEO and CFO
When I joined COMPANY_NAME, I was sold on working on a new frontier of REDACTED technology. I'd be building a moonshot, working on an ambitious project with some of the best developers in the REDACTED space. I'd found the one project I thought I could get behind with my full force, and help steer in the direction of greatness, even turning down an opportunity to relocate to Amsterdam.
I have now reached a point where I believe this is no longer the case. My faith in the COMPANY_NAME project and any chance of reasonable success has been completely stifled by the constant changes of scope, increasing scope, rolling deadlines, and extremely poor planning and management which I have witnessed first-hand.
Since October I have been firm on my standpoint – that if the unnecessary changes don't stop, we will not be able to achieve our milestones timeously. My professional opinion was ignored by PD, and has been ignored time and time again since then. I was told I need to stop disagreeing with him, and this for trying to limit the effects of the constant scope creep.
As a result of this, we have missed every single one of our deadlines so far, have had to resort to extreme corner cutting, rushing features, pushing quantity over quality, leading to us creating an unmaintainable mess. I cringe when I think about the number of man-hours that have gone into code which has been completely removed from the project. We have wasted no less than 6 months of development on work that has had to be deleted owing to these changes and the non-existent scope they were built on – work that I tried to prevent, and prevent changes to, even to this day.
Now, our working conditions have shifted from undesirable to intolerable – having to deal with constant changes to scope, our opinions being ignored, and even our ideas and suggestions being belittled, and commitments being made without any input from the developers who need to actually do the work or a spec for said work even existing.
Our estimates have been completely disregarded by management, and replaced with their own ridiculously unrealistic estimates instead. It does not matter in the slightest that we, the technical experts, were hired to build this project and give professionally informed estimates. I can't give a realistic estimate for a feature, and then be told that my estimate is unacceptable.
Had it not been for all this, I am confident that I, along with my team, would not only have been ready, but actually waiting for the March deadline with a fully capable COMPANY_NAME Front End UI, configuration tools included. We would not have had to travel to CITY_NAME and work very tiring 13-hour days while being called lazy and unproductive by our project lead. We would not need to be told (and ludicrously so) that if the latest version of our deadline was missed, it would be nobody's fault but ours.
While you should already know most of this, as these grievances were aired in detail to PM and others while we were there, nothing has changed. If anything, it has become worse. The team morale has been irreparably damaged while our working environment even more tense.
This is no way to run a team, a project, or a company. I will never choose to work for an individual who actively and intentionally works against the team, increasing scope while at the same time expecting large amounts of uncompensated and unappreciated overtime to compensate for the constant unnecessary changes and additions to scope.
Even quite literally on 9am, Friday the DATE (the day the project should have been ready for UAT) at a point where we should have had a code freeze and ONLY focus on fixing bugs, do we get told about considerable changes that had not only been decided on sans discussion, but already been made by PD himself and pushed into the code base.
It is with great sadness that I must let you all know, my time at COMPANY_NAME has come to an end. My Final day of employment will be Tuesday, DATE, during my notice period I will do whatever I can to help make the transition as smooth as possible, and I sincerely wish you the best of luck with the future success of the project, may it one day be everything it was sold as.