Failure: One Block Away from Success

Daniel HerbertDaniel Herbert
4 min read

A month has just been completed in the Alx Africa SE program. Students have just completed major, grit-demanding projects. But my attention today is on the many across cohorts who have just failed these projects and have had to defer to a later cohort. It might not feel like it right now, but this could be the one thing that changes the trajectory of your tech journey for the better.

I failed too...

Three months ago, I attempted the C printf project and failed. Before this project, I had struggled with gaining a full grasp of the usage of pointers, arrays, and strings. As if this was not enough, I had been scared by the tales of the printf project, and confused by different narratives of how I should go about the project. At the end of the day, I was overwhelmed by the project, not knowing how to start or what to do. And then, I turned to code plagiarism.

Thankfully (you will understand why I say so by the end of this post), Julien Barbier had just announced the launch of an indigenous plagiarism checker, Kimba. In the same Twitter space where he made the announcement, Julien had spoken exhaustively on the need to defer if one had not yet properly grasped the concepts for a particular month. I was sure I needed to defer. But Kimba made certain of this, by rightly flagging my code for plagiarism thus, crashing my monthly score.

At the time, I was ashamed that I had turned to copying codes in the first place, and frustrated by this entire ordeal.

The right attitude toward failure

Let's take a step back to my application to join the Alx Africa SE program. I remember that one of the questions asked was "What will you do if you don't make it through the program?" My response to this was that I would continue in my pursuit of becoming a software engineer by reapplying for the same program or trying to get into other programs. Of course, I never thought that it would get to this point. But the question had made me think, and I had given a genuine response. I had burnt bridges to pursue a tech career, and nothing was going to stop me.

So, after failing to meet the monthly score for month 1, I deferred to a later cohort, taking a one-month break before returning to Alx. In that month, I focused on the challenges I knew I had with C (pointers, arrays, and strings). I made connections with people who could help me understand programming logic a lot better, discovered new tools (replit became my best friend), and even went ahead to start Harvard's CS50 Introduction to computer science course on edx, which handles C as the first programming language.

What kept me going?

For me, I had prepared myself for the possibility of failing, as I said earlier, even though I did not expect to fail. I had also taken to heart the words of programmers ahead of me likening the journey of becoming a software engineer to a marathon, as opposed to a sprint. With these, I managed to channel my feeling of inadequacy into my learning, and practice. These didn't make failing feel good, but they kept me hustling.

It's a marathon; it's not a sprint

Moving forward

When I returned to the Alx program, I returned as a better student and programmer. I understood concepts better and could now help my peers understand better as well. I went ahead to redo and perform nicely in the printf project so much so that I could apply to become a learning ambassador for the printf project. I started my blog, and my first technical post was on the same project I had failed the previous month. I just completed the simple shell project as the major project for this month.

Grateful for failure

In hindsight, failing, being flagged by Kimba, and having to defer to a later cohort were, in combination, the best thing that has happened to me in the Alx program. Failing pushed me to master the concepts I struggled with (and I dare say I mastered them). I'm most grateful for having the courage to uphold the right attitude toward failure.

You too can benefit from your failure, with the right attitude. Like Maarten fondly says:

Sometimes, slowing down is the best way to speed up

These words are as much for me as they are for you. For it would be absurd to think that I would not face any more hurdles on this journey. I hope these words encourage us to keep pushing to become the software engineer we have dreamt of being.

Do you have a story of how you turned failure into success? I'd love to hear yours in the comment section too

10
Subscribe to my newsletter

Read articles from Daniel Herbert directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Daniel Herbert
Daniel Herbert

I am a veterinary doctor who left a job at a 5-star veterinary clinic in Lagos, Nigeria, to pursue a dream to become a software engineer. Going through vet school, and practicing for 5 years, I discovered gaps in the education and health sectors in Nigeria, which could be filled through simple tech solutions. My vision is to develop the necessary skills to be able to provide such solutions. I am currently training at ALX Africa to become a full-stack software engineer. Join me on this journey