Home          Hacks          Photo          Job           Blog           About 
________________________________________________________________________________


Julien Lerouge                                 Email:  julien.lerouge@gmail.com 
San Jose, CA                                   Cell:   (408) 230-6387




                        SOFTWARE ENGINEERING MANAGER




I am an experienced hands on technical engineering manager.  I love  coding  and
designing elegant systems that  perform  at  the  highest  performance  &  scale
required for the job.  I am very curious and analytical, and can quickly  master
new technologies.

I have designed & implemented  software  systems  that  range  from  specialized
device drivers to  compilers,  targeting  platforms  ranging  from  embedded  to
server class. 

I have experience recruiting  and  managing  a  small  team  of  highly  skilled
engineers, keeping the day to day operations on  course  to  achieve  successful
product deliveries.


________________________________________________________________________________
EXPERIENCE

2009 - Present

   Apple, Inc. , Software Engineering Manager (California, USA)
 
  * Leading development of custom and innovative tools for DRM applications,
    involving strong cryptography, clang &  LLVM  compiler technologies and
    advanced obfuscation techniques.
  * Debugging compiler bugs & miscompilations.
  * Drive performance & power optimizations.


2006 - 2009

   Apple, Inc. , Software Engineer (California, USA)

  * LLVM compiler related optimizations for DRM applications, code obfuscation
    and code protection, on MacOS, iOS and Windows platforms, user and kernel
    space.
  * iPod software development & debugging (JTAG).
  * Reverse engineering (x86 & ARM).
  * Audio & Video processing.
  * Build automation, continuous integration.


2004 - 2006

   Sigma Designs , Software Engineer (California, USA)

  * Design and Implementation of an Elliptic  Curve  library,  optimized  for
    MIPS (C and assembly programming).
  * Implementation of AACS for Blu-ray and HD-DVD, on a trusted hardware.
  * Design and implementation of a secure bootloader.
  * Integration of Microsoft WMDRM in Sigma's chip  architecture  (UPnP,  UDP
    and TCP network programming, RSA and AES ciphers).
  * Secure key loading implementation for  production  facility,  applied  to
    HDCP, AACS, WMDRM.
  * General purpose video/audio drivers development and debugging for Sigma's
    chips (UPnP, streaming, MPEG4 audio/video).


2003

   Sigma Designs , Linux Software Engineer Intern (California, USA)

  * Linux Device driver development : debugging, porting to various
    architectures (MIPS, ARM).
  * Linux Frame buffer implementation for Sigma's latest Media processor.
  * Porting of an older multimedia framework to the newest chip (C++).


2002

   École Normale Supèrieure , Software Intern (France)
  
  Grid Computing in the team of Y.  Robert :  MetaSimGrid , Towards realistic
  scheduling simulation of distributed applications, ( paper ).


1999 - 2000

  French Navy, Navigator : officer in charge of  navigation,  third  officer  on
  board the ocean-going tug  Malabar  (A664, Brest, France).


________________________________________________________________________________
EDUCATION

2002 - 2004 (MS EE)

   École Nationale Supèrieure des Télécommunications  (Paris, France)

  ASIC designs, robotics and embedded systems, real  time  and multimedia
  applications.


1999 - 2002 (MS CS)

   École  Polytechnique  (Palaiseau, France)

  Computer science, networking and databases.


________________________________________________________________________________
PATENTS

I am inventor or co-inventor on numerous patents related to software security,
for example:

*  Software integrity verification using variable block length and selection 
*  System and method for annotation driven integrity verification 
*  System and method for array obfuscation 
*  System and method for branch extraction obfuscation 
*  System and method for call path enforcement 
*  System and method for executing an encrypted binary from a memory pool 



________________________________________________________________________________
SKILLS

I have experience taking projects from initial idea to finished products.

My main programming languages are  C++  &  C.   I  often  use  Python  to  build
infrastructure and other tools (continuous build & integration for e.g.).

I have experience building, benchmarking & debugging software for user & kernel
space, on MacOS, iOS, Linux, Windows and Android targets.


________________________________________________________________________________
EXTRA

Strong  Linux  supporter  since  2.0.11  kernel.   Creator  of  the   ACPI4Asus 
project, driver  for  ASUS  ACPI  proprietary  extensions,  listed  as  official
Linux maintainer for several years. Development involved extensive knowledge of
the kernel ACPI subsystem and reverse engineering  of  the  ACPI  tables.


________________________________________________________________________________
2020/09/17                                      Debian / W3C / vim / PHP powered