(How) I Taught Myself to Code.
Paschal Chukwuemeka Amah
Chief Technology Officer @ Wowzi | Technology + Software + Product + Data Engineering Strategy and Management | Fintech | SaaS Platforms| Serverless Microservices | Event-Driven Architecture | Automation Junkie
One of the hottest skills for the future of work has computer programming or?coding?somewhere at the top. Computers have been a fascinating thing from their inception till now. My first computer lesson comprised taking my boss’s?computer appreciation?notebook, and copying it over into my own notebook. I would not have the opportunity to sit in front of a computer and use it till years after.
What more, programmers are seen as some special people. It is not just that they are presumed to know how to use the computer very well, (this thing that folks are even awed to touch) computers take instructions on how to do things from these guys! What a beauty. For me, it was magic.?The beginning of my journey into programming is summarized in saying that I wanted to be part of this magic group, the programmers, the coders.
With this very clear interest of mine established, I thought about one that I could pick up and learn. Luckily where I worked I had a desktop with internet access. It was very slow but it worked. I went online to find a language I could take up. I have always adored the fact that Sergey and Larry started Google when they were just 25. So, when I found out the place of python in the ecosystem of Google, I knew it was the language to learn.
In 2008 I resolved to learn the python programming language. I had access to a computer from 8am to 4pm every weekday, so everything was looking good. But then, that was about it. I went online but there was hardly any?Udemys, Courseras?and the rest. The only option I had was to rummage around the internet consuming any material I thought was going to help me learn it. Finally, I landed on a text that I read like a novel. There was no instruction on how to setup my computer to write the language. The author probably took it for granted that a learner is already setup to go, so I ended up just reading and trying to assimilate as much as I could, till I was able to one day have a chance to actually write python code. What I did was to write my code on paper and then review it against the text, to see that it followed all the syntax. Two years later, after I was sure I had gotten the basics but having discovered no interactive courses, no co-learner, no?boot-camps?and no mentor, I gave up. But I did not stop. I kept looking for a way to learn it.
The following year, I discovered that to write python code I needed to install?python!?How ironic. And nobody ever cared to say (lol). That was the breakthrough for me. It was no longer learning the syntax and the various data structures and methods by heart. For the first time, I wrote and executed my?hello world?in the?IDLE?that comes with python. From there, it was a roller-coaster. I kept writing and writing and rewriting. The next fun task was trying to write something that actually changed how something in the world was done, not only saying hello world.
Every month I discovered a new resource to learn with. At a point, I was just repeating myself and was really learning nothing new. So I decided to go ahead and learn how to make use of this new skill of mine. There was a ton of sales data I had access to where I worked so I thought about using the language to automate some of the processes that generated it. However, from continued reading on the subject, it dawned on me that the language I learnt was actually a great tool for data analytics. It was just a coincidence. From there I went into data analytics.
Right from school, one of my best study mode was?co-learning. That is what I call teaching people. But there is a nuance to it. It was teaching with the intent not just to help them understand it, but in the process, deepen my own knowledge of the subject. This is achieved by trying my best to simplify the subject enough for the least informed to understand it. This is, and has continued to be for me, one of the best tools of learning. There is no chance to co-learn that I allow to pass by, provided I am able to fit it into my schedule free or paid. More so, I was once like these guys, wallowing around, grabbing at anything and sometimes getting bummed out.
Then came my foray into software development. I called up a senior developer and asked them, what do I need to do if I wanted to be a software engineer. The answer was direct and simple: learn object oriented programming. I have never looked back since then.
Maturing further, I stopped trying to learn everything. Any new part of the language I focused on was geared towards a particular skill I wanted to develop. In the past couple of years or more, convincing myself that every organisation today needs an application to run their day to day business, as well as some sort of web presence, I have continually pushed developing my Django skills, building full feature e-commerce web apps. Again, as more mobile devices than PCs will be used to access the internet, I have moved into the development of not just web apps but very mobile responsive front-ends.
My learning journey can be reduced to four distinctive stages: the passion to do some magic, continually learning, being deliberate about things I choose to learn and having someone more experienced not necessarily teach me but more importantly point me in the right direction.?I am a graduate of philosophy holding two degrees (B.A. and B.Phil) and have never been in a single computer science class.
Next, see my next article How to start learning to code for how to avoid the pitfalls I saw myself in.
Python Engineer at Netbr@us #Python #pythoncoding
3 年Truly inspiring...
Backend Developer | Django Rest Framework | GoLang | Web3 Smart Contract
4 年I'm speechless ??
Accountant at Emtech & Design
5 年Nice story man. So inspiring. Well-done.
Senior software engineer
5 年Encouraged! Inspired! Motivated! Being deliberate, focused and consistent in learning is key. Thanks for sharing
I think the best way to understand how to code is to study other people's code and how it works