About Me

Hello,

My name is Drew Matheson, and I am currently a third year Computer Programmer/Analyst student at Conestoga College. This winter I am returning to SAP Waterloo's Emerging Technologies division as a Software Application Developer for my second co-op term.

School

During my first year I learned how to create Windows Forms and console applications with C# in Visual Studio, websites with HTML, CSS, JavaScript, and PHP, and database design and data entry forms in Microsoft Access. Additionally, I learned systems analysis and requirements gathering in an Agile fashion, and networking. Finally, I received an award for attaining the highest average first year marks in my program.

In my free time during the summer between first and second year, I taught myself ASP.NET MVC, ASP.NET Web API 2, and AngularJS.

During the fall semester of my second year, I learned ASP.NET MVC, SQL with MySQL, systems design including UI prototyping, and continued to strengthen my object-oriented programming in C# with XNA and Windows Forms. I also had a quick introduction to Java near the end of my object-oriented programming course. During the winter semester I learned software QA, mobile app design and development, Java based websites using JSP and Servlets, and network operating systems (Windows Server 2012 / Linux).

I had my first co-op term during the summer semester. I worked at SAP Waterloo in the Emerging Technologies group. During the term, I developed an iPad app which utilized SQL Anywhere to enable occasionally connected database syncing. I also researched and presented on Data Distribution Service which is a real time publish and subscribe network middleware.

During the fall semester of my third year, I learned Oracle 12c and PL/SQL, Android, WCF, and created an e-commerce site for a practice capstone project class. The e-commerce site used Stripe for payment processing and SendGrid to send email verification, password reset, order placed and processed confirmation emails. By using Stripe we never had access to sensitive credit card information which greatly reduced security risks.

I returned to the Emerging Technologies group at SAP Waterloo for my second co-op term during my third year winter semester. The duration of the term was spent developing a prototype IoT solution designed to accelarate streaming-based edge computing. It required knowledge in databases, a streaming engine, IoT protocols (MQTT, DDS), Java, JavaScript, Node.js, Python, virtual machines, and container technologies. I had two other tasks during the term. First, I had to convert and existing single-tenant demo into a multi-tenant demo so that it could be used silumtaneously by multiple sales people. Second, I was charged with investigating and utilizing Docker to speed up deployment and minimize variability.

The topics covered during my final school term over the summer of 2016 include Java EE, another technical communications class, Sociology, Social Psychology, and a capstone project. Information on the capstone project can be found here.

How I Got Into Programming

I first began programming at the start of 2012. I was inspired by the developers of one of my favourite websites, Giant Bomb to learn programming. One of them suggested checking out the book Learn Python the Hard Way as a good starting point for novice programmers. I worked my way through all of the exercises in the book during the first half of the year and came away with the ability to program in Python, develop websites, and create a simple web server using the web.py framework.

At that point I decided I need to get back into school so I enrolled in Conestoga's academic upgrading offerings at their Waterloo campus. I finished the communication and math classes required for getting into the CPA program in May of 2013. Fast forward to present and I am currently studying at Conestoga.

I find programming to be a very rewarding process as you get to both see and shape the features and evolution of programs. The sense of accomplishment when you successfully implement a tough new feature or find way to simplify a problem is very rewarding.

My Resume (PDF)
My LinkedIn