What does it really mean to be a great developer? This is a question many young up and coming developers ask senior developers but, they get the usual cliche response:
“Work hard, be patient, learn and understand the ropes, write good codes, etc”
Well these are good and critical to becoming a great developer but, it takes a lot more than writing good codes and working hard to become a great developer
The ideal description of a great developer among great developers is:
This article was written by our in-house senior developer; He brokedown his journey to becoming a highly demanded developer in the tech space:
A lot of developers including myself a while back had this notion that to be the best developer you must know it all and this put a lot of pressure on Individuals, especially for those one’s just starting up. It became so demanding, that they get confused on what language to start firsthand what to continue afterward.
Not knowing that these aforementioned pressures limit you from becoming the best. I will tell a story now about how I started my journey. I always envisioned myself becoming a doctor like every child back then, and this was due to pressure that came with being part of a family of doctors and this changed the very first time we got a computer back in the day. Then my dreams to become the best developer in the world began.
It didn’t take until my university days for this dream to become reality, I wrote a python program and I was so thrilled back in my 2nd year in school. But where to go from there was the main issue, should I continue as a python programmer(backend) or do something more relatable to visuals(frontend). I decided to go into the design and this decision molded my destiny.
You may ask why? Simply put, I saw the world in a different color and I started paying attention to detail and this shaped my entire career and made me appreciate how beautiful the programming language is. I could simply do a design in one of the many design tools I know and generally replicate it with code. This was when it all began to make sense and it grew with time, Mastering and learning different programming styles and dynamics. My story might be different from other success stories, but they all follow 6 guidelines that I will share with you today.
1. Be Responsible:
If you aren’t responsible, you won’t feel the need to take responsibility
for your own work. That’s left to the project manager. They just get the job assigned to them and forget all about it when it gets to close of business. A professional programmer can’t accept this. How would you feel if your bug cost your company millions of Naira? This is a problem of which the solution also depends on management and how the company handles it. Every company should encourage developers to take responsibility for their actions and more importantly for the code they write.
2. Accepting Criticism:
One thing that has shaped me into being a developer is accepting criticism from everyone around me, going back to my closet, and put in the work. Software without bugs is impossible to write and we’re all victims of pushing something stupid into the repository. How we handle criticism says a lot about how we are looked at as developers. Every criticism should be listened to and learned from because that’s what makes you better at what you do, especially if you’re criticized by people who have way more experience than you do.
3. Strong work ethic:
Being a good developer is a non-stop job. Learning doesn’t just last from 9 to 5. Constantly learning, practicing, and improving yourself is an investment in yourself and it’s your responsibility, not your employer’s. Get up early, work a bit late. Use those extra hours to your advantage without sacrificing your health and family.
4. Learn to write good and clean code:
Most young developers use third-party libraries without touching the source code. This is fine, but to understand how that particular library can help, you need to dig in deeper and read its source code, the comments, run the tests (if it has any). Reading code will help you quickly find other developers’ mistakes too because no one man is an island and we are constantly improving.
5. Slow down a bit:
Slowing down means taking a little bit more time on evaluating the problem you’re trying to solve. Being fast is not something you should strive for. Senior developers are lazy and slow, and this is in everybody’s best interest because a good programmer doesn’t want to do the job twice. For a senior developer, writing the actual code takes up a third of his time spent on the task, the rest is thinking of a good solution for the problem. That’s why I always advise every team I have been privileged to be part of to give enough time in the Architectural planning of the application. Because there is a saying “Rome was never built in a day” and that’s why it’s one of the most beautiful spectacles we are privy to see.
Out of everything mentioned today, this is one of the most important. It’s all about communication. I’ve seen projects and companies fall apart because team members couldn’t communicate. Keeping communication simple and concise means you can move faster than others, you can understand your tasks more clearly and this gives you an advantage, so don’t be afraid to ask and to ask specific questions. This goes hand in hand with collaboration. You need to communicate with people around you, Frontend, Backend, DevOps, UI/UX designers, QA testers, BAs, HR, and everyone around you. Communicating with them and hearing their opinion goes a long way in shaping your future to become a great Developer.
Programming is a more social skill than anything else. To be a good programmer, first, you must work on your personality and Then, master the programming principles. You need to constantly improve yourself, to constantly learn, to be one step ahead of the game. To truly achieve professionalism, you need to understand the business and the problem you’re trying to solve with your code. Code is just a side product of the whole solution to the problem and it adds very little to the
big picture. The ideas for solutions, the skills for collaboration, and the mastery of the tools you need to use to solve a problem is the key to becoming a respected professional.
Finally, I wish you luck in your pursuit of becoming a great developer, follow these techniques not by heart, but try and make meaning of it in your own unique way.