My software engineering journey
Tags: python, womenintech, learning
Published: 2024-06-29 17:10:24

## INTRODUCTION
Dear readers, my name is Doreen Nangira. I am a software engineer and a data lover. Today I am going to talk about my software engineering journey, the challenges I have faced and also the happy moments.

## EDUCATION BACKGROUND
After completing my high school studies, I joined the  Technical University Of Kenya. I got enrolled in a Bachelor Of Science In Information Technology. Wow! I was finally happy that I got to join the university since it had always been my dream since I was a kid. I thought that everything was going to be straightforward like in high school but this was not the case. We immediately started got introduced to units that did not ring a bell to me. Units like object oriented programming, computer architecture and even a simple introduction to computers seemed like Greek to me. Most of my classmates had initially studied computer studies in high school but when it came to me, I was hearing of computer terms for the first time. Simple things like connecting the computer to the power supply or pressing the CPU button were new to me. As a result I really struggled during my first years. To make the matter worse, I got into this course without having a clear picture of what I wanted to be after these. I thought that IT only involved hardware maintenance and networking since these are the things I did during my school attachments. Three years down the line, I realized I did not want to be a computer repair person for the rest of my life. After completed my four years, graduated then went on a journey of self discovery.  I realized I enjoyed interacting with people and therefore ventured into the customer experience field.

## THE BREAKTHROUGH
After being in this field for 5 years, I realized I was not growing. I still loved the job but I wanted something more. I therefore quit my job and started looking for other things that I could do. I wanted something that I would do without getting bored and still have the freedom of doing this thing from anywhere. That is when I stumbled upon Danny Thompson's Linkedin. I went through his story and learnt of how he ventured into software engineering. The more I read about Danny the more I fell in love with software engineering. I started looking for videos on Youtube and stumbled upon Mosh Hamedani's tutorial on Python for beginners. Mosh explained the concepts so well that he made everything seem easy. As I wrote my code along I realized I wanted more of that. That is when I realized that indeed programming in the university was not that hard. I only needed the right foundations. I then realized that this is the thing I wanted to do for the rest of my life. 

## ALX AFRICA PROGRAM
As I was still searching online for more learning resources, I embarked on ALX SOFTWARE ENGINEERING program. This is a one year program that equips one with full stack software engineering skills. It is through ALX that I finally got to understand some of the units we covered while at the university. The projects and tasks in their curriculum ensured that one had the key fundamentals of software engineering. 

## HNG INTERNSHIP
While pursuing my ALX studies, I also stumbled upon HNG internship program. This is a fast paced internship that helps software engineers to put their skills into use. Since I like both software engineering and data science, I enrolled in two of their tracks. I enrolled in the data analytics track and the backend software engineering track. Why did I choose backend track? I chose the backend track because I realized I enjoy working with databases, APIs and creating functionalities than the visual part of the frontend. I realized that when it comes to frontend engineering I usually struggle a lot but with backend things just flow. The same applies to data science or data analytics. When given data, my face just gets a smile. I can work with data the whole night trying to find insights without getting bored. 

## CHALLENGES
One of the major challenges I have faced during my software engineering journey is unstable internet. This has made me lag behind in my ALX journey and even forced me to defer at one point. When it comes to challenging projects, the list is endless. One of my most recent project that I did was coming up with a web crawler in Django. It was a Django project and therefore the web crawler had to be one of the applications. Finding the right tools or modules for this was a challenge. I had to do a lot of research on various web crawling tools out there and find the most suitable for the task at hand. Understanding the difference between web crawling and web scrapping was also a challenge. I had initially done a web scrapping project but this one entailed web crawling. I had to create a group of me and two other fellow Django developers and we worked on a mini web crawling task before I finally embarked on mine. Collaborating with friends made me learn a lot and it made the project look simpler or easier than before. 

## CONCLUSION
Software engineering is a very beautiful and also a wide field. One can decide to be a frontend engineer, backend engineer or even full-stack. In my case, I decided to concentrate on backend engineering first, since I believe that is where my strengths are. My love for  databases, APIs integration and data is just so unbelievable.  You do not have to start big or start with a big project by the way. The secret to starting out is to start small and build more as you go. 

For those who want to check out ALX PROGRAM or HNG internship, you can click on the links below:
ALX
https://www.alxafrica.com/
HNG
https://hng.tech/internship
https://hng.tech/hire