This is extremely outdated. View my updated resume.

I'm keeping this one around for personal reasons, but if you are actually interested in my resume please visit the one at the link above.

Objective

I'm looking for a position that will provide a challenging and stimulating environment with plenty of opportunities to learn new skills and grow as a software developer. Additionally I would like a position that enables me to utilize the specialized skillset I've developed with WebGL in a professional capacity.

I've found that I enjoy contributing to the web development community through my blog, presentations at conferences, and through open source software. I want to find a position that not only is accepting of such contributions but preferrably encourages them. Even better would be to contribute to the development community as part of my position.

I am looking for a workplace that appreciates and encourages code that is well written, well commented, easy to maintain and extend, and simple to understand while not allowing code style or architecture to become a burden to the product. I believe these are all qualities of truly great code and, by extension, great developers. They are principles that I always strive to push myself towards, and would very much like to see supported by my workplace and my peers.


Work Experience

Lead Software Developer

Motorola Mobility - Sunnyvale, CA

05/2011 - Present

Developed HTML 5 applications with and assisted in the development of the Montage HTML5 framework. Led a team of 2-5 developers on multiple projects for internal and external clients. Work includes the Google Chrome "Scratchpad" application and the "Tips and Tricks" application shown on first boot of all Chrome OS devices.

Software Developer

FATPOT Technologies - Bountiful, UT

11/2005 - 05/2011

Responsible for developing and actively maintaining multiple software products for the public safety industry. Examples of such products are: Two field reporting applications, Web-based management tools, in-house developer utilities, server-side applications and scripts, GPS vehicle plotting with multiple online mapping applications (such as Google Maps), and data submission to third party systems. Additionally I was frequently called upon to assist in development of other products to meet deadlines or fix bugs.

Technician, Web Developer

PS Web Solutions - Salt Lake City, UT

3/2004 - 10/2005

Charged with development and maintenance of multiple web pages, most of which were created with PHP and SQL, as well as building and maintaining six large web-based databases, all of which are still in use. In addition, I was responsible for repairing and integrating software developed by a third party, outsourced company which had failed to complete the project given them. I was responsible for maintenance of server hardware and of the in-office computers and network. Server experience was with both Windows Server 2003 and Linux (Gentoo) systems, both of which used Apache HTTP server. IIS was used for a short time as well. During my employment I also managed server and data transfer from a shared web-host to a privately owned series of colocation servers to accommodate growth.


Related Experience

I work on multiple development projects in my personal time. Since I'm a strong supporter of Open Source Software I try to make my own code freely available if I feel that it will help others. Some examples are:

glMatrix

Languages: Javascript

Written to support my WebGL hobby projects while WebGL was still an emerging standard, glMatrix was designed to be a "stupidly fast" 3D mathematics library for Javascript, and at the time of it's creation was typically benchmarked as the fastest library available. glMatrix is used by many developers and projects, such as the Learning WebGL tutorials, for both WebGL and non-WebGL applications.

HTML 5 Demos

Languages: HTML 5, Javascript

I've done multiple demos recently which attempt to showcase features of HTML 5, primarily WebGL. Highlights include renderers for Quake 3, iOS Rage, and Source Engine levels. The source for most of my demos are available through Github.

Sqrat

Languages: C++, Squirrel scripting language

C++ library for the Squirrel scripting language that facilitates exposing classes and other native functionality to Squirrel scripts. Code relies heavily on templates to provide binding functionality and clean syntax.

Github Projects

I have several other open-source libraries available through Github.

TojiCode Blog

I frequently post about development topics (mostly WebGL) on my personal blog.


Languages

Frameworks/Libraries/APIs

Operating Systems/Tools

Education

3 years of coursework from the University of Utah.


Interests

Programming is both a career and a hobby for me, and I spend a good deal of personal time working on projects that interest me and learning new languages, libraries, and techniques. I also enjoy sketching, painting, and 3D modeling as well as playing the guitar, reading any books I can get my hands on, and spending time with my wife, Emily, and dog, Cooper.


References

Additional References available upon request

Professional

Mark Severson
FATPOT, Software Development Lead
(801)879-6532

Ryan Christensen
3M, Web Developer
(801)380-5375

Aaron Nielson
FATPOT, Software Developer
(801)842-8892

Personal

Thomas Hatch
Salt Stack, President
(801)509-7004