Julien Lecomte

Email:

Professional Summary

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)

Experience

  • Yahoo

    701 First Avenue
    Sunnyvale CA 94089
    USA
    http://www.yahoo.com/
    April 2015 Present

    Director of Engineering - Yahoo Mail

    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.

  • Yahoo

    701 First Avenue
    Sunnyvale CA 94089
    USA
    http://www.yahoo.com/
    May 2014 April 2015

    Senior Engineering Manager - Yahoo Presentation Platform

    Managed the Yahoo Presentation Platform team, which mission was to work across all organizations within the company, and with an industry-wide perspective, to bring the best next-generation presentation platforms to Yahoo's web properties. Launched several high profile open source projects, including Pure.CSS and Format.JS, as well as multiple internal projects, including a set of extensions for ExpressJS, and a fully automated polyfill delivery service. Finally, as part of this job, I made the difficult but necessary decision to deprecate the YUI JavaScript library, and announced a new strategic direction for Yahoo in this Tumblr blog post.

  • Yahoo

    701 First Avenue
    Sunnyvale CA 94089
    USA
    http://www.yahoo.com/
    March 2011 May 2014

    Senior Engineering Manager - Yahoo Search

    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!

  • Yahoo

    701 First Avenue
    Sunnyvale CA 94089
    USA
    http://www.yahoo.com/
    February 2008 March 2011

    Principal Software Engineer - Yahoo Search

    Led several large scale and strategic projects in web search. Helped define and drive the use of best practices in web development to ensure performance, robustness, and maintainability. Managed the hiring of new talent, training, and mentoring of new hires and junior web developers. Architected and managed the migration of the frontend of Yahoo's search engine from YUI2 to YUI3. Built the YUI3 version of a "search as you type" widget internally known as "Search Assist".
  • Yahoo

    701 First Avenue
    Sunnyvale CA 94089
    USA
    http://www.yahoo.com/
    May 2006 February 2008

    Web Technologies Evangelist

    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:

    • Reviewing architectural designs and analyzing code.
    • Rapidly producing working prototypes.
    • Creating and delivering training materials to frontend engineers.

    Among other things, I worked extensively on the new version of Yahoo Mail and Yahoo Search, consulted with many Yahoo properties, and also contributed the first version of the YUI Browser History Manager — a library dealing with browser history in Ajax applications — and the YUI Compressor — a JavaScript and CSS compression tool — to the YUI library. I was also a frequent speaker at numerous (internal and external) conferences and workshops.

  • Scalix

    1400 Fashion Island Blvd 602
    San Mateo CA 94404
    USA
    http://www.scalix.com/
    January 2004 May 2006

    Senior Software Engineer

    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:

    • Optimal display of overlapping appointments (problem known as bin packing) using a custom designed graph reduction algorithm implemented in JavaScript.
    • Handling of complex recurrence patterns in multiple time zones.
    • Computing and rendering of Free/Busy data.

    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.

    Wrote a set of tools for web developers (including a JavaScript preprocessor and a JavaScript obfuscator) in Java, and streamlined the entire build system (Apache Ant), improving developer productivity.

    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

  • Easyplanet

    1391 Woodside Road 100
    Redwood City CA 94061
    USA
    http://www.easyplanet.com/
    April 2001 December 2003

    Software Engineer

    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.

Education

Hobbies and Side Projects

  • High Performance JavaScript (O'Reilly)

    http://www.amazon.com/dp/059680279X/
    July 2009 February 2010
    High Performance JavaScript Book Cover

    Contributed the chapter "Build and Deployment" to the book "High Performance JavaScript" by Yahoo engineer Nicholas Zakas. Other contributors, besides Nicholas Zakas himself, include Stoyan Stefanov, Steven Levithan, Ross Harmes and Matt Sweeney.

  • Simplix

    https://github.com/jlecomte/simplix
    March 2007 August 2008

    Developed an operating system with the following characteristics:

    • Target architecture: PC with a single Intel 386 or better CPU
    • Monolithic, interruptible, non preemptible kernel
    • Hardware interrupt handling using the Intel 8259 PIC
    • Software interrupt handling
    • Advanced management of physical memory:
      • High performance page allocator
      • High performance memory allocator (kmalloc/kfree)
    • Support for kernel threads and user space processes
    • Simple scheduling algorithm
    • Support for virtual memory using segmentation
    • Support for system calls: exit, fork, waitpid, getpid, getppid, time, stime, sleep and brk.
    • Peripherals: keyboard, video screen
    • Basic IDE device driver and RAM disk driver
    • Basic user space library

    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:

  • Julien Lecomte's Blog

    http://www.julienlecomte.net/blog/
    July 2007 February 2014

    Posted articles about web development, system programming, woodworking, and amateur astronomy (now just a static archive)

  • Other Interests

Miscellaneous

  • Bilingual French-English
  • I am authorized to work in Europe and the United States for any employer.