Most people don’t know what their career will be when they are in high school, and I was no different. Now that I’m a young adult, I’m ready to graduate from university and kick-start my career as a professional programmer next May. Read more...
Before I started university, I knew nothing about computer programming. I used computers to check emails, chat on MSN, download MP3 files, create PowerPoint slides and write Word docs. Somehow that seemed enough to choose ‘Computer Engineering’ as my degree at University of Waterloo. I already liked using computers, so I figured I wouldn’t mind learning more about how they work.
I did a lot of programming in my first year. C# was the first programming language I ever learned, and at that time I thought programming was fun. It reminded me of playing with LEGO when I was a kid. It was challenging to bend the the computer to my will, and the joy I felt when my code actually did what I wanted was amazing.
I remember coding in my residence with two roommates who were taking the same courses as me. Sometimes we worked together because none of us had any programming experience before coming to university. It was difficult enough to get my code to work while receiving help, and it felt almost impossible while working alone.
I wasn’t good at asking for help when I needed it, and I needed it often, and by the start of my second year I became completely overwhelmed. Programming wasn’t something I looked forward to, and soon became just a school project I had to complete by a deadline I could never seem to meet. It felt like ‘professional programmer’ was not a viable career option.
When I got my third co-op job as an automated test developer, I programmed alone most of the time. My job was to tweak and maintain an internal tool built on VBScript that was only going to be used by me and my supervisor. I found it really boring, and it showed. My boss caught me dosing off on my desk, and it ended any chance I had at having a pleasant work term for the remainder of my three months. I was ready to leave the world of programming for good.
I put school on hold and decided to take a year off to closely analyze what kind of person I was and what kind of career I wanted. I was told by family and friends that travelling is good for soul searching so I even planned on going to Japan to teach English for a year. I almost did it, but in the end I got cold feet. I was afraid of being away from school too long and not being able to adjust to being a student again.
I switched out of Computer Engineering hoping for the best, but no one told me that even in Management Engineering, I would be doing some kind of programming. It turns out learning about Information Technologies and Management of Technology involves programming in HTML, PHP, MySQL, and C#. Programming for the first time in close to a year brought feelings I couldn’t understand. I knew I wasn’t supposed to like it, but I found myself wanting to give it another try.
That term, out of all the courses that I was taking in Management Engineering, the ones that required programming were my favourite. I now had a different attitude while programming - I enjoyed it. These projects had less restrictions and allowed me to work at my natural pace. The mandate of Management Engineering is not to teach students how to program, but rather to teach them just enough through application in order to understand the bigger picture of software design, telecommunications, and other issues associated with the use of information technologies. I could not leave the programming world - but I didn’t want to anymore.
Two years later, I somehow ended up at Big Bang Technology as a Junior Web Developer. I still consider myself pretty bad at what I do, but it feels right at the moment, and I’m sticking with it until my next revelation.
You can find me @joonhashin on Twitter. I'd love to hear your story on how you ended up choosing your professional career.