Ben Olmstead
ben+resume-909@xn13.com / 1-206-883-7832
Cupertino, CA; willing to relocate
Current version at http://xn13.com/ben-olmstead-resume.html
Keywords
- Scrum, Test-Driven Development (TDD), Object-Oriented (OO) Design
- C (C89, C99), C++ (STL, Boost), Haskell, Perl (5.x), Python (2.x), Ruby, x86 Assembly
- SQL (Oracle, MS SQL, Postgresql, SQLite)
- Linux, Windows
Previous Employment
Software Development Engineer (2009-Present)
Lab126 (Amazon.com Subsidiary)
I am working on the Amazon Kindle. As I write this, I have held this position for six days.
- Resolved defects in the WAN connection manager.
- Provided guidance on the Kindle's use of networking protocols, particularly DNS and HTTP.
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.