Many young people aspire to undertake software engineering. Maybe because it has made the most self-made millionaires and billionaires of our generation or because it seems like a cool job.
Either way software engineering is lucrative and fulfilling especially for people who are passionate about finding the solutions to humanity’s problems. Yet most people don’t really understand what it entails.
So let’s dive into defining this mysterious program. What’s all this fuss about it? Why does it present the most opportunities to youths of our time? Why indeed should you consider undertaking software engineering in Kenya?
What is software engineering?
Software Engineering is the science and art of designing software for computer systems and applications which enable humans to use computers.
Take a look at the computer or phone you’re using to read this article. There are two things you see.
First is the physical parts that you can touch, for instance, the keyboard and screen. That’s called hardware.
Secondly, the programs that are in the device enable you to perfume functions like sending a message, watching a video, etc. That’s referred to as the software.
Thus, the discipline behind the designing of these programs is what’s referred to as software engineering.
What do software engineers do?
Generally, a software engineer uses mathematical analysis and computer principles which are the basis of computer programming to design and develop software for use by any sort of computer.
This wide definition simply points out to the fact that software engineering is very broad, a recipe for numerous multidimensional work opportunities.
Yet all the types of software engineers involved have one thing in common; they create. Some common software they create include:
- Computer games
- Operating systems
- Business applications
- Security software
- Web applications
- Financial systems
Consider a software engineer by the name of Vanessa. On a typical day at work, Vanessa would sit down with a client and discuss.
In the process, she analyzes the client’s challenges, needs, and objectives. She then sits down and begins to design a solution to her client’s issue.
This might involve the use of diagrams and flowcharts as she applies her extensive knowledge of computer systems and software structure while considering the limitations of existing hardware to come up with something.
She creates algorithms that instruct the computer to solve the problems, codes using a programming language she understands and finds fit for the projects, tests to see whether it works at every step, and develops it into a full product.
She presents the software to the client who checks whether it’s working. If satisfactory, Vanessa walks home richer and ready to buy the iPhone 11 she has desired for a long time.
Well, this process doesn’t take a day to finish, and rarely does it take a week. It normally takes months courtesy of the thousands of lines of codes a computer programmer has to write to build a fully functional software.
With a team of other talented programmers, Vanessa can finish the program in less time and discover opportunities she could never have imagined.
Now, here comes the next obvious question
How much does a software engineer earn?
What a software engineer depends on a lot of factors, most importantly, whether they are employed or are entrepreneurs. Employed software engineer earns depending on the company they are working with and the country.
For instance, a software engineer in Kenya in 2020 earns between Ksh 70,000 and Ksh 240,000 per month, and the average starting salary of a software engineer in Kenya is Ksh 45,000. These are just approximations.
Some of the highest-paid software engineers in Kenya work for Andela and Safaricom. Andela Kenya pays its software developers at least Ksh 250,000 per month while Safaricom pays at least Ksh 2,000,000.
Meanwhile, the average salary of a software engineer in the USA is $85,000. That’s over Ksh 720,000 per month.
An entrepreneurial software engineer has no limits to what they can earn. This is based on the fact that computer programmers can create solutions to world problems and in the process build software companies like Facebook Uber, and Amazon.
That’s why many young people want to become software engineers or computer programmers; the unlimited opportunities the industry offers.
Jan Koum and Brian Acton, both software engineers and employees of Yahoo sat down and invented WhatsApp. Later, the software was bought for $19 Billion, that’s over a fifth of Kenya’s GDP. No employer can pay you such an amount
Also, software engineers can work as freelancers in jobs listing websites such as Freelancer and Upwork. The biggest advantage of freelancing is the flexibility of your work schedule.
You can work at any time in any place while doing other things you love. To top it all, you dictate how you want to get paid.
Is it hard to become a software engineer?
Well, this also depends. Are you passionate about computers? Would you mind sitting in front of a laptop for hours writing code? Do you like solving problems?
Software engineering requires not only passion but also dedication. It follows the principle of practice makes perfect, just like any other profession you can think of.
Only after spending hours, days, months, and years voluntarily coding and solving computer problems, will you get the expertise needed to succeed in the tough software industry.
However, if you don’t possess the push from within to sacrifice time, money, and energy to perfect your skills, then becoming a software engineer will be your worst nightmare.
Is being a software engineer boring/stressful?
The hours you have to sit and work are inevitable. So, it might seem boring especially for hyperactive and outgoing people. However, for the relaxed and introverted personalities with a passion for computers, it is the dream job.
Stress is inevitable too because you will be constantly trying to solve problems, writing code that doesn’t work, debugging, and asking your colleges questions to get around issues.
But you know what’s exciting about all this, you are constantly learning, becoming better day by day and your experience becomes less stressful. Why?
Because you can solve complex problems, build better software, and consequently earn much more.
At this moment I might have convinced a few comrades to undertake software engineering in Kenya and change the world. Now, where can you study software engineering in Kenya?
Universities that offer Software Engineering in Kenya
Currently, few universities offer a program in software engineering. They include (links provided):
- Jomo Kenyatta University of Agriculture & Technology
- Egerton University
- Kisii University
- Multimedia University of Kenya
- Muranga University of Technology
- University of Eastern Africa, Baraton
However, most universities and colleges offer programs in computer science which is a more general program with software engineering units in it.
So if you undertake any computer science programs and specialize in software engineering, then you are on the right path to a career in the same.
If not lucky enough, you can start with advanced computer packages that will propel you to a career in software engineering without the need for a bachelor’s degree. Most companies nowadays don’t need them anyway.
Lastly, it’s worth understanding that software engineering skills are one of the most in-demand job skills today and will remain so in future.
Technology is not stopping any soon and the people who will make sure technology works for us are software engineers.