The Backstory of Extreme Geekiness
My geekiness was born out of desperation of how long it takes to do something new and interesting in mathematics. That impatience was one of the qualities that happen to be 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).
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.
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.
Here is one testimonial (others available on my LinkedIn Profile):
One of my senior direct report said:
"I have worked with Konstantin and can say he is bar-none the most technically minded CTO and leader I have ever worked with. He has an amazing depth in system tuning, scaling architectures, Ruby programming, and database tuning.
His biggest contribution though was building a super well-oiled engineering team that is the dictionary definition of efficient, lean and driving a fully automated deployment infrastructure and enforcing best practices such as TDD in a pairing environment.
Overall Konstantin is a super passionate and creative technologist and leader, and would be a great asset to any team that wants to build an amazing tech org. I would fully work with him again in a heartbeat."
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.
What I Offer
- Mentor, teacher, trainer, highly skilled full-stack engineer
- Expert performance, scalability, and high availability applications
- Diverse DevOps Engineer (Chef, Docker, Joyent, AWS)
- Temporary or substitute VPE or CTO
Couple of more specific points about each:
Mentor / Senior Full-stack Ruby/Rails engineer
I am happy to be a senior contributor, as I love coding, have always remained an active coder, and have seen enough systems to be able to get up to speed quickly. My extensive software engineering background, from C/C++, Java, Perl, and Ruby give me the breadth of knowledge a lot of Ruby developers lack today. I can fix that – because I love mentoring more junior engineers, and have done a lot of mentoring in the past. If there are engineers that need to be "pulled up" in their skillset, I would be happy to pair with them.
I love coding in Ruby, and have been doing it since 2006, and it is my "go-to" language of choice. I released several public libraries in Ruby that are in public use today.
Senior DevOps Engineer (Chef)
This role typically involves looking at a system holistically, improving its uptime, performance, resilience, security, scalability and automation. I filled the role of systems architect and DevOps engineer, designing the production layout of our application components across 300+ cloud nodes, managing and optimizing resources, working with our cloud vendor on both technical issues and contract negotiation.
I began building Wanelo's infrastructure using Chef from the very beginning, and the way it started, it remained until today. Complete automation allowed Wanelo not to hire a dedicated Ops team.
Temporary VPE or CTO
Perhaps you need someone to step into your engineering org, work in the trenches, increase efficiency, team happiness, establish better practices, resolve conflicts, provide feedback, suggest how the team can improve, and so on. Or maybe you need someone to represent engineering, report on engineering progress to the current management, founders or the Board. These are the exact types of challenges that I am quite familiar with and very comfortable solving.
I have a special talent for spotting promising junior developers. One of my hires wrote:
"Konstantin was able to recognize what I have to contribute when I did not quite have the confidence to do so myself. "
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!