The day I received my engineering ring was such a moment of relief; not only that I survived, but that I was branded ready to move on to the next phase of my life. I graduated from Carleton University with a Software Engineering degree - the study of how to design, architect, and test complex applications well.
I took my studies seriously, made a lot of great friends, and really enjoyed all that I learned. There were some serious questions I had going into Software Engineering that I wanted answered, and I felt I got my money's worth with incredibly long answers to my questions. Besides just wanting to understand the difference between a computer scientist and a software engineer, I wanted to study some general engineering - a little of mechanical engineering, electrical engineering, computer engineering, and system engineering. I had my first opportunity to make an object in CAD and brought to life with a 3-D printer. In electrical engineering we learned a lot of analog signals, frequency spectrums, filters, and control systems. The computer engineering classes pushed my limits with assembly code and understanding the inner workings of a computer processor. And, with all of this knowledge, I was ready to write software dealing with any of the topics I learned.
After graduating I joined Martello Technologies and have been practicing Software Engineering every working day there. From gathering requirements, writing use cases, sequence diagrams, and UML class diagrams, to architecting, designing code from scratch, and testing efficiently and thoroughly. A great software engineer understands that great testing is key to reducing cost and time, in the long-run, by catching bugs early.
My programming language of choice is Java, and I'm experienced with PERL, and JavaScript too.