My Technology Autobiography

Photo by Ryan Byrne on Unsplash

My Technology Autobiography

What do you have in your hands?

ยท

9 min read

In The Beginning

I always tell my friends that I wasted my childhood. While my classmates were having fun, this 8-year-old me would go to the library to read about the UNIX operating system, computer networks and BASH. I didn't know what I was getting myself into; I only wanted to feed my curiosity. Blue is my favourite colour, so you can't blame me ๐Ÿฅฒ.

When Imagination Takes Over

The first smartphone I came into contact with was my mom's Samsung Chat 222 Plus. Those days the best internet connection was G ๐Ÿ˜‚. I was fascinated by this 'thing'. I wondered, "How was this made? I want to build one". I asked a lot of questions, but I didn't get the answers I was looking for.

Samsung Chat 222 Plus:

https://files.gsmchoice.com/phones/samsung-chat-222-dual-sim/samsung-chat-222-dual-sim-01.jpg

Instead of paying attention in class, I used to think, "How?". I did not know about the internet until my teacher gave us an assignment and required us to research at a cafe. After that experience, Google became my best friend. I was in this world of possibilities, and I perceived the internet to be a bank of information where the only thing that hindered me from withdrawing was my imagination.

The search began... I learned about the two main categories of technology: software and hardware. I realised I needed to learn hardware to build a phone like Samsung's Chat 222 Plus. However, this was impossible since getting the parts I needed to explore and experiment was challenging. I experienced my first heartbreak. I couldn't eat for a few days. I was devasted.

What Do You Have In Your Hands?

I didn't only 'waste' my childhood on technology and science; I am also a Christian who spent most of my days in the church. I finished reading the entire Bible when I was eight and started preaching to congregations when I was twelve. There was a time I was studying to teach, and I came across the story of Moses, where he was making excuses as to why he could not do what God was instructing him to do. God asked him a question that got my attention, "What do you have in your hands?". I asked myself, "What do I have in my hands to work towards where I want to be?" My mom's phone was present, and I had a pen, a paper, and a library at school. Since I could not pursue my hardware dreams, I chose to explore the software world. Besides, the only thing I needed was imagination.

My primary content was mostly from articles, research papers and the library. Then the eureka moment happened when I stumbled upon the term "software engineering" - it was love at first sight. I knew this was the path I was going to take.

Pictures of my books; the front covers:

I'll save my cybersecurity digression for another article. I strayed from software engineering and hacked a few systems for fun. No one got hurt, though ๐Ÿฅฒ.

Sololearn & Me

The first language I wrote code in was HTML (in 2017). At this time, I got a Lenovo tablet to study with. The primary content was from Sololearn. I had no laptop to practice with, so I used pen and paper. I would write full websites with HTML in my book. Those days, I used a ruler to measure the pixels and get a good outline of what I was trying to build. I also practised some Sololearn challenges to grasp the fundamentals well.

A Happy Accident ๐Ÿ™‚

Whenever I get a hold of a new device, I go through every setting. During my exploration, I noticed something that felt familiar on Android. I saw open-source licenses with GNU Linux. I was curious to find out the relationship Android had with Linux. It was a happy accident. Android is built on top of the Linux kernel. My little brain said, "If I was created from something, then I have the features of the materials that made me. So, if Linux can do something, Android can also do the same". From that moment, my journey into Linux began.

I started reading about Linux and its uses, and I loved it. I realised a pattern with the Linux command line and the UNIX shell. I went back to the old UNIX book in the library and compared them with the information I had about Linux. They were connected. I stuck with the UNIX book and learned a few commands. I felt powerful, but I wanted more. I wanted to practice.

Termux Made Us Geeks

