Menu

Curriculum Vitae

French nationality
Driving licence
Laurent Le Brun
26 years old
Mail:
Job objective: Software Engineer or Research Engineer

Experience

Since August 2011 Google - Munich, Germany: Softwar eengineer.
Working on Google internal build system, to reduce compilation times and improve engineering tools.
May 2010 - June 2011 Microsoft Research - Cambridge, UK: Contractor.
Several contract positions, including Compiler Software Engineer for Cross-Platform F#. This work led to the open-source release of F#, Linux/Mac packages, better editors for F# on Unix. I have also made changes on the F# compiler to embed it in Silverlight, see tryfsharp.org.
January 2009 - April 2010 MLstate - Paris: Research engineer
Worked on OPA, MLstate's compiler for building dynamic websites (server & client). Worked on compiler frontend, added features in the language, in charge of the Linux and Windows webserver.
September 2008 - Dec. 2008 Microsoft Corporation - Contractor
Worked with the F# compiler team on performance analysis (language constructs, library routines). Wrote performance comparisons with the C# language.
March 2008 - June 2008 Microsoft Research - Cambridge, UK: Research intern.
Worked in the F# compiler team (library improvements, testing...), supervised by Don Syme.
Feb. 2007 - Dec. 2007 IntelliFactory - Budapest, Hungary: F# developer intern.
Wrote a complete compiler for the .NET framework (lexer, parser, type inference, .NET bytecode generation), for a functional and object-oriented language. Worked also on a website using ASP.NET and F#.
Autumn 2006 Epita - Paris: Teacher assistant in C and Unix shell.
Taught C, system programming, shell scripting and Sed to third year students (intensive courses, 460 hours). Wrote courses and exams.
2004-2005 Epita - Paris: Teacher assistant in OCaml and Delphi.
Created courses and exams for OCaml and Delphi computer languages to assist first year students (group of 40 students, 90 hours). Evaluated and graded completed exams.
Summer 2002 LogoSapience - Angers, France: Web Developer.
Created and maintained a Web site (PHP, HTML and Javascript)

Education

2004-2007 Epita: 5 years degree in computer science (engineer's degree)
Major in Cognitive Sciences and Artificial Intelligence.
Autumn 2005 Tampere University of Technology:
Exchange student for one semester in Tampere, Finland.
Information Technology department: signal processing courses
2002-2004 Epita: 2 years intensive undergraduate degree course
2002 High School Diploma (Sciences)

IT Knowledge

Functional languages F#, Objective Caml, Haskell, Lisp
Script & tools Php, JavaScript, Shell Script, Sed, Awk, Lex, Yacc
Imperative languages C, C++, C#, Pascal, Delphi, Java
Markup languages HTML, Latex, XML
Theory knowledge Compilation and theory of computer languages, functional programming, digital image processing, metaheuristics, constraint programming, template metaprogramming (C++)...
Operating Systems Linux, *BSD, Windows (9x, NT, XP)...
(Tools I use very often are underlined)

Computer projects

2008 Emacs mode for F# in Emacs Lisp
2005 Lisp interpreter in OCaml (group of 5, 2 weeks)
2005 Compiler for the Tiger language, based on Andrew Appel's books, in C++ with Flex and Bison (group of 4, 3 months)
2005 Full Unix Shell (a Bash clone), in C (group of 6, 2 months).
2003-2004 Realistic physic engine for Windows in C++ with OpenGL (group of 4, 6 months)
2002-2003 Worms-like game for Windows, with network support and AI, in Delphi and DirectX (group of 4, 6 months)

Languages

French Native language
English Fluent
German Scholastic level (5 years of study)
Hungarian Beginner (1 year courses in Budapest)

Personal

Since 2003 Prologin association: Examiner for the French contest of computer science (algorithmic exercises), writing computer exercices and correcting them.
Finalist at the French National Contest of Computer Science (2002)
Demoscene Active in demoscene, creating realtime multimedia applications in less than 64kb (including music, textures, 3D models, and special effects)
Music Computer-assisted music compositor ("tracker")
Interested in Compilation, functional programming, image processing and natural language processing

Last update: April 2011