Residence: Mountain View, CA
Email: ****.**********@*****.***
Web: grosskurth.ca/alan.html
Birth date: 1982.09.06. Citizenship: CanadianExperience
R&D Manager,
Build and Release, VMware, Inc.
(2010 October–present)
Manage a team of eight to engineer and operate core build
infrastructure services. We are a central team supporting all product
teams inside VMware.
Tools and Infrastructure Engineer,
Build and Release, VMware, Inc.
(2006 September–2010 September)
Engineered and operated infrastructure for reliable, repeatable,
and scalable build automation. (Hundreds of components and branches,
millions of lines of code).Developed a Python-based, cross-platform build automation framework.
Includes: multi-host support, a producer-consumer component system to
facilitate product integration; a “sandbox” pre-checkin build
service to validate changes; dynamic creation and tear-down of VMs for a
variety of OSes; Django-based web interfaces, RESTful web services, and
command line tools.Converted vSphere product line to use new build framework and
component system and let release engineering effort to audit dependencies
to ensure consistency for 4.0 GA release. Migrated component distribution
from NFS mirroring to HTTP with caching at 15+ remote sites. Built
encapsulated cross-compiler toolchains (gcc/binutils/glibc), packaging
toolchains (RPM, deb, WiX, MSI), and libraries. Modernized and patched
open source packages to build with Visual C++.Started as Member of Technical Staff (MTS) in September 2006.
Promoted to MTS 2 in January 2008.
Promoted to Senior MTS in January 2009.
Promoted to Tech Lead (15-member team) in June 2009.
Promoted to Team Lead (6 reports) in January 2010.
Teaching Assistant,
D. R. Cheriton School of Computer Science, University of Waterloo.
(2005 May–August)Course: Software abstraction and specification.
Taught tutorials on UML, C++, and design patterns. Marked assignments.
UNIX Specialist,
Faculty of Mathematics, University of Waterloo.
(2005 January–2006 June)
Provided support to students, faculty, and staff on Solaris and Linux.
Research Assistant,
Ontario Cancer Institute, University Health Network.
(2002 & 2003, May–August)
Designed, implemented, and tested a C++ software package for
automated image analysis of two-color cDNA microarrays. Code available at
nongnu.org/spatter under the GNU
GPL. Research funded by NSERC.
UNIX Specialist,
Computer Science Student Union, University of Toronto.
(2002–2004)
Configured, built, and installed open source software in the
undergraduate computing environment (Linux/i386, Solaris/sparc). Taught
department-wide seminars on UNIX fundamentals. Tutored students
one-on-one.Education
M.Math, University of Waterloo,
(2004 September–2007 January)Research group: Software
Architecture Group.
Thesis: .
Cumulative average: 91%Courses included Software Evolution, Generative Programming,
Software Architecture, Text Databases.
Hon.B.Sc., University of Toronto,
(2000 September–2004 June)Specialist:
(comprehensive). Major: .
Cumulative average: 80%Courses included Computational Complexity, Symbolic
Logic, Software Design, Artificial Intelligence,
Operating Systems, Compilers & Interpreters.Publications and awards
Alan Grosskurth and Michael W. Godfrey.
A
Reference architecture for web browsers.
Pages 661–664 in
Proceedings of the 21st IEEE international conference on software
maintenance (ICSM'05) volume 00;
0–7695–2368–4, IEEE Computer Society. 2005.
(Acceptance rate: 55/180=30% for full papers,
(55+25)/180=44% for short papers.)
Alan Grosskurth and Michael W. Godfrey.
Architecture
and evolution of the modern web browser.
2006. Submitted for publication.
Alan Grosskurth.
Purely top-down
software rebuilding.
M.Math thesis. D. R. Cheriton School of Computer Science, University of
Waterloo. 2007.
Ontario Graduate Scholarship, 2006 (declined).National Sciences and Engineering Research Council of Canada
(NSERC) Undergraduate Student Research Award, 2002 & 2003.Selected projects
Personal: Linux administration and development.
(2005–present):
Administer Xen virtual server running a custom Linux distribution. Set up
secure UNIX services for DNS, mail, and web. Maintain build scripts for
distribution infrastructure
(spf.alfin.org/snippet).
Graduate course: Software Architecture.
(2004 September–December):
Reverse engineer architecture of Mozilla Suite (2.4 million lines
of code) from source code and available documentation. Examine potential
refactorings to support feature additions. Short paper accepted at
the 2005 International Conference on Software Maintenance in Budapest.
SkillsLanguages: Python, C, C++, Java, SQL, LaTeX, HTML, CSS, sh, awk, sed.Interested in Scala, Lua, Node, Redis.Tools: Emacs, Perforce, Git, Subversion, GNU make, SCons, Ant, Maven,
Autoconf, Buildbot, Hudson, Puppet.Well-organized, detail-oriented, excellent interpersonal and teamwork
skills.