Berlin, Berlin, Germany
I am an experienced software and hardware engineer with a broad range of knowledge covering embedded systems to large distributed systems. With over 25 years of experience in C, more than 20 years in C++, more than 10 years in Python, and as a former Perl core developer, I bring a wealth of experience to any project. I am a passionate code reviewer and mentor and have interviewed over 100 candidates for coding, architecture/design, and behavioural skills. I am highly skilled with performance analysis and debugging tools, including gdb, asan, tsan, ubsan, compiler explorer, perf, valgrind, and jemalloc. I have designed and implemented services that handle tens of billions of non-trivial queries per day, running on hundreds of machines across multiple data centres. I am also the creator of one of the fastest and best compressing read-only file systems with over 1000 stars on Github. I thrive in environments where I can share my experience, apply my skills to new challenges, and learn from those around me on a daily basis.
• Supported clients with a wide range of software development tasks, from embedded bootloaders to cross-platform UI tools • Hardware development from the initial requirements, providing schematics, PCB layouts and tested/calibrated prototypes • Regular code and design reviews • Provided designs for secure authentication/communication in embedded systems • Most of the software development was done in C++ and Python
• Wrote and maintain several Perl modules, two of which ship with the Perl core distribution • Convert::Binary::C allows for very fast and highly configurable packing and unpacking of data based on C type definitions directly from C source code; it has in the past helped people to things like recovering data from old mainframes and porting the data to a new architecture See https://metacpan.org/author/MHX for details.
• Closely followed and contributed to Perl core development • Implemented byte-order modifiers for pack/unpack in Perl 5.10 • Maintained two core modules (Devel::PPPort and IPC::SysV) for several years • Grant manager for the TPF from 2010 until 2021
• One of the first external engineering hires for Facebook's London office • Worked on search infrastructure, spell correction and testing frameworks • Conceived a performance/latency testing framework for the spell correction algorithm and dramatically reduced query latency while not degrading performance • Designed, implemented and shipped a spell correction service that would ultimately handle tens of billions of queries per day • Designed, implemented and shipped infrastructure for personalized spell corrections for billions of users without degrading latency, but significantly improving both precision and recall • Led the infrastructure side of an effort to internationalize spell correction and language models used for posts search, successfully moving from English only to supporting more than 100 languages • Replaced the language model data structure used for prefix search, reducing memory usage by more than 20x, improving multi-threaded performance by up to 4x, and reducing model load time from tens of seconds to basically zero • Contributed to Facebook's open source folly and thrift libraries • Gave talks on infrastructure and C++ to both new hires and experienced engineers • Mentored both new hires and junior engineers • Interviewed more than 100 candidates for coding, architecture/design, and behavioral skills • On-call for search infrastructure
• Maintained C++ backend services for personalised radio, playlisting and recommendations • Designed and implemented a multi-language build system in Python and an object-orient service framework in C++, both of which were eventually used by most of Last.fm's backend services • Designed and implemented a high-performance multi-threaded C++ service for real-time event stream analysis, capable of handling hundreds of thousands of simultaneous client connections on a single server • Designed and implemented a playlisting service for personal music collections