My 6 Months ALX Software Engineering Journey

My 6 Months ALX Software Engineering Journey

The program requires a time commitment of 70 hours per week!!! That is 10 hours every day… for 12 whole months. Frightening right?

Introduction

ALX Africa is a leading technology training provider, that is aimed at equipping young Africans with the necessary skills and knowledge needed to excel in the tech industry through technology and professional skills such as Software Engineering, Data Science, Data Analytics, Cloud Engineering and so on. They have a partnership with Mastercard Foundation which offers eligible candidates in Africa access to these programmes training at no cost. Yeah, it's totally free.

The ALX program for me has been a rigorous and intensive program. Over the last 6 months, I have been going through various modules, each focusing on a different aspect of software development from C to Python, MySQL database data Algorithms and Web Infrastructure.

My Application to the Program

I first registered for the ALX Software Engineering Program in February 2022 but due to the unforseen circumstances I was in I couldn't complete my task during the first deadline and I was kicked out of the program because my average score was less than 80%. Yes, that's how strict the program is. In September 2022, I registered again, passed the baseline test and was accepted into Cohort 10 which commenced in October 2022. Here's the acceptance link post I made on LinkedIn.

In the first few weeks of the program, we were motivated to "do hard things" and learn how to map our minds. The program required a time commitment of 70 hours per week!!! That is 10 hours every day… for 12 whole months. It sounds frightening, right? Although I wasn't new to programming this felt like a really big challenge.

The First Trimester

In the first trimester, we were introduced to the use of Emacs, Vim editors and version control tools such as Git/GitHub which is used to manage source code changes. Throughout the first trimester, we were introduced to the C programming language and Linux operating system along with concepts such as variables, loops, pointers, singly linked lists, data structures and functions. Toward the end of this trimester, we were asked to create a team of two people where we built a simple shell which is a command line interface (CLI) program that takes commands from the keyboard and gives them to the operating system to perform.

SIMPLE SHELL CLI

The Second Trimester

In the second trimester, we were introduced to the Python programming language, its basics, the concept of object-oriented programming, error handling and Test Driven Development which included the use of Unittest and DocTest modules. We were also introduced to other concepts in C such as Doubly linked lists, stacks/queues, hash tables, binary trees, big O and sorting Algorithms.

We also learned about the MySQL database management system where we built a simple database system.

We also built an AirBnB clone website which was developed using HTML, CSS, Python and JSON.

AirBnB clone project

The concept of Systems Engineering (TCP/IP and Open Systems Interconnection Model) were also taught in this trimester.

The Unique Aspects of the program

One of the unique aspects of the ALX program is its emphasis on collaborative learning. Students are encouraged to work together in groups and to help each other out when they encounter difficulties. This has helped to foster a sense of community and has been particularly beneficial for those who are new to the tech industry. Most of the major projects we built were all through the effort of teamwork and I've met lots of amazing people through this process.

The program also gives students access to online mentors and webinars to provide guidance and support. These mentors are highly experienced developers who have worked in the industry for several years and can offer valuable insights and advice.

Each week we are given about 2 to 5 projects which involve 3 to more than 20 tasks and most times a first deadline of 24 hours after which your score would be slashed. Meeting up these deadlines and performing my duties at my place of work have been a very big hell of a task and I have to thank my family, friends and Colleagues for understanding why I had to carry my laptop around. Although I have suffered from imposter syndrome, I'm beginning to develop an adaptive mindset and I have understood that no person can know everything, we all have to learn and learning is a constant process. That's why I'm excited to show off my progress over the past 6 months

My 6 months progress

Conclusion

Overall, the ALX program is a challenging but rewarding experience that can help individuals to jumpstart their careers in the tech industry. It requires a significant amount of dedication and hard work, but those who are willing to put in the effort can reap the benefits for years to come.

Finally, I would like to recommend to anyone who has an interest in programming to join the ALX-SWE program and learn to code. The training is free of charge. Here's the link to register https://www.alxafrica.com/software-engineering/

I hope you feel motivated by my article.

Nnenna Miriam Udefi (Author)

Software Engineering student at ALX-SWE