Curriculum Vitæ


Michał Nazarewicz



Programming languages

Good knowledge of C, C++, Python, JavaScript, TypeScript and shell scripting. Some Rust, Go, Perl, Lisp, Java, PHP and Pascal. Basics of Assembly (x86, MIPS, ARM), Prolog and Haskell.

Other languages and technologies

HTML, XML, CSS, some XSLT, SQL and LaTeX.


Comprehensive knowledge of GNU/Linux systems from user and administrator perspective as well as system and kernel developer.

Natural languages

Native Polish speaker, fluent in English.


Site Reliability Engineer/Software Engineer (Google)

January 2011–present

I have worked on numerous services ranging from large scale payments processing infrastructure through customer support centre and customer relationship management tools to small headcount tracking software.

I have been responsible for stability and monitoring of those services. To that end I have configured and developed monitoring tools as well as designed and implemented software to be as resilient as possible. This often required graceful handling of one-site failures and developing systems with redundancy in mind.

Since mid-2015, I have been a tech lead of a small team writing a headcount tracking software responsible for dictating the direction of the tool and interactions with internal customers.

Technologies: Python, shell scripts, C++, MySQL, App Engine and plethora of internal Google technologies

Linux kernel hacker (Samsung Electronics)

May 2008–December 2010

I have been working on the Linux kernel and have since written over 180 accepted patches. I have been involved with the USB composite framework and memory management and authored multiple drivers and frameworks including Contiguous Memory Allocator, Mass Storage USB function and FunctionFS framework.

Prior to working on the Linux kernel I have been working with a mobile web browser based on Mozilla suite. I have been developing extensions as well as investigating Flash plugin support on ARM systems.

Technologies: C, shell scripts, C++

Linux administrator (Rootnode Association)

September 2006–March 2007

I have been developing software for and administrating a Rootnode service offering shell accounts, web hosting etc. on a set of shared servers.

Technologies: Perl, shell scripts

Other projects

Free software projects and contributions

A lot of my free software code is available on GitHub. I maintain Tiny Applications consisting of lots of utilities for everyday work in a Unix environment. I also maintain smaller projects such as urxvt-tabbedex and auto-dim-other-buffers.

Lastly, I have contributed to existing open source software such as Linux, Emacs, git, mpd, mpc, notmuch and plethora of other small projects.

Technologies: C, C++, Perl, shell script and more

My web page where I publish (mostly) technical entries from broad variety of topics.


Bachelor of Computer Science defended with honours at the Information Technology and Electronics Department.

Mathematics, Informatics, Applied Mathematics department. Left to pursue computer science at WUT instead.