
Illustration by Ian Mikraz
A good development environment is likely much more about soft-skills than anything else
I do want to prefix this by saying this isn't the only thing needed, you do need to be a great developer in your own right, i.e. being able to code via the tools you use
As I grow up, I am starting to realize something very very important about software more, it's the one thing that every good developer repeats time and again
All software is broken, if someone tells you they've written 100% bug free code or 100% secure code - it probably isn't true
A you realistically will have to learn to accept that, I mean don't get me wrong, there are definitely codebases with excellent (or beyond excellent) code quality
Realistically though, you are likely to work with codebases that are written, wherein the devs are in a pressure to deliver rather than carefully think about the impact of their code
People higher up that ladder feel a chain of pressure to deliver to VCs or Stockholders, VCs feel pressure to deliver from investors
I have met excellent developers (who wrote really good code) that nobody wanted to work with, because they had outbursts to other people – ultimately driving down overall productivity
Developers that wrote code that was unmaintainable on the longer run, appeared to give 10x the output, without understanding or accepting the concerns of other people on how to integrate their code with the rest of the codebase in a safe manner – creating long term tech-debt
But I have also found developers that, come to a degree of acceptance to this, and try to change the system via listening and genuinely caring for others – with deeply taking their time to understand the codebase, understanding the long term impact of who they are impacting and working with – and when their teammates bring up concerns of "Hey this doesn't make sense to me" - taking their time to go on a call and explain, with the most meticulous amount of patience – like that of a high school teacher explaining the same thing over and over again, until someone else gets it
I have found these developers to be pillars to everyone else in the team, often not strongly recognized by leadership - because they often won't give the shouty statistics, they might not be able to present big numbers or say they contributed to single handedly rewriting the codebase in rust, or have 10x the productivity in terms of lines of code
But at the end of the day, I think they'll be recognized via their peers as being great developers, and they will be the people that everyone else leans on on the longer run – when things are ultimately needed
In the end – I think this is the core difference between being a good developer and appearing as a good developer
xoxo - appreciate you