Doug Beaver Senior Software Engineer doug.beaver@gmail.com Highlights - 9 years of experience delivering enterprise-grade website applications, services, and architectures. - Excellent design and documentation skills. - Strong background in system analysis, auditing and review. - Extensive experience in debugging, profiling, and performance tuning, including an uncanny ability to find and squash bugs. - Deep understanding of operating system concepts and implementations across multiple flavors of Unix, including Linux, BSD and OS X. - Experienced software development mentor and recruiter. - Years of experience in mission-critical support and problem diagnosis for the world's largest e-commerce company, operating in an environment where every second of downtime equals thousands of dollars in lost revenue. Work Experience Amazon.com (1997 - 2004) Software Development Engineer Most recent position was key member of development team enhancing and supporting the worldwide media serving infrastructure, which is responsible for serving over 50,000 media objects per second to external customers. Routinely participated in design meetings with the company's upper echelon of developers and technical managers, working on critical projects including Amazon's global object store and global filesystem. Broad experience debugging website outages in an environment where thousands of dollars of revenue are lost every second. Known for cool, calm diagnosis of issues in a very hectic, stress-filled environment. During post-mortems, frequently received praise from upper management for my clear and detailed analysis of root causes and recommendations to avoid reoccurrence of outages in the future. Team lead on time-critical project to port all media services apps to a new deployment architecture to support a new set of geographically disparate data centers. Once all teams had their services ready for migration, I participated in a 28 hour marathon weekend migration involving over a hundred of the company's top engineers and worked through the night to make sure the migration succeeded. Rolling back the migration would have cost the company a lot of money, so there was a lot of pressure to make sure things went smoothly. Needless to say, the stress levels were very high. As a member of the Website Development Platform group, I implemented the critical service used by Target employees to lay out and schedule content widgets to merchandise their own stores. This application was crucial in getting Target to partner with Amazon, since they needed fine-grained control over merchandising of their products. To this day, the product merchandizer piece of Amazon's merchant platform is one of the favorite features mentioned by partners. Member of small team tasked with designing and implementing Amazon's next-generation content display engine, focusing on moving from an antiquated in-house engine to an industry-wide solution. Evaluated several presentation layer implementations to find the best fit for Amazon web developers that would also reduce training time and cost. Used my extensive Perl internals background to solve problems other engineers were stuck on. Co-developed the mechanism used to ensure safe evaluation and execution of Amazon's new templates, working closely with internal and external security engineers to ensure a secure implementation. In addition to greatly increasing security, we also got a cheap 30% performance increase by analyzing the glue code that translates service results and making appropriate adjustments in the implementation. Lead developer on critical project to remove LZW-encumbered gifs from Amazon's image library, which required the processing of over 4 million images in a short period of time. Served as domain expert for the legal team and developed a novel solution to the problem that let the company keep high image quality for indexed-color images while also avoiding LZW issues. Led drive to overhaul Amazon's image tool infrastructure and took ownership of dozens of image querying and manipulation tools. Designed and implemented a distributed, autonomous, database-backed image processing framework used by the Design team in several projects to enhance the quality of Amazon's image catalog and remove obsolete formats. The enhanced quality of the images led to a measurable increase in conversion rate on product detail pages. In the Catalog group, co-developed a software application that parsed and normalized packed product listings and inserted them into Amazon's item catalog. This software processed the bulk of Amazon's new catalog items for a two year period. Developed several high-velocity feed processing applications that normalized disparate data from dozens of external sources and added the scrubbed data to Amazon's customer and vendor reviews catalog. Developed extensive data mining, reporting, and analysis tools in the Supply Chain Optimization group, including Amazon's first demand forecasting software and a rules-based application that let buyers generate orders directly to publishers. These tools had immediate, quanitifiable results, saving the company several percentage points of margin on publisher orders and greatly reducing surplus product in the warehouses. Represented Amazon at over ten industry technical conferences including OOPSLA and O'Reilly's Open Source Conference. Worked the company booth, evaluated prospective hires, and participated in intense interview loops so offers could be extended to top applicants while they were still at the conference. Served as instructor for internal courses on Perl and software development. Served as mentor to several junior engineers. Interviewed over 50 candidates and phone screened over 150 candidates, contributing dozens of questions and problems to Amazon's internal database of tech interview problems. Known and praised for my detailed interview feedback, giving candidates tough questions while treating them fairly and with respect. Internet Entertainment Group (1996 - 1997) Software Engineer Responsible for automation of several leading entertainment websites at one of the web's first profitable companies. In early 1997, our outbound traffic saturated two DS3 links (90Mbps) almost 24 hours a day. Developed system for installing software images on Irix servers to enable quick scaling. Developed set of tools to automate InterNIC maintenance of a hundred domains, including automated renewal of domains about to expire, and the automatic registration of domains from a hotlist whose previous registrants hadn't kept their fees up to date. This system let the company legally acquire several domains they wouldn't have otherwise been able to obtain, due to intense demand for popular domain names. Developed database-driven revenue reports for partners with the option of rendering in Excel or HTML, allowing them to visit a secure web server to see their revenue for the previous day. This replaced a manual mechanism involving sql queries and manual insertion/calculation of an Excel spreadsheet. Transformed manual image touch-up/processing pipeline into automated process, saving dozens of hours of work every month. This let the company launch new sites without having to hire as many graphic designers. Key Technologies Operating systems: Unix variants including Linux, BSD, OS X, Solaris, SunOS, and Irix. Languages: Java, C, C++, Objective-C, Perl, Ruby, Python. Databases: Oracle, MySQL, PostgreSQL, BerkeleyDB, memcache. Protocols/Middleware: HTTP, SOAP, REST, XML, Tibco Rendezvous, CORBA, XDR, JGroups, J2EE. Technologies: high-performance dynamic content serving, HTTP caches/proxies/accelerators, website engineering, performance tuning/analysis, database access layers, object-relational mapping, source control/branching, C/C++ link/build diagnosis, scripting languages, sysadmin tools, storage servers, web-based workflow applications, distributed and high-availability database-backed services, rapid prototyping, agile software development methodologies (XP, scrum, etc), OS X application development, content frameworks. Professional Development Contributed to Seattle's Perl user group when it was founded in 1997, giving presentations on: - Advanced Perl programming - Perl data structures Second member of Seattle Ruby user's group in 2001, giving detailed presentations on: - Debugging and inspecting Ruby applications - Useful third-party libraries to make your apps more stable or featureful - Implementing HTTP caches and proxies with the WEBrick HTTP framework - Rapid OS X application development with RubyCocoa Member of ACM, USENIX, and IEEE professional organizations, and regular attendee of OOPSLA. I spend 20+ hours of my personal time every week learning about new technologies. I look for new perspectives or interesting patterns and apply the resulting new outlook when solving problems. I own an extensive library of technical books and am always expanding my knowledge of the software/hardware field. I pick up new technologies and idioms very quickly without a lot of external support, past managers have jokingly described me as an "unstoppable learning machine". I'm very comfortable with Unix and can sling pipes and programs around on the command line very quickly, a skill that was honed during years of oncall support of Amazon's Unix-based systems. I "get" Unix philosophy and have written hundreds of scripts and tools to make software development and oncall support easier at the companies I've worked for. Personal interests include travel, cooking, world events, and cinema. I also run a blog focused on software development titled 'Bitwise Philosophy'. Its url is http://blog.beaver.net. Education Associate's of Science Degree Seattle Central Community College, Summer 2006 Bachelor's of Science Degree in Computer Science University of Washington, Fall 2008