First Things First
My geekiness was born out of desperation.
I was perplexed about how much relentless studying it typically takes to make a dent, come up with something new and interesting — in modern mathematics, which I was studying in college.
Impatience has always been my strenght and weakness at the same time. And in this case, it lead me to code "for fun" all the way through college. Impatience also happens to be one of three qualities that are part of the three virtues of great programmers, where the other two are laziness and hubris. See threevirtues.com.
My life story spans three continents and three countries: the Ukraine, Australia, and the United States.
I grew up in the Ukraine spending time in schools with advanced physics and mathematics programs. During the breaks or after school I would go to my mother's office – a physics department at a local university, where at the age of 13 I was the only person who knew how to operate a lonely IBM 286 computer in the corner. I also competed at national Olympiads, winning twice: once in physics, and once in mathematics.
My family immigrated from Ukraine to Australia in 1992, where I completed my degree in Mathematics and Statistics, and worked several years writing software.
I moved to the SF Bay Area in 1998 by myself, looking for startups to join. I have since stayed in the Bay Area, working in "the trenches" of companies building various Internet technologies. I worked on email delivery and email groups (Topica, 1992-2005), network penetration and application security (RedSeal, 2006), mobile text and picture messaging (Drop In Media, 2005-2010, bootstrapped, co-founded), and E-Commerce (Blurb, Infectious, ModCloth, Wanelo 2007-2015), as well as social network (Wanelo).
Who Am I?
Today, I see myself an almost obsessive "creator" as opposed to a "consumer." It takes an effort for me to step away from the creative process (i.e. writing code, fixing something, building a hardware gadget) and into consuming & processing (i.e. reading books, watching talks, for example). I am normally able to zero-in on work with a fierce sense of focus, and when I am in the flow, I tend to be incredibly productive. But I can also step outside my flow, when needed, and listen, help, design, collaborate. Nothing good is ever born in complete isolation.
Coder for Life
I love coding, and I do it all the time. Last few years have been particularly productive, with several open source tools released.
My github profile is perhaps the best place to see what I've been up to :)
Music has always been a big part of my life. When I was a kid I learned to play piano, and it always followed me everywhere. I was in the school jazz band, later becoming an electronic music producer and a DJ. I performed at various music events throughout Bay Area and far beyond since 1997. But my obsession with music didn't stop there: together with my wife, we created "PolyGroovers" – an electronic music duo, whose three albums are available on iTunes and SoundCloud (the latter for free). I still receive emails from people who love it, and that is extremely gratifying to me. I still improvise on my piano at home almost daily.
DJ LeftCtrl (years active: 2005 – now)
PolyGroovers (years active: 2002-2009)
Learning, Emotions and being a "Maker"
I love learning new things, and I do so continuously, subscribing to a lifelong learning. Be that Cisco firewall configuration language, gaming algorithms, hardware and electronics, plastic enclosure design, modeling and production, new programming language, or a piano piece.
A few years ago I started studying human emotions, and how by harnessing their power we can surpass any limits previously thought unattainable. I am a big believer in that.
Most recently I signed up for an Electronic and Digital Circuits course from MIT, due in May. Earlier I built a bathroom occupancy sensor and a display unit, which I still plan to release, eventually, as a product you can buy in stores.
During the last four years, I worked as a CTO at Wanelo.com. There, I had the honor of forming and leading my dream engineering team, infused with the culture of collaboration, optimism, mastery, high quality, and care. Best practices such as pair programming and test-driven development, continuous deployment and complete automation were supportive of that culture, which ultimately cultivated work environment with a phenomenally high productivity, low defect rate, and a happy, self-managing team.
Besides managing the team, I coded the entire time, working on the technology stack all the way from the browser to the deep data store backend. I did not work in iOS or Android, but I worked on nearly everything else.
Our small team of 12 covered a huge range of technologies and solutions: from iOS & Android mobile apps, a single ruby on rails application with many micro-services, a massive horizontally sharded PostgreSQL backend storing over 3B "saves" across 8K shards and eight postgreSQL databases. We also built an incredibly powerful "Data Feeds" application, from the beginning designed to be a standalone solution, it integrated with the primary application via asynchronous queueing and pub/sub using RabbitMQ.
I was instrumental to the design and implementation of the sharded solution, the data-feeds application, and almost all of the key initiatives. I frequently speak at conferences and user groups on how we did this, and the choices we made.
In the end, our backend was serving nearly 5,000–7,000 dynamic requests per second from only eight app servers nodes, with a 80ms average latency. Our # of users to # of engineers ratio by far overtook Facebook's, even in the early days of the Internet giant. Our uptime was 99.99%. We had no security breaches. We did this all without Ops or QA teams, almost never "burning the midnight oil", or working on weekends.
I believe that my strong natural leadership, high intelligence – both rational and emotional, ability to think in abstractions coming from mathematics, diverse set of skills and creativity, and continuous investment into learning allow me to apply "outside the box" thinking to solve hard problems, again and again. It is what makes me a strong player on any engineering team. I can rise above the details, and think, speak using abstractions required to break a hard problem down. Which is often necessary to have it understood and solved. And while doing that, I can mentor most junior developers, helping them learn and be able to repeat such method in the future, and crack a few jokes along the way.
Thanks for taking the time to read all the way down to here!