Seven years ago(2010) I was preparing to seat for my KCSE (Kenya Certificate for Secondary Examination) exam as from November 21st, which marks the end of the secondary education in Kenya. After the exam, one is then ushered into the real unforgiving world where they can choose to hustle (do Jua Kali/informal jobs) or continue with their education to college and take a course depending on what they scored in the KSCE exam.
While preparing to do my KCSE exam, I knew for sure that I had to go to college whatever the cost and do an engineering course. Earlier on, we had a career fair day and I zeroed in on a Bachelor's degree in Computer and Electronics. In preparations to me joining the degree course, I had kept several chunks of scrap electronic parts and other items that would have made my on boarding as smooth as possible. Once in a while I used to land myself in an argument with my mum as after trying to build something with my scrap electronic parts, I left other electronic parts scattered all over the house.
The KSCE exam was successful, sadly when the results came back I couldn't join my dream course because my grades were below the cut line. I sought advice from a certain lecturer who advised me to take a Bachelor's degree in Computer Science and hopefully one year later into the course I could easily switch into my engineering degree. The lecturer forgot to tell me that his idea could only work if I was admitted into a university that offered both degrees.
The university selection was done by a government parastatal called JAB now called KUCCPS and I was posted to a college pretty far away from where I initially wanted to school. A few weeks after getting admitted, the reality dawned on me. All I could be able to do in the new college was computer science and I took my time before I fully settled and accepted to do it as a course and a career. I even tried to do an inter-university transfer but was rejected.
In the second year, I came to discovered the feeling of commanding a piece of code to do as instructed. My first piece code was a "Hello World" program in C and it felt like God had delegated to me some of his powers that he used to say, let there be light and there was light. I felt in computer science unlike engineering I was only limited by my imagination. My Procedural Programming lecturer explained during one of his lectures that several years might pass by before a change to the qwerty keyboard is made a standard but a software built in a very short time may transform lives. He basically informed us that a hardware change takes time before its effect can be felt but we had in our hands the power to transform the world with a software change.
With time I learnt by myself how to write code in Java through googling overnight when the noise level was lowest and the WIFI speed was fastest at the college WAPs (Wireless Access Points). I built an application that could help in transferring files since I couldn't afford a quality USB flash disk then. For my final year project, I created a hide and seek game inside a maze.
Building softwares has given me the best of memories and fun times. I have taken almost a full day to debug a piece of code only to find that a semicolon fixed the bug. I felt so great after fixing the bug that I can't trade the feeling with anything. If I never did software development, I am sure I would have had one extra regret in the list of the things I never did on my death bed.
It has been five years since I wrote my first hello world program in C. So far I have no regrets about failing to join an engineering course. Software development has given me a greater purpose to live. The climax of my career is going to be when I build a product that has both software and hardware components of a computer. I am currently proficient in Python and Go. I will be taking a C refresh course soon then venture into hardware programming later on. Once done with this, I will have lived my life to the fullest.