Site Reliability Engineer at Google
Ireland
Site Reliability Engineer at Google
Ireland
Software engineer with a strong UNIX/Linux background. My domains of interest include (but are not limited to):
- compiler development
- kernel / operating system design, development and security
- image processing using stochastic processes
- design, build and run reliable, super-large-scale, distributed systems
I like to tackle challenging technical and theoretical issues (i.e, problems that are hard and interesting) and shave hairy yaks. I work mostly on Linux/MacOSX/*BSD and try to avoid dealing with Windows as much as possible.
I speak:
* French (native language)
* English (fluent, 2 years in a British School, TOEIC >900, work experience in a 100% English environment)
* German (high school level, mostly forgotten now but heh...)
* Japanese (beginner: I took two 6 month classes)
Nickname: tsuna
I have pretty good skills in generic/metaprogramming (C++). The languages I enjoy most are: C++ and OCaml. I also like C/Python/Perl/Ruby/portable Shell script/AWK/sed. I also know Stratego (a language specialized in program transformation). I'm learning Haskell, (E)LISP, Ada. I know Linux, *BSD and MacOSX pretty well, and I also worked with Solaris, HP-UX and Windows. I can learn any new technology/programming language in a matter of days or weeks.
(Public Company; GOOG; Internet industry)
September 2008 — Present (1 year 3 months)
From the European HQ of Google (located in Dublin, Ireland) I run Google's ads serving systems (AdWords, AdSense, ...). These services span on thousands of machines in many datacenters around the world, and have very aggressive availability SLAs as they're critical to Google's business (since they generate over 90% of the revenues of the company). I'm part of the primary oncall rotation to make sure our services meet their SLAs (this involves things ranging from the daily care and feeding to troubleshooting large production issues on a very complex distributed infrastructure, to taking deep dives in the code of our servers to understand bugs or performance regressions, and so on and so forth). I also write a lot of code to help our teams run the said services and manage their ever increasing complexity.
(Public Company; 10,001 or more employees; GOOG; Internet industry)
February 2008 — August 2008 (7 months)
During my internship with the Ads Site Reliability Engineering (SRE) team (in Mountain View, California) I worked mainly on two different project:
- A tool to profile resource utilization (such as CPU, RAM and HDD space) in our different clusters. The tool provides different metrics and views at different aggregation levels (world-wide, per service, per cluster, ...).
- A tool to automate loadtesting of the AdSense infrastructure. This is meant to help the Ads SRE save human time by automating as much as possible a frequent and complex process.
I also worked on various different things in the huge Google codebase (including in Gmail). I started to implement a library that wraps all the POSIX calls related to filesystem so that standard UNIX tools can use (via LD_PRELOAD) the Google-specific "filesystems" (GFS, BigTable...) without having to be recompiled.
(Privately Held; 51-200 employees; Computer Software industry)
January 2007 — January 2008 (1 year 1 month)
I taught C and C++ to about 200 students, in a UNIX-like environment. I assisted them during their various projects and was actually responsible of several of these projects. I gave regular presentations and courses on various topics ranging from version control management to best practices in software testing.
(Privately Held; 11-50 employees; Computer Software industry)
January 2007 — January 2008 (1 year 1 month)
Development and maintenance of the URBI interpreter (C++) and other tools related to URBI. Maintenance of the buildfarm (a small cluster that recompiles a project on all architecture with all compilers whenever there is a commit in the code repository). System administrator (buildfarm, dedicated servers online) because nobody else wanted to / could do it.
On URBI I worked on the core of the parallel and object oriented programming language, helped to draft the semantics of the language and implemented a portable library of coroutines in pure C++. This helped us to implement the very first versions of the new scheduler in the interpreter of URBI v2.
I also helped the entire company to migrate from SVN to Git.
(Computer Software industry)
September 2005 — January 2008 (2 years 5 months)
Parallel scholarship at EPITA through the LRDE, the R&D laboratory of the school.
I worked on Transformers, a generic framework for program transformation on ISO C/C++. I implemented a small compiler (in Stratego) for a domain specific language designed for model checking named eXtended Reactive Modules, based on PRISM. I co-authored a publication accepted at ISoLA'06 on XRM and another for LDTA'08 on disambiguation in parsing. I implemented a reversible C++ preprocessor (conforming to the ISO/IEC 14882 standard) in OCaml.
I also:
- helped maintain a Tiger Compiler written in C++
- wrote an image processing program in C++ to recognize cars on Google map images
- successfully implemented various projects as a student (a Corewar virtual machine in C, a small bootable kernel written in C/x86, an image classifier in C++, and all the following in C: an FTPd, printf, an ISO 9660 reader, a best-fit implementation of malloc, BSD find, the stream functions of the libc)
(Privately Held; 1-10 employees; Computer Software industry)
August 2006 — December 2006 (5 months)
Development of a C++ library to handle graph behaviors, work on the URBI interpretor, buildfarm setup (automatic build system for Linux/OSX/Windows including MS Visual C++)
Computer Sciences 2005 — 2008
DEUG , Mathematics, Physics, IT , 2003 — 2004
International Baccalaureate , 2001 — 2002
C/C++, Build systems, UNIX (Linux/*BSD), programming languages, meta-programming, compiler construction, program transformation, low level (system) programming, portability and standard conformance issues.
LRDE, ACU 2007, ACU 2008, YAKA 2007, FSF, Google, SRE
Certificate of excellence for outstanding work on Utilization Code Yellow at Google.
Multiple other bonuses and certificates from Google.