About me

My name is Adam Lawson. I am a recent graduate from the University of Ottawa school of engineering, where I obtained by B.ASc in software engineering.

Why Software?

I’ve always had a penchant for tech and for dissecting the gadgets I had. My first exposure to technology was my dad’s Palm Pilot from the 1990’s. The monochrome touchscreen completely blew me away and I thought it was amazing. Nowadays, technology such as the Palm Pilot is a relic of the past, relegated to desk drawers and landfills, but it’s impact on me stuck around to this day. I’ve built two pc’s, fiddled with Arduino’s, cracked my router to install homebrew firmware and many other fun projects to satisfy somewhat my curiosity with technology, yet I wanted to know more. I wanted to know how a line of code translates to Mario jumping on a Goomba when I played Super Mario Bros. on the original NES, I wanted to know how I can click a button on an app and have a driver show up to give me a ride in under 10 minutes. At the heart of all these questions is software, it’s lines of codes, sometimes beautiful, sometimes less so, that come together to perform the orchestration of the services and programs we use daily. As it turns out, software engineering gives me the opportunity to do just that. In my studies I’ve taken classes on everything from low-level compilers and machine code to user interfaces and design. I’ve had the opportunity to peer under the hood and reveal the secrets, and I’ve only just scratched the surface.

My Hobbies

- Fitness/Gym
- Reading
- Outdoors and hiking
- Programming and coding challenges
- Video games
- Blogging

Computer Science Enthusiast

The field of computer science is extremely broad, covering numerous subjects and disciplines. Everything from discrete mathematics, to graph theory, and mathematics, computer science allows us to better understand the black box of computing. Behind every algorithm, from Dijkstra, to Prim and Kadane, lies a sound theory that allows us to say with 100% certainty that an algorithm is correct. As a software engineering student, it’s easy to disregard this aspect of software development, to push it aside and leave it for the researchers and academics. However, to do so is unjust to the field of software engineering and computer science. As professionals our mission is to uphold the highest standards of our craft and to engage in the pursuit of constant improvement and knowledge seeking. To disregard an entire field as unnecessary is not only unwise, but unprofessional. As exciting as it is to write code and put fingers to keyboard it’s crucially important to understand the why behind our work. Why are we using one algorithm over another? Why are we choosing a priority queue for our event driven simulation? Why bother reducing our runtime from O(n^2) to O(n)? We should see this two fields as opposites sides of the same coin, each making up half of the same whole.

My History

A 23 something year old from a small town called Sturgeon Falls in northern Ontario who ventured out of the woods and into the city.