My search was "How to access the Linux terminal on Android". I scrambled through about three pages on Google and found Termux (At that time, Termux wasn't as popular as it is today). Through Termux, I got to know of Github. I installed Termux, and I was in control. I learned about the different types of shells: BASH, ZSH, and FISH. I loved FISH more because it simplifies things for daily driving, so I stuck with it.

I practised my Linux commands on Termux, and it was great. I never felt lonely though my family was concerned. I enjoyed what I did. I began to build simple websites like forms, a small portfolio, and a few animations with CSS, and it was lovely. I noticed that I loved the terminal more. I could spend hours browsing through the man page of commands.

I still have Termux today; you never know where the inspiration would come from.

My first phone has reached the end of its life. However, here is a screenshot of termux on my current one:

First Programming Language

The first programming language I learnt was Pascal. It was a reasonably easy language to get started with, but it had so many types of loops ๐Ÿ˜‚. I don't know if it was the pseudocode or the actual language; I don't quite remember. And yes, I was still writing code in books. The second language I learnt was Prolog. I also explored HTML, CSS, C++, Python, SQL, Javascript, jQuery and Java.

A few pictures from the pages of my books:

If you asked my friends, "What are the two things David dislikes the most?" The answer will be Windows and Java ๐Ÿ˜‚. I hate Java not because it is a bad language but because I was coding on my phone. I can't keep typing public static void main(String[] args) to print "Hello, World!". It was frustrating. For Windows, I didn't get why I had to click on icons when I could type a command. I just disliked using the mouse, and Windows, unfortunately, suffered with it. As I became more knowledgeable about security, I found a solid reason to ignore it altogether (I'm not a big fan of data collection without my consent). I've been daily driving Linux from the very beginning.

I'll save my linux journey for a separate article.

The QBASIC Magic

When I got to high school, I did Science with ICT. The primary programming language for the ICT course was QBASIC. It challenged me to approach problems differently. At first, I would start writing code without thoroughly analysing the problem requirements and the expected solution. I struggled in that class. I began to search for help, and I found Paul Williams. He taught me how to approach problems properly. I had the skill but didn't have the direction, and Paul helped me with that.

I developed a personal software development life cycle that is identical to what everyone knows but focuses more on the tiny details than an entire software production.

I would also share this approach in a separate article.

With consistent practice of pseudocode and breaking down problems, it became intuitive. What also helped was the years of writing code on paper. As a result, I can diagnose issues quicker without needing to run any code.

Till today, I still reap the benefits of that experience, so much so that I can think of the entire process of building a functional software before even starting to write any code. My programming process changed from trial and error to working towards a goal. Do I still do trial and error? Of course, I even have an entire repository on Github for that. Instead of going in mindlessly, I'm trying to say; I have gotten direction now. I'll forever remain grateful to Mr Paul.

My First Laptop

After high school, I got a MasterCard Scholarship to study Computer Science at Ashesi University. As part of the scholarship package, I received my first laptop. Guess what I did? I deleted Windows and installed Opensuse Tumbleweed ๐Ÿ˜‚ (I currently use arch btw). My roommates sometimes find me entertaining when they see me doing something in the terminal or when I'm customising my desktop environment. I managed to win some students over to use Linux, and they enjoyed it.

๐Ÿ’ก
To me, Linux is the future, and Windows is just featuring.

Where Am I?

I've spent most of my years in the shadows. People do not know who I am or what I can do. I had a few interviews where the interviewers didn't believe I had the skills because of my age. Some comments they gave were, "He probably followed a youtube tutorial", "He is just exaggerating", "You mean you have more experience than us?" and some other bad stuff I can't say here. Many others ghosted me, but it's all good. I build software because I love what I do. The fact that someone else cannot see that value doesn't mean I need to count my skills as worthless. It will surely pay off.

I have been exploring languages, frameworks, design patterns, security, and tools all these years and trying to find a place I could fit in well. After my experiences, I decided to settle on backend and infrastructure development. I'm not particularly eager to work with Backend As A Service; I want to be part of the team that builds it. I don't want to depend on Infrastructure As A Service; I want to maintain the code and ensure it runs properly for others.

I know the world is moving fast towards abstraction, but I don't want to be a user; I want to build.

A Few Years From Now

A few years from now, I see myself working with companies that maintain and improve infrastructure tools (e.g. Docker, Kubernetes...), contributing to the Linux kernel, joining Backend As A Service start-ups and taking up roles that would promote growth and the opportunity to provide value in my specialised field.

I would still be assisting and mentoring students on codereviewshop.

I know it's not going to be an easy journey, but as Lao Tzu said, "A journey of a thousand miles begins with one step".

Conclusion

I hope this article has sparked your curiosity to pursue what you love regardless of the people who do not believe in you. Many thought I was wasting my time. The people close to me tried to talk some 'sense' into me. We have similar stories, but the difference between today and our future is the decision we choose to make now. What will you choose?

Credits

ย