How Can the Same Stuff Happen to the Same Software Dev Twice?
When a bad thing happened in my old position, I thought it a one-off and in due course handed in my notice and moved on. The Secret Developer has something to learn and needs to learn it fast to escape a repetitive situation from taking over their life.
“It’s now happening again. I think I know what I have to do but I also think we can all learn something from this situation.”
The Situation
A new face
We can look at the wider situation to which The Secret Developer was exposed the first time they were told a good way to progress would be to ‘delete the project’.
“I once worked on a software project for some time. I really respected the head of my particular technology and was happy to work under them. Sure they didn’t do everything right but understood design patterns and even (gasp) wanted us to implement pure functions as part of our coding process. I joined the company partly on the strength of their leadership.
It will surprise nobody that the people who began the project for this startup moved on at some point. I didn’t have a problem with this as it represented a clear inflection point in my career and new people to learn something from.
Of course, the inevitable happened. They left. Both my head of department and immediate boss were within a couple of months of each other.
In steps our new face into the team”
A rubbish approach
The Secret Developer regards themselves as a competent coder. They didn’t take the idea that their code should be deleted even said in jest well.
“Our new face announces to me that they’d been on Twitter and a ‘friend’ had recommended they delete the project.
To be honest, I hadn’t been working on this particular project for that long, but still, it did not help my morale.
Their approach wasn’t limited to saying that the team’s work was rubbish but that does encapsulate their feelings around the project they saw and the work they needed to do.”
Repetition repetition
So how can the same stuff happen to the same guy twice?
“At my current position, the code isn’t great, honestly.
In my opinion, this is a project that isn’t pushing any boundaries or doing anything too interesting.
Shortly after I joined this company the relevant tech lead left. Because it’s THIS company they left the position open.
When we finally got a candidate for the position, they came in and said, ‘Delete the Project’.”
What we can learn
Considerations When Joining a Company for the Existing Staff
Joining a company on the strength of the individuals who are working there does not seem to be the best strategy since workers are by their nature transient. One might even think about the transitory nature of companies. So, why would The Secret Developer join a company on the strength of the colleagues that he would work with?
“First of all, I was young and naive. I thought it possible that a company would work with me and give me some mentoring. I now know better”
Not interviewing your boss is a red flag
Joining an existing team is a big thing. Is your company allowing the rank and file the opportunity to be part of the recruitment process?
“In all fairness, the first company in this story did allow us to interview the candidate. I did accidentally catch them out with an in-depth question that probably wasn’t fair yet (although that did provide an indication of what would happen).
For the second instance, nobody seemed interested in what most of us thought.”
Have nuance when you join a team
Joining a team is a stressful situation. It needs to be well-managed and consideration made for the existing staff in the context you join.
“If I need to hold my tongue about the rubbish code I see, why doesn’t the management layer need to do the same?”
Transient management
Joining a company means that you are joining a company at a particular moment in time. Things change, and you cannot guarantee that the same management or leadership team will be in place for any particular amount of time.
“Sure things change. But Instability isn’t a good look. Thought of that?”
Conclusion
The Secret Developer ultimately needs to join an organization closely aligned with their values and their quest for technical excellence.
“I know everyone else is happy with the way things happen in my current organization.
That said they are happy with the code quality in the organization. If I were to critique this place, we would need to have a discussion about quality and what that looks like in our projects and processes.”