Home

I have worked in Waterloo Ontario, Canada on a wide variety of software development projects and teams since I began in software development in 2000. I started working with 8 and 16 bit microcontrollers, programming on the bare metal platforms. I gained a lot of experience in vehicular and industrial applications programming. During that time I also programmed several Windows applications that were used to interface with the embedded products that I and my team were producing.

In 2008 I made a jump from Embedded/Windows to large N-tier Enterprise software systems supporting Windows, Linux and Solaris. With that transition I became interested in the software development processes used to bring large numbers of software developers together to collaborate.

My favorite part of being a professional Software Developer is the part where I write the software. Other exciting things about software development are processes and tools that help produce high quality code. For example, Test Driven Development, Continuous Integration, Agile Development are all faves.

The parts I really dislike are the company meetings, carbon copies, ‘high level’ anythings, ‘deep dives’ and so on. All these things can be useful, but in my observation they are mostly just abused.

Read the blog for updates on all the parts that are just the best and some of the parts that aren’t as great.