Skip to content

Instantly share code, notes, and snippets.

@lloydjatkinson
Last active September 30, 2022 22:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lloydjatkinson/1a22f616a9281de018a321c0708e8308 to your computer and use it in GitHub Desktop.
Save lloydjatkinson/1a22f616a9281de018a321c0708e8308 to your computer and use it in GitHub Desktop.

Background

I feel incredibly frustrated, demotivated, and totally defeated. I decided to write this down as I needed to vent and I genuinely feel upset at the thought of explaining this whole saga multiple times as a few people have asked. This week at work I found out in a few months time I will be moving to another team within the wider programme that we are all working under.

I will summarise the story to keep it brief and prevent it spanning dozens of pages. I skipped a lot of details, each part of the story in reality could be expanded into several pages of how to absolutely ruin productivity and grind teams out of existence.

I joined this organisation in 2020 just as the pandemic struck with the promise of greenfield development, pushing for creating good quality software, all with a focus on "creating software we can be proud of". In reality the first year and a half was the only time any of these values were actively pursued. With multiple key developers and other people in leadership positions leaving from the middle of 2021 onwards.

Technical debt

At this time a smaller organisation was purchased (I'll call it S for Shit) and effectively merged wholesale into the business. Obviously this meant that none of the developers from that organisation went through any of the interview process and technical skill tests that every other developer in the programme went through when they applied.

As a result a very different software development culture was essentially transplanted into the programme and this caused a culture clash and plenty of other typical corporate problems that went un-checked in part due to the departure of those key people I already mentioned.

  • An executive from S, somehow, was promoted into a very high position allowing them to take the reins of parts of the entire programme - at one point he waited until my teams scrum master, product manager, and product owner were on holiday at the same time to then unleash a load of bullshit requirements he invented out of thin air and tried to radically shift the work our team was working on - it then took a couple of weeks to undo this damage when they returned from holiday
  • A developer from S was, somehow, promoted into an architect position allowing them to take the reins of the programme but from a different angle.
  • Effectively these two from S had teamed up to seemingly cause as much chaos and miscommunication as possible before their required time was up so they could get their final buyout payment

Though the two of them had left there was still the group of developers from S. They continued working on their projects from S:

  • Every solution they had was riddled with pure technical debt
  • Most projects had 0% unit test coverage and still do not to this day
  • One of their "cutting edge" applications was actually a series of iframes
  • The only pattern that can be observed from their projects is "as fast as possible and don't worry about the consequences"

Needless to say no one enjoyed working with any of these projects especially as they became more and more integrated into the overall programme.

My team and the team reshuffle

Again, around this time the team morale had taken a huge hit. The situation improved slightly in the following weeks but we had come to realise that the feature the team had been working on for a year and a half was not understood by the wider business who completely overlooked it and dismissed what a key piece of functionality it would be for the wider programme. This was a very sad time because, we were one of the highest performing teams working on a core platform feature any team could eventually plug into.

Around September 2021 the business killed off this core platform feature. They decided they didn't need it as much, despite still not understanding its purpose. That's ironic because:

  • The business and original architects had identified it as a requirement of the core platform
  • The team gave multiple presentations to execs over the span of several months demonstrating its purpose - I guess they just didn't give a shit.

This caused an already demoralised team to have it's first departures. By January 2021, of the ten original members, only three remained. Sure, a couple of its original members left very early on and some joined later on... but I count everyone as still being original members of the team.

To be clear, our team was often praised for its high throughput, it's dedication to doing things correctly and well, and generally being proud to say we made something. Essentially all the same values that the programme started off in 2020 like I said before.

Because so few remained a new team was formed with the three of us alongside some new hires and a new project. Our original core platform feature is left mostly abandoned and under the domain of another team that is already simply too over-burdened. What a sad fate.

The new project was of course a pointless piece of crap software. One million pounds had been spent outsourcing it's development only for it to be poor quality shoddy code written by alleged "experts". Our task was to make it look different as it looked to similar to a competitors (far superior) product.

This meaningless work went on until September 2022 where we "delivered" it to the customers. It was very unsatisfactory, knowing we could have made a better product if we had made it ourselves instead of spending the best part of half a year fixing up bad code and technical debt that shouldn't have existed in the first place.

The present

I have skipped over many of the details but safe to say the programme started off with high hopes but is now in technical decline. The original visionaries have long since left, any software architects seem incredibly absent and removed from any design or interaction with the teams and instead spend their time dealing with the overwhelming amount of bad decision making, morale is at an all time low, the product side of the business can't agree with itself on anything let alone the developers.

There are now only five developers left from the wave of early 2020 hires. The majority of developers have only worked here for a year or less.

Finally, and what prompted me to write all this down out of sheer frustration and anger, is another team reshuffle is happening. It's not even been a year since the last one and that was damaging enough. Of course, there are certain "favourite" teams that never seen to get reshuffled.

The worst part is that the three of us and the new hires have formed a pretty good team - sure, it's not quite as well formed as the original one but it's not bad at all. We work well together, we like each other, and we know how to function as a team.

But what is the businesses decision now that this "fix up the bad outsourced project" is coming to a close? Move each individual member into totally new or different teams!!! Let me be clear, they have decided to split apart a functioning team after only ~6 months.

This is our reward for managing to actually take a barely functional software product we didn't create and fix it up enough to release?

The best part? I am going to be put in the S team. Yes, the same team that seemingly only creates technical debt.

I am beyond angry - I'm livid. I am absolutely fucking sick of the state of this programme and its leadership. We are fully controlled by product people. There is no one at the technical helm. Our engineering culture is non-existent and has regressed from where it was in 2020 - of all years!

The thought of having to work in S team makes me sick to my stomach. I have been told I am going to be in their team to help them write better software etc. Any interactions I've had with them have been negative. Some of them are toxic and have a bad attitude.

For my hard work (in fact members of both my teams have never been fully appreciated) for the last two and a half years is... go join the fucking S team who's idea of cutting edge is iframes? The same team where one of it's members shit all over my idea (in a public team chat) of starting to use async/await over .then()?

If they kick off over minor syntax suggestions what the fuck am I supposed to do when every day my suggestions will be ignored or ridiculed, and the work I do questioned probably constantly? This is no way for a team to work!

The people you work with make 75% of the job.

End.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment