My 6 Golden Rules as a Software Developer• • ☕️ 4 min read
Should I go to the gym this afternoon? Well, my rule says that I go to the gym on Monday-Wednesday-Friday and today is Friday, so I will go!
Here are the 6 most important rules I’ve set related to my career as a Software Developer:
1) Educate myself ways to keep my skills up to date
Nowadays, new technologies, frameworks, tools, and libraries appear continuously. The “must” thing to do is to continue learning and use the trends in your area of specialty as soon as possible. To do this you should adopt a continuous learning mindset and make learning part of your daily routine
Some ways to do this:
- Subscribe to articles and blogs
- Follow Tech Influencers or other great programmers, and communities in social media and join groups
- Check other people’s work: Github is a great resource to do it and another great resource is providing code reviews to your peers
- If you have the opportunity to join conferences, if not subscribe to conferences channels on YouTube and watch the recorded lectures
- Bond with your colleagues and share opinions and experiences (see point 6)
- Always be curious about new ways of seeing and doing things!
2) Never write code that one day you will have to apologize for the bad coding you have used
As a Software Developer, you will always have pressure from the management to finish your tasks, but there is also this other kind of pressure, the “internal” pressure, this feeling that you should finish with your task asap to impress the management and to move on to your next exciting task. Getting code out fast is not the way to impress, quality is more important than speed, you cannot sacrifice quality at the cost of speed.
During my career, I heard many times and even worse I said the phrase “Don’t worry we will refactor it in future”. Don’t use this excuse, It ain’t gonna happen. You will always have another task with higher priority to work on.
3) Reuse, reuse, reuse as much code as possible
If there is in the project’s codebase some code that has similar functionality or is supposed to have similar functionality with the feature that you are creating you MUST reuse it, of course after making the code reusable and after fixing all the bugs you found. Writing a feature from scratch is much more easy, fast and safe than reusing the existing code, but don’t take the easy road, the drawbacks of having the same code twice in your codebase are so many and it’s worth the extra effort.
4) Clean up unused blocks of code / old changelists
We all felt the fear of throwing away something that ourselves or someone else spent time on, but having dead code in your project will never help.
Don’t be afraid to delete code that somebody else submitted, but you discovered that it is not used.
Don’t be afraid to delete changelists that you are not working on anymore.
I can admit that while I was working on PI8 I found a changelist with PI4 content 😱. It was about a feature I was working then, and after I used a different approach to develop it, but I felt that is too much work to just throw it away. And that happened, I deleted this changelist after 4 PIs!!
5) Understand the bigger picture
Use your common sense before developing a feature and see if the requirements make sense for the users. The whole point of developing software is to create apps that solve user’s needs.
6) Put people ahead of processes and tools
Ideally, you are working in a team with other highly motivated individuals. Take advantage of every opportunity presented to you to help them. Even if at the time you are so busy, helping others will allow you to learn something new!
Share knowledge with your team members, and exchange thoughts, experiences, and ideas. The different perspectives of your colleagues will improve your skills and will drive creativity and innovation.
I hope you enjoyed reading this article and could take away something with you. I would really love to hear your opinion on My 6 Golden Rules as a Software Developer.
Please feel free to share this article on any social media channel!