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.
I scored amean grade of B- a B in English aC+ in maths and and a B+ in geography. am I qualified to pursue a degree in computer science
Hi Willis, I believe you can pursue a degree in computer science but as a parallel student.
Hello ,are the software Engineers of value nowadays
Yes Enock, especially those specializing in technology that will heavily impact the future – Web3.0, blockchain, data science etc
My name is Benson kamau can I qualify for a diploma in software engineering with a C plain
Hey Benson, Yeah i believe you qualify for a diploma with a C-plain
Kindly inform me whether I can qualify for a diploma in software engineering course I’m any college with a mean grade of C-and D in mathematics D _ in English C in kiswahili
Hey Hannah, the minimum requirements for a diploma in most universities and colleges is C-. I’m not sure if there is an institution that accepts less than that. But you can start with a Certificate course then work your way up. You’ll gain more experience and knowledge going through that path.
What are the qualifications for a diploma in software engineering the grades that is
Hi Sasha, a C plain in the required subjects (Maths, Language, Science, Humanity) is necessary.
do a lot people do this course in kenyan universities?
Hey Esther, software engineering gets its fair share of students. However, there’s no elaborate path that software engineers take once they graduate. That’s why you hear statements such as “no employment opportunities”. As a software engineer, you need to specialize on certain coding languages to be marketable.
Can I qualify for a software engineering job after completing a degree in software development
Chriss, yes you can. As long us you have good knowledge in the coding languages used by the specific company you’re applying for a job.
For me to become a software engineering, should I pursue a computer science degree first then specialize in software engineering or should I just pursue a software engineering degree directly
Which one is the best?
Kindly help
I would say software engineering because its more specific. Also…you should choose 2 or 3 complementary programming languages and master them before you graduate. Siku hizi watu wamespecialize ndio wanamake good money.
Hi. I wanted to ask whether you would be kind enough to give me a guide of life of a software engineer after a degree graduation. Starting from looking for a job, whether its easy for one to get a job in a high paying company or whether they are the ones that look for you. Also would you include of how one gets to improve himself to maybe lets say a senior software engineer. Thank you.
We would probably need to sit down and discuss for me to say all that’s in my mind but lemmi summarize for you.
Getting a job as a software engineer graduate is not easy. Let alone getting a job in a top level company
You’re better starting off as a freelance software developer while applying for jobs
Choose one area and focus on it for instance a programming language or a discipline like Android app developing or blockchain coding. Put all your time in one thing, practice, study, do projects, become the best at it.
Join online job platforms and try securing jobs in your area of mastery.
Join codding groups in Facebook, follow software developers in twitter and LinkedIn, read blogs on the same.
The more you expose yourself to these things the more opportunities you’ll spot.
Don’t just sit down and complain. Learn, practice, do projects, network and within a few months you’ll be way ahead.
Thanks for making me understand the background of software engineering,, I really appreciate
But most software engineering jobs advertisements have a degree as a qualification
Is beginning software engineering from a diploma level worth it or its just a waste of time and resources
Hello Stella, it totally depends on how thirsty you are for success in life. Here are two ways to look at it.
You start with a diploma, do your course diligently, but nothing out of class, you pass your exams and proceed to graduate, then go look for a job and realize how hard it is to get a software engineering job in Kenya without a degree. You resolve to go back to school for a degree, study for another 3-4 years, do your exams well and graduate. Then go back out there to look for a job, realize its still tough to get a software engineering job without connection but then you land a job in a totally different industry and have to take it to pay your bills and survive. Then your life just goes out of your control.
The second path; you start your diploma well but as soon as you join your first year, you get intimate with your course, discover some parts of software engineering for instance web designing, app development, blockchain coding or other things. Then while you pursue your course, you spend your free time to learn and master the skill you like eg blockchain. You continue to focus until you graduate. When you go looking for a job as a software engineer, you have this added skill in blockchain coding which makes it easy for you to get a job in a blockchain company. You start earning while young and with only a diploma because of your extra skill. This extra skill also gives you freedom because if employment doesn’t work out well, you can become a freelancer while doing your own things.
Between these two scenarios, you can see the latter portrays passion in what you are doing. I believe software engineering is a great course but only if you are very passionate and can focus on one or two areas and be a master in them. That’s how you can make the best out of that diploma course. Be hungry!
Is beginning software engineering from a diploma level worth it or its just a waste of time and resources
Hello Stella, it totally depends on how thirsty you are for success in life. Here are two ways to look at it.
You start with a diploma, do your course diligently, but nothing out of class, you pass your exams and proceed to graduate, then go look for a job and realize how hard it is to get a software engineering job in Kenya without a degree. You resolve to go back to school for a degree, study for another 3-4 years, do your exams well and graduate. Then go back out there to look for a job, realize its still tough to get a software engineering job without connection but then you land a job in a totally different industry and have to take it to pay your bills and survive. Then your life just goes out of your control.
The second path; you start your diploma well but as soon as you join your first year, you get intimate with your course, discover some parts of software engineering for instance web designing, app development, blockchain coding or other things. Then while you pursue your course, you spend your free time to learn and master the skill you like eg blockchain. You continue to focus until you graduate. When you go looking for a job as a software engineer, you have this added skill in blockchain coding which makes it easy for you to get a job in a blockchain company. You start earning while young and with only a diploma because of your extra skill. This extra skill also gives you freedom because if employment doesn’t work out well, you can become a freelancer while doing your own things.
Between these two scenarios, you can see the latter portrays passion in what you are doing. I believe software engineering is a great course but only if you are very passionate and can focus on one or two areas and be a master in them. That’s how you can make the best out of that diploma course. Be hungry!
thanks for the article,a big help for me since am interested in software engineering .was wondering whether the salary software engineers paid in Kenya is proportional to the work they do.Thanks
Hey Angela, Salary in the software engineering industry is highly dependent on your skills and the company you are working for. Skills dictate your value. If you have great skills, they will manifest in the projects you have undertaken and your output whenever given a software engineering problem. meanwhile, where you get employed to undertake projects highly determines what they are willing to pay you. Companies like Microsoft or Huawei will pay you high as compared to local software companies.
thanks for the article,a big help for me since am interested in software engineering .was wondering whether the salary software engineers paid in Kenya is proportional to the work they do.Thanks
Hey Angela, Salary in the software engineering industry is highly dependent on your skills and the company you are working for. Skills dictate your value. If you have great skills, they will manifest in the projects you have undertaken and your output whenever given a software engineering problem. meanwhile, where you get employed to undertake projects highly determines what they are willing to pay you. Companies like Microsoft or Huawei will pay you high as compared to local software companies.