F2Pool — The Bitcoin mining pool.
2018 - 2020 / remote — I was involved in the rewrite of one of the key components of the pool in order to increase scalability.
Keywords: Python, Typescript, Apache Kafka, Redis, KSQL, Kubernetes.
Triposo — The travel guide for mobile devices.
2012 - 2018 / remote — I was one of the early employees, working mostly on the data processing pipeline using our custom map-reduce framework, but also on the Web and iOS apps occasionally. The company was later sold to TUI Group and I decided to leave.
Keywords: Python, Map-Reduce, Big data, Web scraping.
App Annie — The analytics platform for iPhone apps.
2009 - 2011 / Beijing — I was there from the very beginning, wrote the first lines of code and most of the code for the first 2 years. I moved on as it started growing into a big business.
Keywords: Python, Django, PostgreSQL, Redis, Web scraping.
I started programming computers when I was 14 years old. My best friend's brother was studying Pascal in highschool and we managed to get hold of a textbook from him. A whole new world opened up in front of us.
Later I got into x86 Assembly, C, C++, Ruby (before Rails) and Smalltalk. Mostly for fun. The pure-OO and dynamic natures of Smalltalk and Ruby were fascinating for me at the time, as well as the .NET runtime when I discovered it. At some point I even started writing my own compiler for Ruby to .NET bytecode before I found out about IronRuby.
After programming in MS-DOS and Windows for a while I got into Red Hat Linux and then I became a fan of Slackware Linux and was often times compiling my own kernel during high school. During this time I also learned quite a bit about Linux system administration and networking.
After a couple of internships doing low-level C programming on Linux I started working professionally writing code for financial institutions using .NET on Windows. I quickly dropped out of university as I realized it was pretty useless for me professionally.
I eventually got into Python, which I used for a long time afterwards. While it lacked the pure-OO beauty of Ruby and Smalltalk, it was practical and easy to get any job done. My favorite setup used to be writing backend code on Mac OS then running it on Linux servers for production.
Some 10 years later I switched back to using Linux as my main OS and I realized how much I missed its beauty during the time I was using Mac OS.