Software engineering graduate lands dream job at Facebook

Problem solving, networking, and a love of learning lead to success for software engineering graduate

Olga Ivanova - 31 May 2016

It isn't his first large offer at a top-notch tech corporation-Karunaratne has previously built applications for high-tech giants like Amazon and Google. In fact, he's been doing this for a long time. Karunaratne completed his first major software project while he was in high school a music-oriented player for a Mac OS that he created was featured in the App store. And industry players have taken note of his work. Karunaratne has tech savvies and big industry players following him on Twitter and commenting on his work.

He says getting your work and your name out there is important in career development.

"Most of my networking was online - I would post about the work I did, on Twitter and other social networks, and people would follow me and discover my work. This helped me meet people in the industry," says Karunaratne.

Accessibility of programming apps and practical applications of software engineering skills are some of the reasons many successful programmers and sought-after engineers never felt the need to go through conventional schooling. University isn't the only way to get into the tech world, Karunaratne admits. But he chose to pursue a formal degree through the Faculty of Engineering for many reasons. One of involves getting a better grasp of hard-to-learn theoretical fields that are getting limited application in the industry.

"There are such up-and-coming fields as machine learning, data sciences, artificial intelligence, and computer vision that for the most part are heavily based on theory. A lot of the research that has been done is in academia," he said. "So the intro to these other more complicated parts of computer science and software engineering are really difficult to grasp without any academic introduction to them."

Another important benefit of getting a degree is access to the international job market. "It's really helpful to have formal qualifications in order to be able to get authorization to work," he said.

On top of high-level university courses and a handful of class projects, Karunaratne was always eager to apply his knowledge to real-life problems.

"The practical sides are one of the most important aspects of getting a good job in software engineering. The theoretical stuff is really helpful as far as getting past a job interview goes, but once you actually start building projects, it's the practical skills that matter the most," he said.

As a full-time student in the Faculty of Engineering, Karunaratne completed projects for Amazon, Facebook, and Google, three tech giants many aspiring software engineers dream of working for. At Amazon, Karunaratne built a Mac application for a file-storage system to synchronise files and photos between multiple devices. For Facebook, he assisted in overhauling the news feed feature on iOS making it faster, more reliable, and easier to add new features. At Google, Karunaratne built a tool to cut the middle step between designers and engineers working on a feature.

If he has any advice for young people interested in the field, Karunaratne urges them to embrace difficult courses offered by the department.

"They will give you something you won't feel like exposing yourself to on your own," he said.

Beyond that, Karunaratne emphasizes the importance of developing programming skills outside academic settings-be it building apps or writing a code for open sourcing.

"The best way to get a job in tech is to work on side projects that show your aptitude for learning software engineering skills on your own," he said. "Always learn. Do whatever you need to do. Stay on top of what is going on in the technology industry."