Skip to content

Valera Zakharov

Slack

Valera leads the mobile developer experience team at Slack. Prior to Slack, he worked at Google on the first few versions of Espresso (among other things). Valera likes cake and hummus, but not necessarily in that order.

Inteview image for Valera Zakharov

What led you to become a developer?

My parents are biologists, so I somehow ruled out that option early on in life. However, that didn’t give me clarity on which field to go into. In high school, I was good at math, but I also liked history, debate and soccer. I believe the buzzword at the time was - “well-rounded”.

So, as one does when in doubt, I went into management; Industrial Management at the Krannert School of Management at Purdue University (fun fact: Drew Brees went through the same program). About a semester into my freshman year, I went to my first job fair to try for an internship and realized that employers are looking for engineers. So, I went to my school counselor and said that I'd like to add a second major of computer science. They were a bit hesitant to let me in because, you know, those business students can’t handle the intensity of CS curriculum, but it ended up working out.

Upon graduation, I followed my brother's footsteps to Microsoft as an SDET (Microsoft was still cool at the time. It’s now cool again, but it used to be cool too). And after 5 years working in Windows fundamentals (and playing a lot of soccer - Microsoft has a great internal soccer league!), I joined Google where I went through the Google Java readability process, which is a sort of rite of passage that involves sending 300+ substantial lines of code to a language expert and they proceed to destroy it for the next couple of weeks. And that's when I feel like I finally became a developer. :phew:

What’s your setup and development environment?

Pretty standard San Francisco/Silicon Valley stuff. Open-space, noise-cancelling headphones, desk, 4K monitor, MacBook with a very loud fan.

I mentored an intern last year and she wrote me a sweet letter upon departure; it’s sitting there on the left of my desk next to the succulents and the led-lit fidget spinner. I try not to get attached to the desk setup because of frequent moves within our building. I am, however, attached to my notebook where I write down TODOs for the day and then doodle random stuff on top of them.

A few years ago, I switched to a single monitor setup to help with focus (doing 1 thing at a time and all that) and I’m still using that. My laptop desktop is full of screenshots, which is a shame because it’s covering a nice background photo taken last year near Pienza in Italy.

I write code in a few different languages, so, at one point, I had this situation on my dock:

What can I say, I like my JetBrains IDEs.

My phone home screen is fairly clean. I try (and fail) not to be on the phone too much.

What’s your favorite stack to work with?

I’m a generalist and try to be pragmatic about using the right tool for the job. In the past 6 months, I’ve worked with groovy, python, java, kotlin and php. But if I had to pick one in terms of pure pleasure of coding, it’d go with python.

It’s a love-hate relationship. I hate the lack of type safety and the mess that is the python-dev env setup (xkcd.com/1987), but it's so darn nice otherwise. I love how concise it is, how powerful the standard libs are (especially around string manipulation), great 3rd-party libraries, fast iterations for running the code (i.e. no compilation).

I wouldn’t however, recommend it for a complex project that involves a larger team. I’d go with Kotlin for that, which has a lot of the same benefits but also provides type safety.

What are your top 5 go-to repos?

  • github.com/kelseyhightower/nocode by a long shot. I love deleting code!

  • Google monorepo was amazing in many ways.

  • github.com/android/android-test not because it’s necessarily great these days, but it’s where Espresso currently resides. Some day, when I’m able to build espresso with bazel on my MacBook, I will contribute to this repo.

  • Private repos I work on at slack.

What technologies are you most excited about now?

  • Obviously - reactive crypto machine learning flutter.

  • Serverless. It’s kind of a buzzword these days, but I like the aligned incentives that come with it - compute cycle providers have the incentive to reduce overhead while providing a very simple way for you to solve problems that require those resources. The pay as you go pricing model is nice too.

  • Kotlin - I tweeted about how intuitive it is recently and I still stand by that statement.

  • Bazel - every xoogler misses it and wants to bring it to their company. It may very well not make it outside of Google, but I want to believe.

What does your ideal workflow look like, from messing around to production?

  • Fast feedback loops (that’s probably the main reason I couldn’t be a scientist) that comes from a great local test/experimentation/dev environment.

  • Fast/non-flaky CI checks that provide confidence to merge code to master.

  • Automatic promotion to production

  • Continuous monitoring & alerting

  • Great observability/visibility tooling that allows you to diagnose production issues quickly

What are you currently learning?

Mindfulness & focus. How to be less judgmental, more accepting and content with what I have. The basics: sitting properly at my desk, getting enough sleep, breathing. Owning my own path instead of waiting for things to be handed to me. Kotlin.

What project are you most proud of?

That would still have to be developer.android.com/training/testing/espresso. I was at the right place at the right time and working alongside an amazing tech lead (Thomas Knych) and it all came together to become the de facto UI test framework for one of the largest platforms out there. Plus, I dare you to find a better looking logo for a test framework.

(shoutout to twitter.com/romannurik for its creation)

What are beginner developers not learning that is critical in this day and age?

I think a common answer is soft skills, right? Certainly important, but thinking back to myself when I first started my career, it’s really hard to figure out how anything except tech skills are important until you have a few years of experience under your belt.

So, I’m going to go with: focus on learning how to learn, find great mentors and an environment that allows you to go out of your comfort zone. Whenever you find yourself waiting for certain good things to happen to you, take a step back and think - can I do anything myself to change the situation? A lot of times, the answer may be yes and you find a good path forward.

What tech challenges are you facing at your company?

  • Scaling iOS development, testing & CI. Apple is, unfortunately not, yet, a developer-friendly company.

  • How to instrument & measure the areas we are trying to improve

  • How to reduce reliance on manual regression testing

What music do you listen to whilst developing?

Anything you want to promote or plug?

My team at Slack is hiring in SF & NYC: slack.com/intl/en-ph/careers/dept/1562643. It’s a huge area of focus for Slack. Join us on our fun little adventure!

Interview image for Burke Holland
Burke Holland

Microsoft

Burke Holland is a front-end developer living in Nashville, TN; the greatest city in the world. He works on the Azure team at Microsoft on behalf of JavaScript developers everywhere.

Interview image for Rebecca Hill
Rebecca Hill

WeTransfer

Rebecca is a software engineer, team lead, manager and speaker. Originally from Auckland, New Zealand. She is currently herding cats (aka developers) and wrangling JavaScript at WeTransfer in Amsterdam.

Interview image for Jesse Jorgenson
Jesse Jorgenson

Evernote

Jesse Jorgenson is an engineer at Evernote that focuses on front-end engineering, rich text editing, front-end dev-ops, and Node.js. He has a degree in mathematics from James Madison University and a background in music. He lives in Austin, TX and primarily lives off of breakfast tacos.

Be the first to read new interviews just like this one with Burke Holland. from top developers.