My first introduction to computer programming was in the form of Fortran in a first-year second-semester module at the University of Stellenbosh in the 1990s. Computer programming was only one half of the module; the other half was dedicated to mass balances in chemical engineering. During class I could not follow the lecturer, partly because he was not speaking loudly or clearly enough and partly because this was a completely new concept for me. If I missed something he said earlier in the lecture, what he said later was a mystery. There was no prescribed book, and the booklet that accompanied the course was not helpful at all. Eventually I realized there must be a book about Fortran in the library of the engineering faculty. I found one! From that point onwards the course was smooth sailing.
Years later I was working as a chemical engineering technician. One day while driving home after work one of my friends showed me a copy of an article that described how the next largest prime number had been calculated recently. Out of interest I wanted to find a way to do the calculations myself. The only tool I had was Microsoft Excel spreadsheets and it seemed to me that it was perfectly capable of performing the task. With my first attempt, I would enter a formula in the top cell of a column then use the fill tool to drag the calculation down the column until I found a prime number; then repeat the step in the next column to find the next prime number, and so forth. Yet I knew there must be an automatic way. I looked through the Excel help files without success, and eventually came upon a part of Excel with a big white editor that would highlight some letters that I would type in it. But I had no idea what it was for. I set out to the company library and found a book on Visual Basic for Applications and so started my second foray into computer programming. The big white editor was for Visual Basic. I eventually wrote a little function that would populate the cells on a spreadsheet with the sequence of prime numbers in dramatic fashion. My next program with VBA was for creating an Excel spreadsheet formula for calculating the molecular mass of a molecule.
One of my colleagues later gave me a complete video course on Visual Basic 6 in CD format which I enjoyed tremendously. With VB6 I built a unit conversion app, but never completed it. Later, with Visual Basic .Net, I built Timepiece, an alarm clock, stopwatch and countdown timer for your Windows desktop, which I am proud of. I published it on SourceForge and it has been downloaded more than 5000 times. I once saw that somebody made a video review of it, but I cannot find it anymore.
The blogs of Joel Spolsky and Jeff Atwood cemented my interest in computer science. Jeff Atwood's account of how he first worked on StackOverflow alone, but then marshalled his previous colleagues to join him, inspired me to think about switching careers.
Seeking to learn more about computer science, I read the book Think like a Computer Scientist. It also taught me the Python programming language. Later editions of the book were retitled to Think Python. Learning that YouTube ran on Python, I wanted to use Python to build an eminently useful website like StackOverflow.
However, I was sidetracked into learning PHP when a Christian brother who built Word of the Hour asked me to write a script for importing articles. PHP became my main focus and I decided that it was time to make computer programming my full time career.
After a failed attempt at starting an online business for advertising cars, I started freelancing. For one of my clients, I built a web scraper for collecting all courses taught in all Australian universities. I used Python with Selenium, but, only after delivering the data to the client, I discovered Scrapy that worked much faster.
Eventually landed my first job as a software developer at an online fashion store called Spree which is now Superbalist.