Starting Strong: Competing Globally as an African Developer

Edwin_Magezi.max-800x600
Edwin P. Magezi

Senior Software Engineer & Mentor at Four Lanes 15 Aug 2024

Runners in a Race by Braden Collum on Unsplash

An aspiring or practising developer with a decent amount of ambition wants to compete globally. The rise in popularity of remote work has encouraged employers to explore global markets in their pursuit of talent.

It is an exciting time.

We have seen unprecedented numbers of talents recruited from the developing world to work abroad, contributing to innovative projects from rising Silicon Valley startups to already established giants.

The attraction is clear: cheap, skilled labour. That talent in the developing world needs a little polishing to raise it to global standards is worth the effort, given how affordable it is to employ.

Competing on the global stage requires a lot more effort to stand out. After all, there is no shortage of cheap labour out there.

It is here that our disadvantages shine the most.

You hear stories about twelve-year-old Asian kids learning to code and inventing million-dollar innovations. That is our competition. We are so far behind it is a shock that we dare try to compete.

It is not enough to charge less. Skill counts, and with that, we have our work cut out for us. Our preparation needs to match our ambition, or we won’t be able to compete in the ever-advancing global tech arena.

The Gaps in Early Tech Education

By the time you enrol in a Computer Science or Software Engineering course at university, the assumption is that you have some awareness of where your interest in tech lies. With Computer Science, you can choose one of several available career paths later in your studies. Even then, you should know your preferred path from the onset, which rarely happens.

The average tech-enthusiastic Ugandan starts learning to code in their first Principles of Programming lecture at university. This is a shortcoming in our tech education as a country. High School computer literacy classes focus on teaching the basics like how to use Microsoft Office, stuff that 8-year-olds with similar interests in the developed world scoff at.

To be fair, we don’t have the same resources they do, and many of our bright youth only discover their love for computers during such High School computer literacy classes.

These skills are valuable, but that they should take four years to teach baffles me. It certainly doesn’t do much to cultivate an interest in tech or showcase its capabilities. The basics are spread out way into the elective years, with a good percentage of this knowledge not acquired by most students as they drop the ICT class in favour of other interests.

It’s in the elective years that students are introduced to the absolute basics of web development.

For those with the means, a noticeable interest in computers from your child must be cultivated at an earlier age.

Similarly, our High School curriculums must expand beyond the basics. Just like we have Additional Mathematics for the gifted, we should have more advanced coding classes for our tech-hungry youth.

We’re entering a time where knowledge of the operation and use of AI will be more vital than the search engine was, and yet there’s no mention of the search engine in our High School ICT syllabus.

So, what is the baseline ambition for our tech-enthusiastic youth?

By the time you graduate high school and enrol in university, you should have intermediate proficiency in at least one programming language (ideally one that’s tied to your interests) and have built a few things to show for it.

The Mismatch of Roles, Skills & Salaries

Entry-level roles offer not just a paycheck but training and experience. So do intermediate roles. The best ones provide a wealth of mentoring of life-changing value. Such roles are rare, highly coveted, and sadly scarcely run by Ugandan employers.

There’s a worrying trend in Uganda’s current tech employment ecosystem where the role-to-skill-level mapping has shifted downwards. We now see senior engineers applying for mid-level jobs, and mid-level engineers applying for entry-level jobs. This mismatch leaves junior engineers to fend for themselves.

Salary scales are similarly warped, with senior roles matched to entry-level salaries. Naturally, this is more common in companies with limited means, which speaks to an awareness of the rampant unemployment plaguing the industry.

The coveted, high-paying jobs are few, and there are a lot of us that want them.

Where does this leave recent graduates?

Make Strategic Career Choices

A love for learning nurtures a tech career. The industry advances so fast that anything less risks obsolescence. Many of the skills and knowledge we acquire during our professional careers are self-taught. It’s not just encouraged, it's the norm. And yet many Ugandan tech graduates still expect to get by on their academic documents alone.

It’s a highly competitive field. Aim higher.

A portfolio built during your university years can propel you to a mid-level engineering role where you can learn advanced development techniques, cross-cultural soft skills, and leadership.

The barrier of experience only exists if you think in traditional employment. Get a couple of friends together and start something. Get into freelance work. Contribute to open-source projects. Enrol in an internship. Volunteer. Build a website for a local business. Find a mentor to help direct your path to meet your ambitions. You can do all this and still have a lot of fun building cool stuff.

Prioritise Learning

Money should not be your source of motivation at such an early stage in your career. Take on roles that prioritise learning, where mentorship is inherent in the employee benefits. Avoid roles that have you as the lead engineer. A sure way to stunt your growth is to take on a leadership role in tech too early. Be a sponge, absorbing knowledge from the more experienced until you feel you have no more to learn from them, then move on.

The other kind of evil is roles not grounded in a specific skill set. Today you’re asked to fix a frontend bug, and tomorrow you’re charged with learning Kubernetes to fix a deployment issue. These are firefighter roles where your collective experience doesn’t amount to much in any speciality. A good developer must be grounded and proficient in at least one programming language. It’s better to be a master of one than a novice at many.

Conclusion

Your career trajectory will be decided by what you do in the early days. It pays to know what you want and set goals to reach it. When in doubt, find a mentor and cultivate your interests long enough to settle on a speciality. It’s never too early to start building up your resume. To compete in the global tech arena, one must be ambitious to match.

Edwin_Magezi.max-800x600
Edwin P. Magezi

Senior Software Engineer & Mentor at Four Lanes 15 Aug 2024