On 12th Nov 2022, I was at js.talks(). Radoslav Stankov from Product Hunt gave a talk about being an effective JS Dev. One of his examples was with some of his fellow developers that had a special relationship with unit tests.
They were reading a lot about unit testing and were very interested in the topic, but are still afraid of writing any tests in their projects.
This story got me thinking about how common it is for experienced developers to self-sabotage themselves by the perfectionist within.
We tend to put the highest quality standard for ourselves, and the code we wrote two days ago is not good enough. Or we avoid starting something new because we’ll suck at it.
When it seems that we’ll be better off if we could become just a bit sloppier and a bit more tolerant of our mistakes and pitfalls.
A few hours after the mentioned conference, I saw a tweet by Dan Abramov on how invaluable he finds aspiring developers with great attention to detail. And how these are the people one is willing to delegate to because they will always assure that the job is done well before delivering it to you or the client.
Expanding, it seems that being a perfectionist is the one thing that got us here in the first place. This is the drive to get better at the thing you try.
I think the ideal curve one would follow will look something like this:
A junior dev does not yet know how many things one needs to master in order to deliver stable software.
As we gain experience, we learn how big the ocean of tech ideas is – OOP, FP, Frameworks, CSS, tailwind, CI/CD, Containers, Kubernetes, CAP, microservices, and many more.
The more experienced we get, the more we need to control our strive for perfection. If not, we’ll never deliver anything or anything on time, we’ll never delegate, and we’d never try new things.
My advice for you is to start as a perfectionist in the new areas, but as you spend more years, try to loosen up a bit.
Being a perfectionist is crucial when starting. Sticking to this strategy forever will do you more harm as you become more experienced.