How I Became a Programmer
I'm lucky in that I consider the work that I do to earn a living as my hobby. This means I really enjoy most of my days at work. I have not taken the normal path to become a programmer. Even though I didn't go to university, I still managed to work in the industry I wanted to be in. This is the story of how I became a programmer.
Early Years
My father is a musician by profession, my mother a teacher who went from teaching needlework and geography to working with children with disabilities. One might think that they aren't the ideal parents to push you in a career in technology. You wouldn't be further from the truth.
The Atari 130XE
I got my first taste of programming when my father bought an Atari 130XE when I was about 5 years old. Back then computers were different from than today's user-friendly machines. When you switched the computer on you were greeted with a blinking cursor and a blank screen. You could start writing a program in the screen, type run and the program would "run". You can say that the operating system was the IDE. The Atari 130XE manual contained 74 out of the 120 pages dedicated to writing programs in basic and came with sample programs.
My father started learning how to code in Basic. Some of his friends had also bought an Atari computer. They used to share programs they had written between them. He used to write programs to help me learn basic maths, spelling, syllables and many other things. I still remember sitting on his lap whilst he was typing in the code. This is basically how I got interested in computers.
My First Program
I remember the first time I tried to write a computer program. This was during my summer holidays. My father had been encouraging me to try it out. It should have been an easy job, copy the program from the Atari manual and run it. However, for some reason I didn't understand the instructions well enough. Instead of typing my program in the operating system, I booted up the word processor we had on a 5 1/4 floppy disk. Then I typed in the program in the word processor.
Being a 6 year-old kid, I wasn't a fast typist, so this took quite a while. In the end I couldn't get it to run since I had used the word processor, obviously! So, I waited for my dad to come from work. He immediately told me that I had written it in the wrong place. My first reaction was to hate computers since I had wasted a whole morning and had produced nothing. Luckily this didn't last long, and I soon tried it again in the right place. Once I got my first program to run, I was hooked!
The Library and Programming Books
My mum used to take my brother and I to the library so that we could borrow books to read. I always looked for books on programming, however for some reason the library didn't have books for the Atari. The library had books for the BBC Micro and Spectrum. The different computer systems had some discrepancies in the Basic language they used. I spent a lot of time translating the code I found into Atari compatible code.
Electronics
Much later, my mother bought a couple of electronics boards, which were specifically produced for children. One of them was a kit to build an AM radio and the other was a generic electronics kit with which you could build various things. This stirred up an interest in me to control the real world via a computer, particularly I wanted to control a model train-set I had. However, I never got around to building that project.
Programming whilst in Education
Computer studies were not taught during my time in primary school (up to 10 years of age). However, I kept myself busy with the books I used to borrow from the library.
When I was of secondary school age, I went to Savio College where I had my first introduction to computer studies. This was crucial for me as I started learning about the history of computers. I also started learning about the way computers worked. This was at a time when we did not have access to the Internet, so this information was not easily accessible as it is nowadays. I was required to write a program as a project for the computer studies O level. I used what I had previously learned to help me in building the project.
When I when to Junior College, I learned Pascal. By then we had access to the Internet. I remember looking at Delphi and Visual Basic. Chatting on IRC using the mIRC client was the norm back then. The mIRC client had scripting support, and I obviously started looking at building scripts in it. At one point I ended up building an IRC client within mIRC itself. What I ended up building was in fact a remote-control client. Basically, the script connected to a separate network and joined a specific channel. The script would execute whatever was written in the channel. You might think that I had built a trojan horse, however I was only interested in learning how to communicate over TCP/IP and not on hacking anyone.
Career
My First Job
I've never been a fan of the way mathematics is taught, I couldn't stand the repetition of continuously working the same problem with different numbers. (Have a look at computerbasedmath.org for more details on this topic.) This meant that I ended up not passing my Maths A Level examination, which in turn meant I couldn't enter university. In the meantime, I had a part time job at a local computer store which later became my full-time job.
Since I am particularly allergic to repetition, I soon started looking into automation of the process we had at the shop. I remember automating the installations of Windows 98 and later Windows XP. With the rise of the internet I started looking into building a website for the shop and later an application to manage the upload of the price list to the website and later to manage the work done in the technical department.
Career Change
At this point I felt that I was working in the wrong place as I really wanted to focus on programming. I reached out to some friends of mine who had worked with me at the computer shop and who were working at a software house. I went for an interview at the software house where they were working, and I ended up obtaining a job as a junior developer.
From then, on I kept climbing up the ranks quickly, getting promoted to developer, senior developer and later as a project leader. I then decided to try my luck somewhere else and I am now leading the technical side of KPMG Software.
Conclusion
Now I've managed to have decent success in my programming life even though I am not a graduate. I'm not suggesting that you do not go to university. I strongly believe that university gives you a strong foundation both from a life skills point of view as well as from a theorical point of view. I believe that your path will probably be easier than mine if you go through formal education.
If my parents had lacked the foresight to perceive that computers were the future, I don't think I would have ended up working in the software industry. I am forever grateful for all the support and encouragement that they gave me, and I hope that I will do the same for my kids.
What is your story? How did you get in the software industry?