Geoffrey Broadwell
geoff@broadwell.org
Developer - Educator - Manager
Qualifications
- Extensive programming knowledge -- 30 years of programming experience in many fields
- High quality code -- well documented, well structured, and easily maintained designs, every time
- Skilled tutoring -- enjoy mentoring and teaching others, directly and through good documentation
- Experience building large, high-capacity systems -- including a multi-million user consumer web service for AvantGo, and a multi-million license application middleware for SAP
- Experience working with and managing worldwide teams -- across Europe, Asia, and America
- Strong interests in education, open source development, Internet-related technologies, and 3D graphics
- Award-winning dedication, teamwork, skill set, and performance
Professional Experience
4/10-Present
Contract Developer,
FairChoice Health,
3 Phase Computing, Inc.,
New York City (remote)
Lead web developer of FairChoice Health 4, a vaccination/insurance/health compliance system for universities
- Assisted insourcing of fragile, unfactored, externally developed code base
- Refactored to reduce developer friction, standardize code behavior, and eliminate hidden bugs
- Introduced automated testing, with immediate success diagnosing longstanding issues
- Developed major new features within very short timeframes
- Rapidly advanced from zero knowledge of implementation languages and product domain to most productive member of programming team
8/09-Present
Lead Developer,
Plumage,
Parrot VM Project
Lead designer and developer of Plumage, Parrot's module ecosystem and install tools
- Synthesized a shared vision for Plumage from disparate goals among Parrot users and core team
- Designed a module ecosystem and metadata standard to meet that shared vision
- Developed libraries and an easy to use tool to introspect metadata and perform recursive installations
- Continue to iterate and improve end to end Plumage ecosystem
4/08-Present
Lead Developer,
OpenGL Subsystem,
Parrot VM Project
Lead developer of OpenGL subsystem for Parrot, the virtual machine for dynamic languages
- Created standard Parrot bindings to OpenGL and related libraries (GLU, GLX, GLUT, etc.)
- Supported many different releases and library variations on Windows, OS X, and Linux
- Created tools to automatically generate all trivial bindings by parsing system header files, allowing effort to be concentrated on edge cases and complex APIs
- Documented and worked around many limitations of Parrot's current NCI APIs
- Developed several OpenGL test/example scripts, each one written in multiple Parrot languages
12/05-3/10
Senior Developer,
UsenetISP, LLC,
Santa Rosa
Principle developer, administrator, and support responder for usenet-to-web gateway
- Designed and hand-tuned video transcode engine to add in-browser playback of videos
- One of the first web sites to add H.264 transcoding for high quality Flash playback and iPod download support
- Successfully developed and launched two UI redesigns, with significant new features each time
- Expanded product base from one service to several, including quota-tiered raw NNTP support
- Created affiliate partner program with automatic revenue sharing, flexible ad system, and partner dashboard
- Relentlessly optimized software and systems to manage ever-increasing load and feature support in a "no capital expenditures" environment
- Refactored large, extremely difficult to maintain code base to use single points of truth, clean separation of concerns, and readable code
- Converted many manual processes to automated replacements: self-tuning server work queues, automatic spam blocking, real source control, etc.
- Handled all support tickets and most systems administration across server farm
10/04-8/05
Contract Author,
Perl.com,
O'Reilly Media, Inc.,
Sebastopol
Contract author for premier publisher of Perl books and online articles.
- Polished, detailed writing -- writing sample published as first article
- Wrote first three articles of open-ended series on Building a 3D Engine in Perl; positive feedback led to contract extension for more
- Created authoring and editing tools allowing editor to handle articles several times longer than average without additional effort
- Detailed proofreading caught numerous errors introduced during online production process
- Responded at length to reader emails, helping to resolve difficulties with prerequisite tools and concepts
2/05-4/05
Contract Developer,
IT Operations Change Management,
Autodesk, Inc.,
San Rafael
Maintenance developer of IT change management system, created during previous full-time employment at Autodesk.
- Merged multiple forked versions of codebase created since previous maintainership
- Fixed numerous bugs introduced since previous maintainership
- Followed agile development model, with intense one to two week develop-test-release cycles and daily interaction with customers
- Designed, developed, and implemented new four-tier source control-centered release model, with independent development, QA, stage, and production
- Refactored reporting subsystem and greatly increased reporting functionality
- Massively improved performance of critical transactions, improving end user experience while increasing functionality
- Deeply documented support and development best practices; praised by manager and support staff for documentation quality
8/02-10/04
Senior Support Engineer,
IT Applications Production Support,
Autodesk, Inc.,
Petaluma
Lead developer of the Production Support intranet and new IT change management system, as well as the team lead/acting manager for Middleware Support.
- Administered Postalsoft, SeeBeyond, Apache, and team Unix/Linux servers
- Stabilized fragile, aging C codebase and build system of Postalsoft, resulting in simpler, more reliable builds, and vastly fewer support issues
- Considered local expert in Perl, CVS, Linux, and other open source technologies, teaching and mentoring many others
- Performed numerous meticulous, highly-valued documentation and code reviews
- Built and evangelized Mason-based Production Support intranet, including custom calendaring and documentation management systems
- Successfully evangelized standards-based, author-friendly documentation infrastructure, resulting in largest and highest-quality technical documentation repository in IT
- Built incident reporting system used by all Production Support groups, and change management system used by all of IT
- Built many specialized support tools, replacing difficult, time-consuming tasks with automated solutions
- Represented the interests and knowledge of the team in a number of key business initiatives, including Sarbanes-Oxley compliance
- Greatly increased management skill set, through self-study, formal management skills courses, and on-the-job training
- Managed mixed US and India team as Middleware Support Team Lead, including personnel reviews, individual and team meetings, and management status reports
- Managed as Acting Manager of Middleware Support, with additional duties including management meetings, standardizing various support processes, and hiring staff in India; praised by Manager and Director for management skill
4/99-11/01
Senior Software Engineer,
AMI Engineering Group,
AvantGo, Inc.,
San Mateo
Lead Perl engineer for the AvantGo Mobile Internet service, AvantGo's consumer-oriented division.
- Earned dedication award, 1999
- Earned teamwork award, 2001
- Perl, HTML, Mason, C, and SQL development using FreeBSD, Apache, MySQL, and CVS
- Built secure confirmation system for managing password resets, email bans, etc.
- Built securely authenticated session data manager, and iterated for scalability over several generations
- Built efficient, maintainable database access abstraction layer supporting extensive logging and profiling capabilities
- Built L10N and I18N system, successfully balancing CPU efficiency with highly readable document source required by non-programmer AMI team members
- Converted many monolithic, static page designs produced by the design group into dynamic, componentized Mason code, while allowing easy continued maintenance by designers
- Wrote first version of Perl interface to C based pluggable data provider system using XS
- Initiated port of next-generation C language client software to GTK+, allowing much easier debugging of platform-independent code in the client; praised by client team core developers for quality and value of codebase transferred to their group
- Scaled multi-megabyte codebase from AMI's inception to use by millions of customers
- Administered department's master development server
- Considered to be company's Perl guru, assisting and teaching many other employees
9/96-4/99
Developer,
Advanced Technology Group,
SAP Labs, Inc.,
Palo Alto
Developer, build manager, and development support contact for SAP Employee Self Service, an end-user friendly web-based front-end for the human resources, time entry, expenses, and purchase requisition portions of the SAP R/3 system, allowing both connected and disconnected operation.
- Perl, VB, HTML, shell, and InstallShield development under WinNT
- Managed build, source control, and test environments under WinNT
- Wrote a large portion of the product documentation, and edited the rest
- Created COM objects, test programs, and HTML code used in the middleware layer
- Improved product through all 6 releases; most recent release had 3 million licenses
- Managed multi-language build and install procedure for 2700+ file, 130+ MB hierarchical project
- Built metaprogramming engine to create complete middleware COM objects from simple descriptions
- Fielded customer support questions that could not be answered by regional support staff; often praised for skill in handling difficult customers and explaining complex solutions
- Evangelized the use of Linux, Perl and Apache at SAP; supported successful grassroots effort to begin support of and development for open source platforms, reversing original management position
- Initiated port of R/3 build system to platform-neutral Perl, replacing poorly documented platform-specific programs with maintainable code that works equally well on Linux, Unix, and WinNT
- Considered to be local Linux and Perl guru, teaching others how to install and effectively use both
6/93-9/96
Systems Engineer,
Western Region,
SAP America, Inc.,
Foster City
Server, network, phone system, and demo equipment installation, repair, and maintenance.
- Earned Regional Vice President Super Star award, 1994
- Started as only systems engineer in western region; department grew 10-fold during my tenure
- Experience with WinNT, Win95, Windows for Workgroups, OS/2, and various niche systems
- Wrote HTTP sniffing programs used to find major Internet Explorer incompatibility bug in partner's product, preventing embarrassment in demo with Bill Gates
- Wrote bandwidth-friendly opt-in mass mailer program used to advertise SAP Tech Ed, contributing to rapid growth of that event
- Wrote many data format translation programs that saved significant time and money when working with external vendors
Education
- Bachelor of Arts, Computer Science -- University of California, Berkeley
- Awarded Chancellor's Scholarship, Berkeley's highest merit-based undergraduate scholarship
Other Experience
- Lifelong interest in computers and programming -- began computing at age 3, programming at age 7
- First programming experiences were of cleaning up poorly documented spaghetti code, making a lasting impression of the value of maintainable code style
- Experienced in many languages and systems, from CP/M to Windows to Linux, and from Assembly to C to Perl, and countless others between
- Created a real-time 3D rendering engine in pure Perl, then optimized the computation kernels in C
- Created an ANS Forth with extensive debugging tools in pure Perl, to better understand threaded interpreter design and Perl performance characteristics
- Administer a sizeable Linux, Mac OS X, and Windows home network, including a secured file/mail/print/VCS server and a hand-tuned router/firewall, upgraded over time from ipfwadm to ipchains and finally to iptables, all without significant downtime or a successful attack