Employment History

This section presents my employment history since starting university in September 2004, and is primarily composed of the co-op employers I worked for while completing my Bachelor of Applied Science in Computer Engineering at the University of Waterloo.

Nicholas' Employment History

Nicholas' Employment History

Grad School

I am currently pursuing my MASc in Computer Engineering in partnership with a small Waterloo startup through the NSERC IPS program. At this stage, my work is confidential, but is in the networking and distributed systems area.  Once I complete my Master’s degree, I will be pursuing a career in industry and will leave my days as a university student behind.

Microsoft

My time at Microsoft – two terms, one as a Software Design Engineer and one as a Program Manager – was spent on the Windows Presentation Foundation team, along with people like Lester, Rob, and a good number of the Microsoft people on this list.  Within WPF, I spent most of my time working with the group responsible for layout, text, and other related items; when I was there, they were putting most of their effort into the Syndicated Client Experiences (SCE) starter kit.

My first term with Microsoft was spent developing photoSuru.  Though the SCE starter kit was seeing some adoption in the newspaper community, developers at large were largely passing it by as too different from their scenarios.  In addition, within WPF there was a need for applications that could be used to test and promote the new features of .NET 3.5 SP1.  My task was to develop photoSuru – originally the ‘SCE Photo Viewer’ – to fill both these needs; a sample that could demonstrate the features of WPF and serve as a sample to the broader rich media developer community.  As the primary developer for this task, it was my through my efforts that the SCE starter kit, designed for making newspapers easy to read on computers, was transformed into photoSuru, an application that made browsing a subscription of photos, online or offline, an easy task.  The WPF testing team soon adapted photoSuru for their use, and it was used to show off bitmap effects in WPF at MIX 2008.  While the PM team began their efforts to ship the photoSuru source code – a good portion of it mine! – to the development community near the end of my term, I built ‘photoSuru 360’, a Microsoft Surface optimized version of photoSuru as a way of exploring code sharing scenarios between regular and Surface versions of WPF applications.

Returning to Microsoft for a second term – this time as a Program Manager – saw my job responsibilities change, but still revolve around photoSuru.  For various reasons, the PM team had decided to wait on shipping photoSuru, and as a PM I was given the responsibility of getting photoSuru out the door and into developer hands.  That meant preparing developer documentation, recording an introduction video for Channel 9, developing a feed creation wizard to assist developers in adapting photoSuru for their situations, assisting in the creation of an internal Microsoft application based off of photoSuru for browsing auction listings in the Microsoft Give auction, localizing changes to a companion product released simultaneously with photoSuru, and organizing a whole bunch of other minor tasks to numerous to mention but required for shipping a product.  And that was just the second half of my term!

I spent the first half of my second term managing the development of a sample demonstrating the new features available with WPF and .NET 4.0 on Windows 7 for Scott Guthrie’s keynote at PDC 2008.  Luckily, we did not have to start from scratch – photoSuru provided a great base – but that still meant managing a small team of developers (and an external vendor) in order to add a ribbon, multi-touch features, and integration with the new Windows 7 taskbar, writing specifications for all of the above, building the demo script, and reviewing the newly constructed sample frequently with Scott.  And, of course, flying down to Los Angeles to make sure the demo, shown to some 6,000+ attendees and thousands more on the web, went off without a hitch. (and it did, proving that interns and corporate VPs can work together successfully!)

Systemgroup

A small consulting firm serving the Greater Toronto Area, Systemgroup produces solutions in the custom development, information worker, data management, and business process and integration areas.  I spent two co-op terms there as a software consultant in their custom development practice, working out of the Systemgroup office as well as various client sites.

My first term with Systemgroup was spent on a wide range of projects, from supporting our sales team to working with the project delivery team.  While supporting the sales team, I developed a number of solution mock-ups for potential clients using ASP.NET and other web technologies (AJAX, CSS, etc.).  As a member of the project delivery team, I assisted in the design, development, and deployment of several projects, using technologies like ASP.NET, SQL Server (including Reporting Services), SharePoint, and Visual Studio Tools for Office (VSTO).  I also mentored a junior team member in these technologies in order to improve his design and development skills.

My second term was spent working primarily with a single client, a large Ontario credit union looking to manage and automate their wealth management processes.  Working on a team of 8, I was personally responsible for translating our business analyst’s system specifications into screen prototypes using Windows Presentation Foundation (WPF).  The other developers and I then bound the XAML files and styles I developed to the application’s data model to produce a functioning application.  At the time, WPF was in its infancy as a commercial product – having been released less than 6 months prior – so a set of WPF ‘best-practices’ for business applications simply did not exist.  As such, I developed a set of patterns and practices that allowed Systemgroup to produce an application that was visually appealing, intuitive, and functional.  It was also during this term that I was exposed to DotNetNuke, a content management system for .NET, when transforming a set of site prototype images into an easy-to-manage website for a not-for-profit organization.

GTAA

The Greater Toronto Airports Authority (GTAA) operates a number of airports in the Toronto area, including Lester B. Pearson International Airport, the location where I worked for a term.  My position within the GTAA was as a software developer with Facilities Operation and Maintenance, in the Safety and Equipment Training department.

My department was responsible for ensuring that all Facilities staff was adequately trained to operate the hundreds of unique pieces of equipment used by the division, from small lifts to painting trucks to the huge Vammas pusher-sweeper-blower snowplows used to clean the runways.  My task was to design and build an updated version of the software used to keep track of which employees were trained on which pieces of equipment.  My solution, built using ASP.NET with an Oracle database for storage, allowed the over 400 division employees to look up this information much quicker and easier than the existing Microsoft Access solution would allow, while also providing reminders to the trainers in my department of any operators who had courses that were expiring (like CPR).  While at the GTAA, I also received a Transport Canada Transport Canada Transportation Security Clearance (valid until 2011), and my Radio Operator’s Certificate (Aeronautical).

Hydro One

Hydro One is the leading electricity transmission and distribution company in Ontario, owning and operating almost all of Ontario’s electricity transmission system.  I spent a term at Hydro One’s Ontario Grid Control Centre (OGCC) in Barrie, which is responsible for controlling Ontario’s entire electricity transmission grid.

Specifically, I worked for the Operating Planning department; any maintenance or repairs on the transmission system were designed and approved by my department before being passed to the control room for execution. My tasks were generally related to the development and maintenance of internal tools for the department using Microsoft Access and Excel, as well as Visual Basic for Applications (VBA) and regular Visual Basic.