In 2017, following the completion of my secondary education, I stood at a crossroads. As an aspiring degree student, I was determined to pursue either Computer Science or Electrical Electronic Engineering at the university. My fascination with Computer Science stemmed from its intriguing nature and my curiosity, while the allure of electricals lay in its profound connections to Physics.
During this time, I stumbled upon a local Computer Centre offering programming courses, which piqued my interest. I discussed it with my father, who, after careful investigation, expressed reservations about the quality of education in our region. The uncertainty surrounding the promised curriculum and the financial strain led me to abandon the idea, particularly given my family’s tough financial situation at the time.
For the next three years, I diligently attempted the Unified Tertiary Matriculation Examination (UTME), a mandatory test for university admission in Nigeria. Despite achieving commendable scores, admission remained elusive, leaving me disheartened and discouraged.
Amid these challenges, a persistent flame of passion for technology and programming continued to burn within me. My determination only intensified during these years of waiting. I dreamed of acquiring a laptop to fuel my aspirations, and in 2021, with the support of my aunt, that dream became a reality.
My first semester of year two studies had just begun when the laptop arrived. Armed with this new tool, I embarked on a journey of exploration and learning. In February 2022, I took my first bold step into the world of programming, choosing to learn Python.
The Early Days: Embracing new territory
Before the arrival of my laptop, I delved into Python through my phone, jotting down code snippets in a notebook. It wasn’t the most efficient method, but it was a modest start.
I was introduced to the basics of Python programming through a six-hour video course by Programming with Mosh. The course laid down the fundamental concepts, sparking my enthusiasm to delve deeper. I furthered my learning by enrolling in the paid course and dedicated a month to completing it. This proved both enjoyable and challenging.
With a thirst for more knowledge, I explored the “Python Crash Course” by Eric Matthes, which gave me a deeper understanding of concepts like loops, lists, dictionaries, modules, packages, error handling, and many more. What made the learning enjoyable was that there were lots of challenges to improve my skills.
I complimented my learning with various YouTube tutorials and began creating projects, such as Scrabble, Hangman, Sudoku, rock-paper-scissors, tic-tac-toe, and so on. My curiosity led me to explore the Pygame module, leading to the development of games like Space Invaders, Snake, 2D Transformers, Mario, and Flappy Bird. I learned the majority of these skills particularly those from Clear Code, which were focused on game development.
To further hone my skills, I delved into Data Structures and Algorithms, immersing myself in a 77-video playlist by Amulya’s Academy on YouTube.
The power of perseverance
At that time, my laptop had a weak battery, and so without steady electricity, the power barely lasted.
I had to buy “1000 naira” worth of fuel every day so I could code. Seriously, it was a financial strain on my parents, but they still supported me.
Despite my growing expertise, one challenge persisted — problem-solving. While I had a solid grasp of Python syntax, translating that knowledge into independent project work remained daunting.
Every day was a battle against bugs in my code. I came to understand that as a programmer, confronting and resolving bugs was an inevitable part of the process, irrespective of experience. Armed with Google and the assistance of chatGPT, I steadily overcome these obstacles, learning to leverage the power of rest and a fresh perspective to tackle complex problems.
Embracing continuous learning
In this fast-paced world of tech, if you don’t keep learning you will be left behind with outdated knowledge. To grow in the tech industry, you need to keep learning. You should make learning your hobby.
In my quest for growth, I eagerly explored new tools, navigated documentation, and explored emerging frameworks. The journey through tech is a perpetual one, marked by an unending pursuit of knowledge.
Navigating imposter syndrome
“Imposter syndrome is a psychological occurrence in which people doubt their skills, talents, or accomplishments and have a persistent internalized fear of being exposed as frauds.”(Source: Wikipedia)
I, too, encountered moments of doubt, often spurred by comparing myself to more experienced professionals. However, these feelings were temporary, and I learned to build my confidence by celebrating victories, no matter how small. Each bug resolved, and each project completed served as a testament to my capabilities and contributed to my evolving self-assurance.
The power of networking
Working on your computer all day and watching long tutorials can be tiring. However, we are humans and not robots. Programming has a way of making us socially deprived. We learn but never learn enough, and it feels like we aren’t doing enough.
If you want to walk faster, walk alone. If you want to walk farther, walk together. This is attributed to an African proverb.
I joined LinkedIn to share my programming journey but ended up making friends. I joined tech communities, and now I have tech-savvy pals I can turn to when I face challenges.
The shared journey and collaborative spirit proved invaluable, reminding me that progress is an individual and collective effort.
Someone once told me, “Don’t be scared to build a failed project. You never know until you try.”
Balancing academics, workload, and well-being
Sitting in the same position for hours and staring at the screen is disadvantageous to your health. Our body is built to move, the evidence is in the way it is structured. Being stationary reduces blood flow and the amount of oxygen entering the bloodstream through your lungs. Your brain requires both of these things to remain alert. Bodies are built for motion and not stillness.
The demanding nature of coding, combined with the rigors of academia and consistency on LinkedIn, posed challenges to my physical and mental well-being. Long hours of immobility and unhealthy eating habits threatened my health. It was a lot for me.
Striking a balance between education, programming, and self-care emerged as a difficult task.
There is no perfect solution to managing stress, workload, and self-care. It is about finding strategies that work best for you. And if you are similar to me, where one thing has to suffer, there’s a lot of work ahead.
I was progressing in programming, but my health and academics were suffering. I haven’t found the perfect strategy yet, but I am exploring various time-management techniques.
Regarding my health, I have dedicated time to rest, cooking and napping. I will write more about it some other time.
Lessons learned and insights gained
- Continuous learning is the cornerstone of growth
- Rise to challenges; they are opportunities for development
- Practice is key — embrace projects and problem-solving
- Passion, not solely monetary gain, fuels the enduring commitment
- Build a network, drawing strength from the collective expertise
- Embrace the process of trial and error; learning is iterative
- Prioritize well-being–balance is essential to sustained growth
Encouraging others on their journey
Ensure that your driving force is a passion for problem-solving. If your main motivation is solely financial, you might be inclined to give up prematurely because the field of technology presents significant challenges. If it were simple, everyone would have already mastered it.
Don’t isolate yourself; surround yourself with like-minded individuals who share your interests. Connect with people on social media and become a part of communities consisting of tech-savvy individuals.
When you find yourself stuck, remember that someone else has likely encountered and resolved the same bug. Utilize search engines like Google and resources like Stack Overflow. You’re bound to discover a solution.
Exercise caution when using chatGPT. While it can assist in debugging your code and other tasks, avoid overreliance on it as a learning tool.
Before seeking assistance, exhaust all available options, including debugging, online searches, and utilizing chatGPT. When asking for help, clearly outline your objective, describe the steps you have taken, and others will be better equipped to provide guidance. Sharing code snippets can aid in diagnosing issues, and consider engaging in a brief call with someone to review your code.
Resist the temptation to hastily delve into every new technology and framework. Instead, focus on mastering one area thoroughly before moving on to another.
Always remember to break down complex problems into smaller, more manageable components. This approach improves problem-solving by breaking down challenges into more digestible segments.
In Conclusion
My journey through the realm of technology has been marked by challenges, perseverance, and unwavering passion. As I continue to navigate this dynamic landscape, I am committed to the pursuit of knowledge, the cultivation of relationships, and the holistic pursuit of growth. Just as the pregnant woman’s journey ends in the joy of holding her child, my tech journey is a labor of love yielding moments of triumph and fulfillment.
Top comments (2)
I'm glad you never gave up. Even though our lives are not the same and neither are the obstacles, but we can move forward by helping each other, as you did today by sharing your story of struggles and learning. Please keep evolving, learning and sharing with us if you can.
Goodbye!
Thanks, Robson. This means a lot to me. I will keep learning. I won't give up.