Today, the average Software Engineer’s salary in the United States is $103,000/year. There are plenty of opportunities available, and this industry is only growing. This is a good time to evaluate your skills as a Software Developer and make sure you are at a good spot in this market.
In this post, we will look into some of the important tips that will help you improve your programming skills and make you a better developer. Companies are looking to hire the best in the industry and you want to be that person.
1. Keep Learning – Be Language Agnostic
One of the key aspects to becoming a better developer is to accept the fact that there is always more to learn and continue your pursuit to learn. Learning continuously is one of the major lessons to ensure that your skills are updated based on the current trends of the tech industry. Other industries, may not be as rapidly changing as the programming world. Languages are rapidly evolving along with support for newer frameworks and patterns.
If you are a software developer or desire to be one, you cannot pick one language/technology and stick to it for the rest of your life. You have to be a constant learner to survive in this market as a valuable developer that companies want to hire.
Focus on the programming fundamentals that never change. Data Structures are the fundamentals of computer science. Make sure you master them, and understand how they work and how they are implemented. This knowledge will go a long way, and can be used across any language to solve hard problems. It is good to become a specialist, later in your career, but start with being a generalist with a big picture overview of how things work across multiple domains.
Action Item: Devote time to learn in your busy lives. It can be everyday or every week. But make time to learn.
2. Make Time For Side Projects
When we get used to our daily job, we get really good at it over the years and may not be challenged enough. Working on side projects help with situations like that. Side projects are a great way to learn a new technology, language or solve a problem that you are passionate about. When you are working on side projects you have the freedom to shape it from scratch to finish.
If you are unsure where to begin, the good news is that, there are plenty of open source projects that you can contribute to. You can look for projects that interest you on GitHub and make contributions to it. Being a part of open source projects comes with a lot of perks.
Perks of contributing to open source projects
- You get to collaborate with like minded people in the industry across the globe.
- Code reviews and learning from each other.
- Build your open source profile that helps you stand out when applying for jobs.
- Work on what you love.
Tip: You can ask your company for 5-10% time to work on open-source projects, so you can work on cool side-projects during work hours.
3. Keep it simple
Very often, I have come across developers who have a misconception that the more complex the code is, the smarter the developer is. This is absolutely wrong! The point of programming is not to write complex, un-readable code. It is actually quite the opposite.
Your code needs to be clean, simple, readable and maintainable. Even if a newbie developer joins your team, they should be able to pick up your code and start working without being completely lost. This is what makes your code future-proof. Your code cannot be something, that only you can understand and decipher. This not a puzzle or a crypto problem.
Code needs to be simple and readable.
Keep that in mind, when you work on your projects. Don’t over optimize, and try to solve problems that are not in the scope of your project. Make sure you create coding standards for your team and write clean, readable code.
This course on Clean coding and refactoring by Mosh is a great one to learn more about these concepts in depth.
This goes a long way in your career.
4. Test Your Code
Writing tests for your code, is as important as writing code. Tests ensure that your code is of high quality. Developers have been accused of overlooking the aspects of testing. To become a better developer, you have to accept that your code may have flaws, and it needs good amount of tests to validate your code. I love this quote by Henry Ford, that is applicable to Software testing as well.
“Quality means doing it right even when no one is looking.”— Henry Ford
You can be confident about your code, if you have solid tests to back it up.
Make sure you venture out and learn all about the different testing options that are available to you. Unit Testing, Black Box Testing, Integration Testing, UI testing and so on.
The key to becoming a successful software developer is collaboration with other smart and like minded developers in the industry. This can come in various forms. You have plenty of opportunities for great collaboration with other developers.
Start with your team at work
Your team at work is the best place to start. Work well and closely with the other developers in the team. You can’t achieve becoming a better developer while in isolation. Make sure you work well with your team and learn from one another.
Participate in code reviews
Always, get your code reviewed by your teammates. Get a good mix of developers to review your code. A mix of senior and junior developers. The reason I am suggesting this is because, you will notice that senior developers will have more insight into the architecture and the domain, while the newer developers on the team, may know more about some of the latest technologies and ideas that are out there. The more the ideas and suggestions the better it is for you.
Never take the feedback you get on code reviews personally
Instead treat this as an opportunity to sharpen your skills in your journey of becoming a better developer. Ensure that you also take part in reviewing others code. This is also a great learning opportunity for you.
Participate in meetups and conferences
I am a strong proponent of this one. Lately, I have been speaking at several conferences and it has opened up a new world for me. It is a great way to meet awesome people in the developer community that you would have never come across otherwise. Participate in local meetups and conferences.
Action Item: Convince your boss to send you to a few conferences every year
If you can, apply to speak at a conference too.
Conferences are a great way to attend several talks on the latest technologies. Beyond the learning, you also make connections with other developers. You get perspectives from developers across the world, which makes you think outside of your regular day-to-day work. I highly recommend attending local meetups and conferences as a sure shot way to help you attain your goal of becoming a better developer.
I have compiled everything that helps me become a better developer. I hope you enjoyed this post. Please do leave a comment on what helped you become a better developer.
If you liked this post, please share and you can follow me on twitter @AdhithiRavi