What Nobody Told You About Being a Great Developer
What I’ve learned from the best and the worst developers I’ve worked with
All the roles I’ve had in these past years as a web developer have taught me something. I have met developers of many different kinds, strong and weak personalities, desirable and undesirable colleagues.
All of them had something to teach me about our job, whether good or bad, and I still learn new things every day.
However, two personalities left a big trace in my professional growth: the worst and the best developer I’ve ever worked with. Both of them were in a higher position than I was in two of my past roles, but not all of them gained my respect.
I will briefly describe them for educational purposes, assigning them camel case nicknames:
Self-taught full-stack web developer of a small creative company, lead of multiple projects and mentor to many other developers.
They read new things every day because they know they must never stop learning and perfecting their skills. They are not at the peak of their career but everybody respects them for two reasons:
- They explain the reasons for their choices to producers and other developers and they accept criticism.
- They will always make sure other developers in the office can intervene on a project in the case they are not available.
Middle-aged IT manager of a small company. They think they have reached the peak of their career for two simple reasons:
- Nobody around them has any sort of dev knowledge, so nothing they say is ever questioned.
- They have created legacy code that is so intricate, They’re the only one who can understand it, which make them fundamental for the survival of the company.
Obviously, I left WorstDev’s company after 6 months, as I tried to improve the tech stack and the communication in the company but hit a wall. After months of struggle on my side, it became clear that the company could not and had no intention to challenge WorstDev’s supremacy.
Sometimes it’s easier to pretend all is fine.
I left Italy and accepted a position in London, where I started to work as a junior front-end under the lead of BestDev. I was provided with the best tools to work, flexible hours, and a steep learning curve.
It hasn’t been easy but BestDev has pushed me to be always better, including me in scoping sessions, showing me how to do things if they were not around. I worked with them for almost two years before taking the risk and looking for new opportunities to prove to myself I could make it.
Now that I work in another company and I’ve gained more expertise, I have created my “Mantra of the Good Developer” to apply every day, which can be summarised in three career-changing points.
1. Make yourself replaceable
You will say: “What? I don’t want to be replaceable! I don’t want to lose my job!”
Yes, I know, and that’s exactly why it’s so important. Would a good company ever fire a lead developer that instructed their teammates about how to handle emergencies? No.
Would it fire a developer that takes care of training their junior colleagues? No. Why?
Because the company can rely on them.
I’ve been in the position of not being able to fix a critical bug because WorstDev was out of office and nobody knew how their code worked, the credentials to access the website’s database, and so on.
They had created a bottleneck, a situation in which every important change had to be made by them and them alone and all the production would stop if by any chance they weren’t in.
When I worked with BestDev, they made sure I knew how to tackle emergencies. They shared their knowledge with me, educating me about how to make the right choices, thus increasing my professional value for the company.
Any employer of sound mind would recognize the key role of such a personality.
2. Help everybody but keep some things to yourself
Helping other developers is the best way to learn. It’s important for you to test your knowledge and consolidate it.
But it is also essential to establish a relationship with your colleagues and gain their respect. You want to be considered as someone who would help if things get nasty and a good mentor for those who have less experience.
That is what BestDev was for me. Whatever question I had, they had an answer for it plus useful resources to allow me to dive deeper.
WorstDev? Never gave me tasks that went beyond my expertise. Never shared knowledge with me.
Nevertheless, helping as much as you can doesn’t mean sharing all of your knowledge.
There are some cases where it’s better to keep very advanced practices to yourself, so that you’ll be able to surprise the higher ranks with your expertise. In other words:
Never let them take you for granted.
I try to read technical articles every day because I want to always know more to show that I’m a professional who’s growing constantly. It’s easy to be a mediocre developer, but it’s difficult to be a good one.
You’ll never get if you never ask
When I got my first job in London, I was so grateful for the opportunity I got that I would have never asked for more. That’s why I didn’t even dream of asking for a good laptop.
In my previous role, worstDev had taken the new laptop that was meant to be my work one and gave me their old one. I had basically acknowledged that in order to gain experience, I had to be treated like I wasn’t worthy of respect.
Until a now good friend, who was my superior when I moved to the UK, told me that I’d never get anything without asking. To that, I replied that I had nothing to prove that I deserved it. I wasn’t an exceptional developer, I just worked hard every day to grow.
He told me something I’ll never forget, something that I will say to you now.
“It’s your right to ask. You show you deserve it with your everyday work and also, if you sell yourself cheap, you will be treated as such.”
Obviously, this doesn’t mean asking for absurd raises or crazy expensive laptops. But it’s important to show that you know your value and what is necessary for you to do a good job.
In some cases, your requests won’t be fulfilled but hey, you’ve got nothing to lose!
An employer that offers you a low wage or bad working tools is an employer who is not showing respect for your skills and by accepting a similar treatment you show lack of self-respect.
I asked for a new laptop and received it in a couple of weeks. I kept doing my best to pay the company back for the trust they had in me and learned that I have to respect myself and ask for respect.
I hope I was able to show you the importance of these three concepts I try to apply every day.
Ever since I started to apply them, I’ve never stopped learning and feeling more and more confident in my capabilities. I hope my experience will help you too in making the best of your skills!