Senior Tools Programmer at BioWare Corp
Edmonton, Canada Area
Senior Tools Programmer at BioWare Corp
Edmonton, Canada Area
My primary goal is to become a software architect.
My strengths are to adapt to my environment, learn how systems work quickly, identify areas that need work or could be a lot better, then design and develop solutions.
I currently provide web hosting for myself and friends and do occasional development in my spare time (ISO image burner, memory hacking utility, filesystem backup utility).
Development: C++, C# (1.0 & 2.0), vbscript, ASP, ASP.NET, web services, some perl, javascript, and xslt
Networking: Sockets
Databases: SQL Server (very little mySQL)
Structured text files: XML, HTML
Software system design and development.
(Privately Held; 201-500 employees; Computer Software industry)
November 2005 — Present (3 years 9 months)
Learning Epic's UnrealEngine 3.0 game engine.
Added an automation testing framework.
Implemented a notification system for the testing framework that parsed log results, identified owners based on source control, and sent emails to those users.
Integrated the Xbox 360 Controller Recorder into Mass Effect.
Optimised the string localisation system to update the strings for 6 lanaguages in half an hour.
Optimised the reference shader cache building system to reduce shader cache rebuild times.
Built tools to bulk adjust content quickly.
Wrote a multiprocessor build tool for our continuous build system and our nightly build system.
Added infrastructure to identify references by name to ensure all required content was cooked for the Xbox 360.
Contributed to the effort to support downloadable content and localisation for the Xbox 360.
Wrote tools to build, manage, and optimise the DVD Layout of Mass Effect.
Altered package processing to shave 8 hours off of DVD build times.
(Public Company; 10,001 or more employees; MSFT; Computer Software industry)
September 2003 — October 2005 (2 years 2 months)
Responsible for designing and implementing test suites for Xbox Live UI for the Xbox 360 Dashboard and HUD.
Managed a team of 3 for testing the Xbox Live UI and coordinated with the Xbox base team for UI testing and localisation.
Designed and implemented an interface and tool to allow test tools to programmatically alter the Xbox Live back end environment to simulate multiple consoles, users, and general activity from outside the Xbox Live environment.
Wrote the Xbox 360 controller automation interface in the Xbox 360 development system which is used by the Xenon Controller Recorder shipped by Microsoft to game studios having their games published through Microsoft.
(Public Company; 10,001 or more employees; MSFT; Computer Games industry)
March 2002 — August 2003 (1 year 6 months)
Added to the Online Stress client tool for exercising the Xbox client Live APIs
Built services and tools to track Xbox consoles that fail to connect when they should
Identified Xbox manufacturing process issues resulting in failed connections to Xbox Live and worked with the manufacturing team to resolve them
Built the original Xbox Live Web Services monitoring service and test tools
Wrote the VerifyPartner tool that validates client certificates for use with Xbox Live Web Services
Tested the Live environment and dashboard for the Halo 2 Beta
Tested the Electronic Arts service tunnel that EA uses to communicate with our service directly over a VPN
(Public Company; 10,001 or more employees; MSFT; Computer Software industry)
November 2000 — March 2002 (1 year 5 months)
Assisted in the conversion of the code base from strict C to C++
Doubled XML parsing speed of grammar structures by generating a C++ file using perl containing the list of XML node names in a hashtable for fast lookup.
Increased sentence parsing size by reducing unnecessary copies into constrained regions of memory
(Public Company; 10,001 or more employees; MSFT; Financial Services industry)
October 1999 — October 2000 (1 year 1 month)
Transpoint was an Electronic Bill Presentment and Payment system for viewing and paying your bills online
ParcelMover: Wrote the transfer layer connecting billers to the TransPoint data center.
WebSPA: Wrote a 32 bit, multithreaded, distributed application to stress a web server using state machines to represent user profiles.
Added non-funded credit card support to ASP and middle tier objects in the Transpoint code base for Australia Post.
Modified the Transpoint code base to globalize the date format (allow it to be configurable for the current locale).
(Public Company; 201-500 employees; Computer Software industry)
October 1996 — April 1997 (7 months)
Generated multi (windows) platform test scripts in MS Test 3.0, Visual Test 4.0, and MS Visual C++ v4.x for the printer engine and vector filter engines for CorelDRAW! 6 and 7.
Wrote a script in Visual Test to attach to applications as a debugger to trap debugging events.
Developed basic IPC routines to allow multiple running Test scripts to communicate.
Tested the vector filter engines and printer engines for CorelDRAW! 6 and 7.
Tested the vector import engine in PhotoPaint 6.
BMath , Computer Science, Combinatorics and Optimization , 1994 — 1999
Ultimate, squash, games (board, pc/console, rpgs, rts, turn based strategy), inline skating
Microsoft Developer Network
Microsoft Alumni