Some time ago I read a very thoughtful and inspiring article by Jaques Mattheij, appropriately titled “The Need to Code“. In his article, Mattheij describes the process that took him to learn his first programming language and how he has been hooked ever since. Even though my own experience is somewhat different to his, this article really spoke to me and got me thinking about my own “need to code”.
I remember my first contact with a programming language was when I was twelve years old, in middle school. There was an after school computer lab where they were teaching us LOGO in a (now) very old Commodore 64. It was mostly for fun and all we did was code instructions to create all sorts of drawings, but it was new and fun and I didn’t care much whether it was practical or not. Without a computer at home and with very limited access to any sort of literature about computers or programming languages, the time spent at the computer lab became sacred to me. I didn’t miss a single one of the classes and became somewhat obsessed with completing each and everyone of the figures in the Schaums book that the teacher kept on his desk and that he allowed us to take home every now and then. I guess I was bitten by the programming bug right there and then.
Nevertheless, for a myriad of reasons that now don’t seem so important, I ended up pursuing a degree in Mechanical Engineering, instead of following my original desire to learn more about programming languages and software development. I did well as an engineer, but the desire to code somehow lingered.
While in college, I was introduced to C and soon after I was coding in Turbo C as part of the work I needed to do in order to maintain my scholarship. I was writing code to support the research of one of my college professors. The code wasn’t complicated at all, but I had little knowledge of C, so I was constantly hitting the books. The library had a good selection of books from basic to somewhat advanced topics in several programming languages. That’s when I started to dream about so much more I could be doing with code and so much more I could be learning. I guess you can say I was bitten once again by the programming bug. Even though I didn’t abandon my original choice for a major, I used to search for opportunities to include code in every single one of my projects, simply because it felt like it came natural to me and I enjoyed doing it so much. Sometimes, however, integrating both was just not possible at all. My school has always been famous for their hybrid majors that combine the best of two or three traditionally available ones, but a mix between Mechanical Engineering and Computer Science or Software Engineering simply didn’t exist back then. I haven’t checked their new plans. They may have one now.
A lot of time had to go by, a lot of trial and error and disappointment too, before I finally decided to simply “go for it”, honor that original inclination and really explore if programming was “my thing”. Lucky for me, nowadays I have tons of information and Internet available, which has helped me tremendously. I also happen to live in an area where I’m surrounded by people that work developing or testing software every day. It was very helpful to me to finally see how a programmer or software developer really looked like, that they were real people, far detached from the stereotype that I always had in my mind. You know what I’m talking about; the super-genius that was pretty much hacking away before he/she could talk. Some of those people encouraged me to try, go back to school, learn on my own, explore the different possibilities. And that’s what I did. I love it when people like Mattheij or my neighbors bring it down to earth for the rest of us.
I sometimes wish I had done this a long time ago, but I am happy that I am doing it now. I know I’m still in the transition zone and have a long way to go, but I don’t really care because I’m enjoying the process. In his need to code, Mattheij mentions that it took him over a year to learn BASIC. In my case, it didn’t take me a year to learn a language, but it took me even longer than that to simply “go for it”. I’m glad I did, though.