How I became a mobile app and game developer
Fahim Farook is a computer engineering who has been working as a developer for two decades, in India, Sri Lanka, USA, Saudi Arabia, New Zealand and now Singapore. He's programmed in many languages (xBase, Perl, Delphi, Java, PHP, Ruby, C/C++ and C#) and for many platforms (Linux, Unix, Windows and Apple Mac OS). These days, he develops mobile applications for iOS and Android. The apps are usually business or utilities, but sometimes he creates games, as well.
We spoke to Fahim about computer engineering as a career choice, specifically what pulled him in and how he got where he is today?
Question: What inspired you to become a computer engineer?Answer: Very early on I was fascinated by the idea of working with computers. I loved science fiction as a boy and therefore grew up reading about computers, robots and technology that could revolutionize the world. I believed that computers really would do this and wanted to be part of that revolution.
Question: What's your educational background?Answer: I have a diploma in systems design, but I've also acquired many skills on the job -- learning new languages and technologies as they become popular and always keeping on top of what's going on in the IT industry.
Question: What does a typical workday look like for you?
Answer: I usually start around 5:30 in the morning. Once I'm done with my morning ablutions, I begin going through e-mail from clients. Since I work with many people across the globe, the communication never stops, and most of the time, it happens off hours. I go through my overnight email and respond to many questions and address a ton of issues.
Once that's sorted, I take a short break to catch up on people I follow on Twitter and then start coding for whatever project I'm working on, mainly apps. There's a short break for breakfast and then it's back to coding. After lunch, the routine depends on my workload. If I have a full plate, I code for a while, break for dinner, code a bit more and then turn in around 9 o'clock.
Question: What's the most challenging part of building apps and games?Answer: Building the logic for how something should work is the most challenging part usually. But the level of challenge varies. A simple promotional application for a client might not take too long, but a full game might require some fairly complex calculations. In fact, games have usually ended up being the most challenging applications I work on.
Question: What do you find most rewarding?Answer: Seeing my code in action is the most gratifying thing for me -- as Hannibal (not Lecter, the one from the A-Team) might have said if he was a programmer, "I love it when code comes together!" Sometimes it's almost as rewarding to hear from a user (or a client) as to how well my program or app worked or how much they enjoyed my game. But still, nothing beats the joy of writing code and solving a problem.
Question: What advice do you have for students who want to become computer engineers?Answer: Read and learn all the time. Read as much as you can about your subject, whether at college or at work. That's the best.
Finally, don't just get into computer and IT abecause you think it has good career prospects, Fahim advises. While advancement and salary are important, only do it if you love it. If you do what you love, you'll always be successful.