The Nuts and Bolts Of A Successful Career In Software Development
Africa is the fastest-growing continent for developers globally according to a report by Quartz done in 2019. As the tech ecosystem continues to grow in Africa we are seeing tech hubs continue to sprout across the continent and an increased interest to pursue careers in tech among the younger population. For most software developers that are just starting out their careers, the big question is how to grow in such a competitive market. I recently had the opportunity to attend one of the webinars hosted by Moringa School and learned a lot about what it takes to make it as a Software Developer in the current job market. Here are some of the tips that were shared by the panelists during the webinar.
- Learning Agility
One of the most important tips shared by Maureen Njuguna, Senior People Director at Andela is that a developer should always be ready to learn from others especially when starting out in their career. Employers are always looking for someone who is constantly on the lookout for new experiences to learn from. People who are learning agile thrive on complex problems and challenges and enjoy making sense out of different experiences they encounter.
2. Be a team player
Most developers are known for their tendency to always work on tasks alone but as you start climbing the corporate ladder it is important to embrace working teams as this improves efficiency and innovation when working on projects. Brian Lusina, Engineering Lead at I&M bank mentioned that one of the biggest mistakes you can make as a software developer is growing your technical skills exclusively without having a general understanding of how the business works. It is important for developers to engage with team members from the product specialists, project managers, and business analysts to have a 360-degree view of the business.
3. Problem-solving skills
According to Sam Kitonyi, Director of Engineering at Jumo World the most valuable asset in the Software Development industry is the synthesis of programming skill and the deep context in the business problem domain in one skull. This means that programming skill in the absence of business domain knowledge is becoming increasingly useless. One needs to be able to actually solve the customer problem by creating a product that actually fits their needs. The hard part of Software Development isn’t the technology, it’s building the wrong product. A lot of young developers find themselves in this predicament. That’s why problem-solving is probably the most critical skill you need to have to grow in this industry.
4. Contribution to Open Source Projects.
Being a regular open-source contributor enables you to see what other people are working on and allows you to adopt best practices in the industry. Being part of an open-source community means being part of a group of people that can share their experience, and advice best practices and ideas. It’s also the best way to get to know a particular technology at a much deeper level.
5. Embrace Project-Based Learning
The more projects you work on the more you will be able to improve on your problem solving, communication, and critical thinking skills. You should read up on the technologies that you intend to learn and know your stack well. Every time you learn a different language or framework you should be able to test it out in your everyday projects.
Bringing it all together
In conclusion, in order to become a senior developer, you need the right balance between technical competence and soft skills. According to Brandon Hays, the conjoined triangles of senior-level development are connectedness, technical capability, and leadership. In order to build your technical expertise, you need to have a balance between curiosity, discipline, and problem-solving skills. For connectedness, you need to be able to give back to the community by mentoring other developers and building relationships with others in your industry. Lastly, to become a leader in your field you must take ownership of your projects and communicate effectively with all your stakeholders. Having the right balance of these three aspects is what you need to move from a junior level developer to mid to senior-level development.