Developer By Default : My Story

So, this is just a common story you hear from most African developers. I started coding when I went to university, just like the majority of us, because of different reasons (mostly lack of resources and ignorance).
I wanted to be a doctor, or at least just do something related to natural science such as pharmacy or biotechnology. Unfortunately, I did not perform so well in my A’ levels and the best offer I got was Information Security and Assurance.
I knew how to use a computer (composing a word document or playing a video with VLC media player) so I guess we can say I was computer literate. What I did not know was the ecosystem of possibilities you can unlock from just entering stuff into your keyboard.
The first language I learned was C. I was taking a course on it in the first semester. C is a complicated language(this is subjective) and is definitely not recommended for beginners. It was very hard to understand how the compiler works and how to structure the code, worse still the syntax. Nevertheless, I enjoyed spending time debugging the code and writing simple mathematical programs.
The next semester we were introduced to Python and I became more open-minded to the idea of taking on software development as a career. Python is a beginner friendly language, very simple and straightforward and requires minimal lines of code compared to C. It wasn’t very hard to master the syntax of Python and adjusting the functionalities of Python programs. I enjoyed learning Python (I still do).
In my experience…
I realized that most girls at my school would be constantly complaining about how coding is hard and how “it is not meant for them”. 5 years ago I never thought I would enjoy playing around with my laptop but now I cry when I read an amazing script or come across a really good algorithm. If you enjoy it, just do it despite what society says.
Do not hesitate to start learning to code, do not think twice about your capabilities. Start with what you have, with minimal resources and no help, start with confusion and pain, but just start.
When I started coding I didn’t understand what I was doing or where I was going. I had no help at all and the worst resources any programmer would ever wish for, but it all came to pass because I decided to keep going.
Coding is a skill and I like to view it as a superpower(I think of myself as Thor with his hammer when I have my laptop) because it makes me happy. So in order to master this superpower, you gotta be in constant contact with it, that means practice. You have to be consistent in what you do. You’ll find out that if you learn syntax today and relax for the rest of the month, the next time you try to write a program it will not come easily to you. So in order to improve at coding, I would put in at least 30minutes of my day into coding and have something new I learn each week. I gotta say, I think that is the hardest part when it comes to coding. Somedays you are just too busy and a week will go by without even realizing you barely opened your interpreter.
Usually when you are a beginner to programming, its difficult to identify the progress you are making. You may practice every day and still feel like you’re on that same spot. Baby step progress is still progress. Do not compare yourself with someone who started writing code when they were 11(which is something I used to do and get myself into depression mode), you started now so run your own race.
Once I decided I wanted to pursue programming, I would learn something new and give myself a pat on the back for mastering that one concept. Learning a tiny aspect every day is what gets you to write a whole application( just like bricks when it comes to building houses). I personally use a sticky note board where I arrange the things I want to learn in a week and make sure by the end of the week I have finished everything.
The best thing about programming(especially in Python) are the communities. I cannot express how much I love being part of a community of people who speak the same language as yours. And it doesn’t matter which level you are on, participating in those communities aids you to learn even more. In my second year in university, I and some friends attended workshops and hackathons almost every week(we never won at any hackathon but we never stopped attending), and it helped us grow each time.
Moving forward…
Choosing a career in the field of technology has always been hard for me, probably because technology is constantly evolving. I read tech news every day and usually, there is a new machinery or automation making big news.
When blockchain and ethereum became really popular, I thought I could be a blockchain developer and started learning solidity. After 2 weeks or less, I dropped learning solidity and started on machine learning but once again I did not continue with it for long.
So practically I have been stagnant for quite a period of time and it was overwhelming to think that I have to make a decision on what I want to do with my life. It all came down to one question. What do I enjoy the most, something that makes me forget to eat? That is when I came to the decision that I wanted to be a security consultant(Eureka!!!).
Being able to manipulate systems is a passion for me and it’s something that will always be there. As technology evolves, I want to be one of the people who come up with ways to protect data and guard systems. It’s a long way until I am able to perform a hack with impact but that is what I am focusing on, enhancing my skills so that I get to where I want to be.
I also mentioned earlier that I enjoy being part of the Python community and that makes me want to do more for it. I want to be able to give back to the community in any way that I can, as from a personal perspective, I understand how much help can mean to someone. That includes helping beginners in Python programming, speaking at Python conferences, offering my Python knowledge through podcasts(and of course on my blog) and so much more. The list is endless, I tell you. The most important factor is to not give myself pressure(because I do get panic attacks when I think I’m not doing enough right now) and to just take everything one day at a time.
If you happen to be at that stage in your life where you have to decide which department you want to focus on, just ask yourself what you enjoy the most, that is worth doing for the rest of your life. This is not a decision that is easy to make, and sometimes you may decide something and end up doing something else due to different reasons(some that are beyond our control). However, we all can gain control of our future by working hard and persevering in the hardest phases.
For those who want to start coding…
I totally understand you if you want to start programming but you have no idea where to start, we have all been there. However, in this era coding just became easier to learn. You don’t have to go to university or college to know how to code. The internet on its own provides a vast amount of free resources to get you started, such as YouTube tutorials, blog articles, and online courses.
Codecademy offers free courses for beginners
Coursera offers free introductory courses from various universities
edX is an open source online learning platform
Udemy offers free programming courses for beginners
Pluralsight has quality courses that you can enroll for
I am not at that point in my life where I have a whole page of achievements that I can share with you all. Having to open up my mind to technology was not easy at first, but now I am more than glad that I did not drop out in my first semester. I didn’t make this decision of studying Cyber Security but persisting on it is the best achievement I can tell you about. I sometimes wonder what I would be doing right now if I didn’t continue on. Now my life is the best it could ever be, I have people supporting me and an endless amount of opportunities waiting to be unleashed.
