Curriculum Vitæ

Name

Michał Nazarewicz

Email

mina86@mina86.com

Skills

Programming languages

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

Other languages and technologies

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

Systems

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.

Work

Core Developer (Hudson River Trading)

March 2019–September 2020

I have added low-latency integration to traditional and cryptocurrency exchanges. Those include market data feeds as well as order entry interfaces using a mixture of protocols (HTTP, FIX, custom binary protocols etc.).

I’ve worked on improving and optimising HRT’s internal libraries. For example by devising a more robust time-zone API, pushing more use of new C++ features such as string_views and speeding up some operations through use of SIMD instructions.

I’ve been responsible for ongoing maintenance and live troubleshooting during trading hours. My previous experiences have allowed me to promote a better ops practices which have improved robustness of HRT’s systems.

Technologies: C++

Quant Developer, VP (Barclays Capital)

March 2018–January 2019

I have worked on models for algorithmic trading of futures and currencies. In particular, I have developed a framework for automated verification of implementation’s behaviour in connection to bank’s regulatory and contractual obligations.

As a person fluent in Python and git, I have also developed several utilities integrating with source repository and our development workflow.

Technologies: Java, Python

Site Reliability Engineer/Software Engineer (Google)

January 2011–February 2018

I have worked on myriad of services and projects including: ⅰ) a large scale payments processing infrastructure processing and recording all transactions made to or by Google, ⅱ) a customer support centre serving customised help pages to users, ⅲ) a customer relationship management system helping marketers provide best support to customers, ⅳ) an HR systems tracking teams’ headcount, ⅴ) service managing the state of production systems and making changes to it and ⅵ) several development and productivity applications.

My roles varied from Site Reliability Engineer (where I was responsible for stability and monitoring of services under my care), Software Engineer (where I was developing new features) and Tech Lead (where I managed a team and directed development of a system), often involving a mixture of the three.

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 worked on the Linux kernel and have written over 180 accepted patches. I was involved with the USB composite framework and memory management authoring multiple drivers and frameworks including Contiguous Memory Allocator, Mass Storage USB function and FunctionFS framework.

Prior to working on the Linux kernel I worked on a mobile web browser based on Mozilla suite including extensions development as well as investigation of Flash plugin support on ARM systems.

Technologies: C, shell scripts, C++

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

mina86.com

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

Education

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.