Tomer Steinfeld has been working as a Frontend Developer with Applitools for over a year now. He’s an expert developer and the nicest of people! His current focus has been rewriting Selenium IDE from scratch to bring it up to date with modern web standards. It is now both a Google Chrome extension and Firefox add-on, is written in React and MobX and does very challenging things. These include recording user interactions, playing them back, supporting many types of UI selectors, supporting interaction with other extensions to extend functionality, emitting code and exporting it, dealing with security constraints, and much more.
We sat down with Tomer to find out what brought him to work in web development and Applitools, and how he continues to learn and build on his skills within his role.
What is your current role?
I work in the test automation space, and because of my love for open source, I am in charge of Selenium IDE, an open source, record-playback tool based on Selenium. It’s an extension that allows people who don’t know how to code to automate web interactions.
Can you tell us about your background?
I started writing code around 4th grade, specifically JavaScript, because I was really curious about how the web worked. Then around the time I was in High School I really got into iOS development, got a Mac and everything, and invested a lot of time teaching myself, still couldn’t understand the block syntax. When I was 17, Apple offered me a scholarship to go to WWDC and I missed my finals in Physics to attend it! (I still had to pay for the flight though…)
After that, I published a few apps to the App Store (check them out here), I got enlisted, and was placed within the computing division of the Israel Defense Forces (IDF). For the first time in my life, I was writing code professionally, rather than for myself, which meant I had to be a team player. Particularly important was how to implement workflows and how to make sure the code I was writing was readable and understandable by my teammates. This proved to be an advantage when I was released from the service and started to look for a job in the tech industry.
Since there was no iOS development in the army, I naturally got back into web development by default. However, going back to the web gave me the opportunity to learn about React and the technologies I rely on today at Applitools.
What motivated you to apply to Applitools?
Looking for your first job is a pretty difficult process because even if you’re good, and you have no problem finding a job, the first one had to be one that would challenge you and make you improve as a developer. Starting on the wrong foot can really be detrimental to your career, so I was careful in selecting the companies I approached and assessing any red-flags.
During my time at the IDF, I learned the value of having a good manager. Within my unit, I had a manager who I felt I could really learn from and that was a great change for me. He pushed me to learn and achieve more, and he challenged the limits of my knowledge.
During my job search, a friend who knows Doron Zavelevsky recommended that I talk to him because he thought working with him could be a similar experience. Doron is known in React circles and from other open-source projects and all that sparked my interest. I wanted to find someone I could learn from, run ideas against and have a good second opinion. After meeting him, I felt working at Applitools and having Doron as a manager was good insurance to progressing my career and challenging and improving my skill set.
What surprised you most about Applitools?
After joining Applitools, I was surprised to find out how much it is known in the test automation industry, particularly for such a small company. This is largely due to that fact that we hire top talent. Each person has a very defined role and skillset and a well-defined problem area to work on. Working here every day, it’s easy to get used to this, but because of the Applitools people and their unique specialized skillsets, we are able to maintain relationships with industry leaders and have people look forward to what Applitools has to offer.
Could you tell me about your Selenium IDE project?
Selenium IDE is an open-source test automation tool, designed to record website interactions and then play them back. It is developed with the Selenium community, which has its own challenges outside writing code, managing the community, coordinating work with other contributors and more.
I was interested because it was open-source, a new project, and I could do it the way I wanted and using the tools I wanted to use to build it. It’s fun! Initially, we thought this project would just be part of my role. At the beginning there was a lot of pressure to get something working and be able to say that we were doing this properly, we thought things might slow down after. But instead the project has continued to grow and we’ve hired Dave Haeffner to share the load!
What can we find you doing outside of work?
Recently, I’ve been working on a new personal blog, I’m using GatsbyJS both because it’s React based, and I like React, but also because it generates a static website at the end of it. Hosting a static website is free nowadays (even with SSL), so I don’t have to pay a dime for it. You can check it out here.
What’s next for you at Applitools?
I’m not ready to make a big move just yet within Applitools, because I feel that my Selenium IDE project isn’t mature enough to stop working on it full-time, but once it gets to that point, I really want to get into more diverse projects and work with more people within R&D. This would open up seeing R&D from other people’s points of view. There are plenty of opportunities to challenge me further here – it’s just a case of deciding where to focus.
Interested in hearing more about opportunities to progress your career with Applitools? Check out our careers page or contact one of us to hear more!