Giving up is never an option

Winnie Rotich
4 min readAug 20, 2018

I recently encountered a quite challenging learning experience whereby I was required to implement a concept I wasn’t quite acquainted with after I decided to pursue a career in Software Development. Being one of the candidates in the Andela Fellowship program, we were tasked with completing a series of challenges as part of the recruitment process. There is one of the challenges whereby I was required to setup API Endpoints using Flask (a Python Microframework) while following a Test Driven Development approach.

Well, the terms alone can just put you off if you are a newbie in the software development field. Having to fully understand what API Endpoints really are and how to set up one was a true roller coaster. Furthermore, having to implement the whole challenge following the test-driven development approach was another uphill to climb since I had no prior experiences in software development. Generally, the major challenges I was facing is learning the Test Driven Development approach and what API endpoints are and how to implement them using Flask within a span of one week.

First, I had to acknowledge the fact that the concepts were new to me and therefore it is an opportunity for me to learn. Two, I had to set up goals and strategies for achieving them since the deadline was quite strict. Learning the three concepts and implementing them as a whole required tenacity and self-motivation. I remember a day during the same week where I had learned TDD and I was confident that I could comfortably write a test case for a simple application. In the first attempt to solve the problem at hand, all my test cases were failing and the code wasn’t working. This was a good progress since I had something I could say I have learned, but then refactoring the code took longer time than I had anticipated and the deadline was approaching.

Before the deadline, some of my peers had already completed the whole challenge. Normally, in a competitive environment, you would tend to feel defeated but rather that was a point whereby I got motivated the more to keep pushing on. I kept reminding myself that if they did it and actually their API endpoints are working, then mine will also work. Having other people who had already done it helped a lot since I found a point of reference: I could ask them to elaborate on the areas that were a bit difficult to grasp. Moreover, their criticism came in handy since they could point out some mistakes in my code and I was able to learn from their feedback.

After a comprehensive learning of the three concepts, I was able to write my first working API endpoints using Flask and also implement TDD. The process of learning stretched me to limits I never knew I could reach. From that experience, I learned concepts I never thought I would learn and I am motivated to take up more challenges regardless of how new the concepts may be. I learned to appreciate the progressive learning no matter how small it may be. It is always important to hold on even if it means you must learn on the job and spend several sleepless nights on research about the same.

Generally, I may say learning experiences are part of an individual’s day to day lifestyle although, for other people learning may not be as natural as such. However, challenges are what makes us grow and without any challenge in your life, you may consider yourself a non-progressive person: its either you know everything, which is probably impossible and a lie or you are an ignorant individual.

--

--

Winnie Rotich

I am a Ruby/Ruby on Rails Engineer who enjoys teamwork with personable and dedicated nature and accustomed to working with cross-cultural global teams.