Ben Olmstead
ben+resume-1108@xn13.com / 1-206-883-7832
Sunnyvale, CA; willing to relocate
Current version at http://xn13.com/ben-olmstead-resume.html
Keywords
- C, C++, Haskell, Perl, Python, Ruby, Shell Script
- SQL (Oracle, SQLite)
- Linux
- Object-Oriented (OO) Design
Employment
Member of Technical Staff - Senior Software Engineer (2011-present)
I recently joined the Chrome team, working on the Apps and Extensions subsystem of the Chrome web browser.
Senior Software Development Engineer (2009-2011)
(Amazon.com Subsidiary) Lab126
I worked on the Amazon Kindle, primarily on the system daemons, written in C. Bullet points here are vague, because they pertain to unreleased products and/or features.
- Re-wrote the Text-to-Speech integration in the Kindle, reducing errors more than 25-fold compared to the previous version.
- Modified another subsystem to support a major new feature for a future Kindle release.
- Fixed numerous bugs in the core Linux system on the Kindle.
- Improved logging on the device for diagnosing problems in the field.
- Trained and advised teammates on C, POSIX/Linux behavior, and shell scripting.
- Guided junior team members through implementation of new features.
- Worked with other teams within Lab126 and Amazon to agree on and implement interfaces for new features.
Software Development Engineer (2007-2009)
Amazon.com
I worked on the Global Financial Systems (GFS) team, leading a group of developers in maintaining and improving Amazon's C++ and Perl financial reporting systems.
- Created the product backlog for the Sustaining Engineering sub-team, and served as Scrum Master for that team.
- Worked closely with internal customers to understand business meaning and fix root cause of data quality issues.
- Initiated, designed, and implemented new controls for data integrity and SOX compliance.
- Mentored new hires on Amazon and GFS systems.
Senior Software Developer (2005-2007)
PSI (via merger with ODS Software)
I refactored a 1,000,000-line thick-client transaction-processing program in C#, solidifying core code while continuing to add new features.
- Reduced line count and removed dead code.
- Created unit tests for existing features.
- Decoupled code and applied DRY design principles.
Software Engineer (2000-2004)
Polycom (via acquisition of Voyant Technologies)
I wrote control software for custom voice conferencing telephony bridges, using C++, Perl, Java, C#, Ruby, and shell scripting. I took primary ownership of the end-user-facing web interface and the core threading, networking, and serialization framework.
- Rewrote the application's built-in web server, using heavily-tested core code to replace poorly-tested special-purpose code.
- Refactored the core threading, message-passing, serialization, and networking infrastructure to support new use cases, including pluggable serialization formats and transport protocols, and dynamic address registration.
- Worked with telephone companies to support carrier-specific low-level telephony protocols.
Education
Bachelor's of Computer Science equivalent.