Programming. Coding. Careers traditionally associated with characters you’d see in a movie: hugely intelligent, socially isolated, weird. However, the perception that only tech experts and computer science and engineering graduates can code is fast changing. You need not become a full-on tech head to learn programming.
But if you learn programming, it might well change your life. Here are 10 ways in which that could happen:
1. Programming will get you a job
South Africa is experiencing a major shortage of skilled computer science and computer engineering graduates in the workplace. Recent surveys show that some of the highest number of unfilled vacancies in the country are within the IT/computer science/computer engineering fields.
South Africa desperately needs people with the ability to solve problems (the “engineering” mind-set) as well as with knowledge of programming, so specialising in such skills means you’ll have a very high chance of employment. Beyond this, having a coding background opens all sorts of doors for internship and job opportunities at the biggest names in technology, including Google, Amazon and others.
What’s more, beyond being CV material, these positions often come with generous financial incentives (Googlers with <1 year experience earn a converted value of over R90 000 a month!) . So if you’re in the position to have yet to apply for a job, certainly consider this field.
2. Programming can enhance your current job
Even if you don’t currently work in a software development environment, the programming ethos, as well as the practicalities of knowing one or more languages can be invaluable for your current job. In fact, it could just save it: coding skills have become nearly indispensable in almost all major business operations, running the gamut from accounting to project management, to marketing. Imagine your company is outsourcing your department’s function, and several people have to be let go. Having programming skills could mean you don’t get the axe, because your skills go beyond your job description. You could move up even within your own organization, potentially to a job that pays more than your average South African architect, according to a CareerJunction survey comparing skilled software developers to skilled architects.
3. You’ll learn essential problem-solving skills
Now as South Africans, we like to think of ourselves as fairly resourceful, in comparison to other nations. We deal with load-shedding, potholes, slow internet and service delivery protests, amongst other things. As a result, we’ve become quite good at solving problems. What about logical problems, though? Educational psychology studies as far back as 1984 show that if you learn programming, you are likely to enhance problem solving skills.
Solving programming problems encourages you to think logically, as well as ‘decompose’ the problem from an overall idea into smaller chunks. Fixing your dodgy code is also a problem-solving skill-builder; you need to methodically comb through your work to find what’s broken. That sort of methodology meshes well with real-world problem solving; something you’ll notice if you’ve experienced it.
4. Programming can make you “tech-confident”
Certain technical topics can make one nervous, and this is understandable. This comes, in part, due to not understanding the ‘behind-the-scenes’ workings of everyday technological situations. When you learn programming languages, it’s like getting a VIP pass to a singer’s concert; the paradigms expose you to enough (but not all) of the nuts and bolts of the technology. You’ll see a website load all in plaintext at first, before loading completely, and know that was the CSS stylesheet kicking in; or see an application running on a public info terminal and tell it was created with Java or C#; the examples are endless.
5. You can become a specialist
If your impression was that programming was one-dimensional, be prepared to revise that. There are many different ways you can learn programming, ranging from game engines, to web databases, to traditional desktop, even spanning mobile and web apps. All of these are potential avenues to exercise your programming creativity and skill. When you learn programming, you’ll find that all languages have their unique challenges.
6. Learn programming and become famous
Sometimes, the “call someone else to do it for me” attitude is appropriate, but other times, it’s better to get the job done yourself. South African computer science enthusiasts and professionals aren’t out of contention for this; just ask multimillionaire Elon Musk, hailing from Pretoria and the name behind SpaceX, PayPal and Tesla Motors. Or Mark Shuttleworth, South African astronaut, who founded open source organisation Canonical, and security firm Thawte, and whose brainchild operating system, Ubuntu, a Linux distribution, runs on many millions of PCs globally.
Ask Michael Dell (of Dell computers), Steve Jobs (of Apple fame) or Bill Gates (a college dropout that changed the face of personal computing in Microsoft). All these names pioneered their own way, and did things the way they wanted to. More importantly, they were all involved in (pioneering) computer science, engineering and programming, and their approach, coupled with their coding knowledge, make then the technology icons of our generation.
7. You’ll become a creator
This point comes in right where the last one left off. In particular, this brings in the ‘joy of coding’ you might hear a professional developer talking about. Once you achieve the ‘debugging mindset’, the logical reasoning through, in this case, life’s problems, you’ll find it applies to all of your life. That, in fact, is what is referred to as the engineering approach.
As a matter of fact, software development is simply a special form of engineering; rather than building bridges, you’ll create software. These can be apps that support medical staff in hospitals, or help students learn, or people find video content. Projects exactly like this, arose at the fingers of programmers: YouTube, Wikipedia, Google’s GMail. Software is embedded in everything cool in this day and age: speech recognition, driverless cars, VR gaming and more.
8. Learn Programming and your work could be used by millions
This generally applies to those already in a software development environment, but it certainly has bearing on those willing to embrace programming into their current careers. Software development, and computer science and engineering, or even the mindset that comes with programming, offer the opportunity to create something potentially millions of people will use; the open source repository you enjoy working on could build right into the biggest software projects around. (Think specialist like Android, Linux, Microsoft’s OpenCloud, but the examples above are fair game too)
9. You’ll be driving forward SA’s technology industry
Being someone interested in a career in programming, or even doing programming on the side (as discussed) is excellent for the future of South Africa’s technology industry. By your skills development, more skilled developers, engineers and students learning and growing in a South African context means that you’ll be part of the wave of an ecosystem, almost, of people who are excited to build an innovative future for this country. CJICareerJunction Index (CJI) reports as far back as 2011 already showed a trend marking out the great need for software developers and IT related specialists in the country; your skill will be more valuable than you think!
10. Best of all, it’s easier to learn than ever before
A large number of companies and sites already exist where you can foster your newfound desire to program. South African organisations such as Hyperion Development also offer programming training one-on-one, at all levels, for free, online. They are leading the effort to take these quite literally life-changing prospects further out into South Africa to encourage programming at all skill levels for the next, and current, generations.
Convinced yet that programming can do more for you than just turning you into a geek with jargon know-how? Comment with your views on this article in the comments section below, and follow Hyperion Hub developments in the future if you’d like to see more articles like these for the South African market.