Systems software engineer with 15+ years of experience solving tough problems in operating systems, virtualization, networking, distributed systems, performance, and reliability.
Basically, I make $%@! work.
NOTE: I am not interested in relocating. Please do not contact me with job inquiries unless the job is in Seattle or doable remotely.
Software Engineer @ From May 2015 to Present (8 months) Greater Seattle AreaStaff Software Engineer @ Original author and lead developer of Twitter's proprietary 2nd generation HTTP/SPDY/HTTP2 L7 reverse proxy (written using C++11) which handles all incoming site traffic. Involved in the architecture/design of software LB techniques, POPs, caching, and other projects all related to efficient edge traffic delivery.
- Replaced old Java proxy with native code, yielding 3x-10x performance improvement depending on metric.
- Introduced "eternal" client connections.
- Implemented "hot restart" functionality allowing the proxy to be reloaded (code+config) without dropping client connections.
- Forward deployed proxy to untrusted POPs in order to increase client performance in developing markets.
- Mentored team on efficient C++11 development practices.
Mo' traffic == mo' fun. From October 2012 to May 2015 (2 years 8 months) Greater Seattle AreaSenior Software Engineer: EC2 @ Member of the Platforms, Performance, and Tools Team within EC2. Primary engineer responsible for shipping EC2’s initial 10GigE HPC instance types (cc1.4xlarge, cg1.4xlarge, and cc2.8xlarge). Worked with many teams both within AWS (network engineering, hardware engineering, etc.) as well external to Amazon (IHVs, ISVs, etc.). Influence spanned the entire range from system architecture, project management, QA, to deep performance analysis and bug fixing of Linux kernel and Xen hypervisor issues.
Considered an authority on networking architecture and performance issues within EC2. Developed a distributed, mesh based network testing system that is able to drive synthetic loads and gather complex statistics across EC2’s virtualized capacity. This system is used for qualification as well as real-time performance analysis of EC2’s fleet.
Designed architecture for integrating novel HW into EC2’s hosting platform to enable new hosting scenarios and increased performance.
Architected cloud scale testing and anti-entropy driven deployment systems that are now in widespread use within AWS and eventually all of Amazon.
~50 pending patents in the areas of: novel hosting HW, virtual networking, data center management (deployment, auditing, lifecycle workflows, etc.), and IaaS testing. From January 2010 to September 2012 (2 years 9 months) Greater Seattle AreaTechnical Lead @ Architect and lead developer of Electronic Armor: Data Edition, an advanced enterprise IRM solution for Windows that provides data protection without requiring application modification. The system has a novel design which uses an active, dual-mode encryption file system filter to determine whether individual applications should see the encrypted or decrypted version of a file. A RDBMS and AD integrated server provides the backend infrastructure for making rights decisions. Additional user mode code on the client (a system service and client UI application) provide support for network communication, user interaction, etc.
Solely responsible for technical direction of the project, leading the engineering/QA team, and the implementation of the Windows NT kernel file system filter. From January 2009 to January 2010 (1 year 1 month) Greater Seattle AreaFounder, CTO @ Left Microsoft to form a company whose vision was to facilitate the delivery and aid in the monetization of professionally produced video content over the internet. Solely responsible for the technical design and implementation of a client/server system (called Auteur) capable of media asset management, video transcoding, highly performant and scalable streaming, billing and account management, syndication tools, and more. The system, used in production with our launch partner, is capable of streaming 3Mbs HD720P video content to hundreds of simultaneous users via a custom Flash based client.
While my co-founder focused on business strategy, marketing, and product design, I focused on designing and implementing the entire delivery pipeline, from low level server data replication and redundancy, all the way up to the client which is implemented using popular web technologies such as Flash and HTML.
The company disbanded (with the technology licensed to the launch partner) due to lack of funding. From June 2007 to March 2009 (1 year 10 months) Greater Seattle AreaSoftware Engineer: Systems Incubation @ Was an initial employee on the newly formed many-core systems incubation team, the charter of which was to investigate methods of bringing many-core computation to a broader range of programmers and applications. Architected and implemented a new execution context for the Vista kernel, combining the best features of threads and fibers and tailored for user mode scheduling. This involved low level systems/hardware programming on the x64 platform, including alterations of rarely touched kernel components. Extensive advocacy and politicking resulted in this technology being transferred to the product team; it is present in the kernel as of the Windows 7 release and accessed via the User Mode Threading (UMS) API.
Wrote several investigative papers on systems topics including: virtualizing Windows CE by running the kernel in user mode; a next generation kernel designed to fundamentally support resource management and QoS; resource management policy and implementation in heterogeneous computing systems. Participated in developing a team strategy and long range vision for future incubation.
Primary contributor during the planning stages of a project to support High Assurance Platform (HAP) scenarios using virtualization. This involved using a hypervisor and TPM so that system components could be measured and attestation between remote entities could occur. From October 2006 to March 2008 (1 year 6 months) Greater Seattle AreaSoftware Engineer: HD-DVD / Windows CE @ Joined the newly formed embedded HD-DVD team. The charter of the V1 project was to create an end-to-end software package that targeted media focused OEMs and SVs and ran on top of Windows CE. My initial responsibilities included the design and implementation of HD-DVD and device security, including secure boot technology and the Advanced Access Content System (AACS). I quickly became involved in other aspects of the product including the design of the core media pipeline (clip control, source reader, de-multiplexer, decoder interfaces, composition interfaces, etc.) and performance enhancements of the interactivity layer (iHD). My responsibilities also included interacting with external embedded partners that provide System On a Chip (SoC) solutions to insure proper overall system design and integration. This project disbanded due to the failure of the HD-DVD format. From October 2005 to October 2006 (1 year 1 month) Greater Seattle AreaSoftware Engineer: Windows Mobile OORT @ Executed on customer requests on the Windows Mobile platform (Smartphone and Pocket PC) as a member of the OEM and Operator Responsiveness Team (OORT). Development responsibilities, based primarily on partner needs and input, included issue investigation, bug fixing, and feature design and implementation across the breadth of the code base. Worked with leads, program management, and QA to aid in the triage of incoming issues. Major projects included an overhaul of the Bluetooth experience, significant enhancements in device screen rotation performance, Push-To-Talk, as well as the creation of a Secure Boot Loader framework to aid OEM development. Contact with customers was significant including external developer support via phone and email as well as on-site issue resolution and education.
Additional responsibilities included being appointed the primary developer on the newly created Samsung Virtual Team – a group whose goal was to increase responsiveness to the Samsung Windows Mobile engineering teams. Scheduled DCRs, bug fixes, and developer support and helped to develop a team process and strategy. Lead one contract software design engineer during this time. Traveled to Seoul to give engineering talks to Samsung personnel in an effort to increase cross-team collaboration and efficiency.
For the final eight months lead a rotating team of up to five contract software design engineers in fulfilling a similar set of goals and responsibilities as stated above. From August 2003 to October 2005 (2 years 3 months) Greater Seattle AreaSoftware Engineer Intern @ Summers 2002, 2001, and 2000: Continuing development of Talos (www.talos-msds.com), a large-scale client/server, multi-threaded, ODBC integrated Windows application written in C++ (MFC and WIN32). Responsibilities were significant including designing and implementing a new network messaging protocol and maintaining the code base during absences of the primary developer. Gained familiarity with project development life-cycles and client interaction.
Summer 1999: Designed and implemented dynamic web site content using Perl, HTML, JavaScript, Oracle, and SQL. Access database development using Access 97 and Visual Basic for Applications. From June 1999 to August 2003 (4 years 3 months)
M.S., Computer Science @ University of Washington From 2007 to 2009 B.S., Computer Science @ Duke University From 1999 to 2003 Matt Klein is skilled in: Distributed Systems, Scalability, Cloud Computing, System Architecture, Linux, Amazon Web Services (AWS), Software Design, Software Development, High Performance Computing, Operating Systems, Amazon EC2, Git, C/C++, Java, Windows