Doron Zavelevsky

Doron Zavelevsky is our principal software engineer and frontend engineering team lead. He was one of the first software engineers to join Applitools five years ago to help us build our AI-driven visual UI testing tools for Selenium, Appium, and dozens of other test automation frameworks.

Doron has created a role that allows him to combine his passion for solving complex problems, and hunger to learn more. He created a community through React Israel that encourages the software developer community to share their stories and knowledge.

We sat down with Doron to hear about what his frontend engineering team are doing, and also what he looks for when interviewing potential front-end software developers for Applitools! 

Hi Doron! So, tell me about your Frontend team here at Applitools?

We’re a team of five front end engineers who really like to work with modern tools and tech stacks. Our team is small but mighty, and we work with a high level of detailed execution on a variety of projects.

We are special in that we are developing a tool for development teams, and we are using our own development tool as part of our development process. By using our own technology — eating our own dog food, so to speak — we represent the users and define the best practices for a quality-oriented development team that has the power of visual testing at their disposal.

What’s exciting is that we are solving problems that have never been solved before. Unlike functional testing, which has been around for decades, AI-driven visual testing is a new category of software. Every day we work together to push ourselves and the product to be better.

What kind of projects are you working on at the moment?

Our frontend team works on multiple projects: our web application is a highly interactive tool for image comparison and visual diff analysis. It’s elegantly built with React and MobX.

These days we are enhancing our web app, making it a collaboration tool that also serves as the world’s first UI version control system. This is very exciting – as we’re able to allow users to compare previous release versions of their user interfaces.

We are also cooking up a revolutionary solution that shows what changes in the DOM caused the visual changes the user is seeing. This is the first time developers will be able to connect the what (visual UI changes) to the how (DOM changes) and why (code changes). This will give them a complete record of their UI history over time. I don’t know of anyone else doing that.

You mentioned impact has always been important for you when choosing roles. What impact does your frontend team have with their work?

We are changing the way software companies are developing and releasing software products all around the world! These days, almost every company is a software company to some degree – be it banks, online stores, mobile providers etc.

Our overall contribution to quality is astounding – and visual quality and reliability have a significant impact on business. As both developers and users of our own technology, we have a say on how it should work – and we help to formulate the vision of the ideal software development process. It’s a rare opportunity for any developer.

Could you tell us about what you look for in potential Frontend team members?

Most importantly I look for people who are passionate about what they’re doing. Some of my team members have been writing code since they were young, and it’s their favourite activity. I believe that when people are passionate they go above and beyond in every task they take on, and I see that in my team. They are curious to know how they can improve their own skills and in doing so, improve the product and the team.

We also look for people who enjoy working with others. Because we’re trying to do something that hasn’t been done before we need to be able to work together and share experiences and ideas. We work in a very relaxed environment in the office. Lively discussions are part of everyday life.

How do you perceive code mastery?

Mastering your craft means you have a deep understanding and hands-on experience not only of the software programming language you are using but also of all the tools that help you in your daily work. It means that your ability to write code, test it, deploy it, maintain it and debug it is optimized to its maximum. It means that you adopted or created every cheat, shortcut, automation and presets that make you a more productive professional.

Finally, when you’re not at Applitools, what are you most likely to be found doing?

I’m organizing meetups and giving talks. It allows me to give back to the community and to meet a lot of people. I like spending time with my family. My young children are very talented in sweetly occupying all my free time 🙂

Like what you read? Our frontend engineering team is hiring! Take a look at our software job openings and get in contact to find out more!

Written by Rebecca O'Connor