Currently a Director of Engineering at Yahoo/Verizon, working on Yahoo Mail. Specialized in leading the development of web applications, backend services, and native mobile apps (Android or iOS)
As a Director of Engineering, I directly managed a team of a dozen engineers, and influenced an organization of over 40 people, including engineers, designers, and product/program managers. In the span of 2 years, the team rewrote (from scratch) and launched a new version of Yahoo Mail (desktop and mobile), built with React, Redux, NodeJS, and running on Yahoo's internal cloud infrastructure. Half a million lines of code were written, and several sub-projects were open-sourced in the process:
Yahoo Mail serves 300 million MAUs, and brings in $500M USD in revenue to the company. It was a fantastic learning experience to be involved with such a large and critical project, from inception to launch.
Hands-on manager of the Yahoo Search Frontend Platform team (8 engineers), responsible for the migration of the presentation layer of Yahoo's search engine from Apache/PHP to NodeJS. Changing the engine that powers a $2B USD/year business is no easy task! But it was a lot of fun, and we learned a lot along the way, including what not to do!
Worked alongside Douglas Crockford (inventor of the JSON data format), Iain Lamb (co-founder of OddPost) and Bill Scott (now VP at Paypal) as part of Yahoo's Web Technologies Evangelism team, a group that provides architectural assistance to Yahoo developers on the design and implementation of rich interactions in the browser.
Evangelized best practices in frontend engineering with regard to performance, reliability, security, accessibility, maintainability and design innovation. My duties included, but were not limited to:
Led a team of 5 engineers in charge of the development of the industry's best web-based email and calendaring solution [screenshot] (two-time winner of the LinuxWorld Product Excellence Award, made the cover of InfoWorld magazine, etc.)
Designed and developed the industry's richest web-based calendaring and scheduling software [screenshot], on par with the level of functionality offered by native applications such as Microsoft Outlook. Among other things, I had to reverse engineer the format of 100+ undocumented binary MAPI properties used internally by Microsoft Outlook and Exchange for calendaring and scheduling. I also developed the entire client logic and user interface, including complex algorithms to deal with:
Designed and developed a set of reusable DHTML user interface widgets (menu, toolbar, tree view, scrollable grid, rich text editor, etc.), a drag-and-drop library, a cross-browser DOM manipulation library, a date manipulation library, etc.
As a "hands-on manager", I also helped refine the content of upcoming releases, worked on team planning, development milestones and key deliverables to the QA organization
Contributed to the design and implementation of the easyplanet Community Desktop™, a Microsoft Windows application integrating tabbed browsing with multimedia features, and displaying company brand image and real-time content for the use of large media and entertainment companies [screenshot]
Implemented an Apache 1.3.x module (C) used for user authentication and load-balancing with fail-over and session affinity.
Designed and developed the user interface (Delphi, Borland VCL) of an IM application [screenshot]
Developed the audio and video capture modules (C++, Win32, DirectShow) and the user interface (C++, Borland VCL) of a video conferencing application based on the OpenH323 library [screenshot]. I also participated in developing an extension to the OpenH323 library in order to support the dynamic switching of video codecs during a conversation without the need to hang up. That switch was automatic based on live bandwidth measurements during the conversation.
Designed and developed a social bookmarking service (Java)
Developed the user interface of the easyplanet web-based (DHTML) email client [screenshot]
Contributed to installing, setting up and administrating production servers.
Master's degree in Computer Science.
Developed an operating system with the following characteristics:
Development was done in Intel x86 assembly and C on Linux. The operating system was tested and debugged using the Bochs IA-32 emulator, and on a real PC. Read more about Simplix:
Posted articles about web development, system programming, woodworking, and amateur astronomy (now just a static archive)