Gleb Bahmutov: When I First Saw the Test Runner, I Knew It Was Special

May 15, 2019 0 Comments

Gleb Bahmutov: When I First Saw the Test Runner, I Knew It Was Special



Gleb Bahmutov has contributed to more than 300 open source projects, has been blogging since 2013 and circling the globe sharing his knowledge and craft on building excellent software. In this interview, he shares his passion for image processing, software testing, and, of course JavaScript. Gleb is coming to Amsterdam to give a talk at JSNation Conference, June 6–8, 2019.

I went to graduate school expecting to work on operating systems and programming languages, but a computer vision class has changed my life. Seeing the results as images or video is a lot more interesting than looking at rows of numbers, so I got involved with panorama processing and it became my thesis topic.

After graduating, I worked with 3D laser scanners and making virtual tours, and at some point our small company was supplying both Google StreetView and Bing Maps with interior tours — something they could not do yet at that time. Then I moved to data visualizations in the browser and worked at MathWorks trying to recreate MatLab charts using the browser APIs. But I was always interested in good software engineering and writing solid reusable software. So I kind of shifted to JavaScript and became good at writing all the little modules and tools to make myself more productive.

At my previous startup (financial analysis) we were looking for a good end-to-end testing tool — and everything was just painful to use. PhantomJS, Karma, CasperJS, and Nightmare — you name it, we have tried it. But as soon as I saw the test runner for the first time, I knew it was really special.

I knew that it made me write web application code that really worked. And even better — if you program in JavaScript you can change a lot of Cypress behavior via plugins and custom commands. So I have convinced the company to switch to Cypress during its beta access program, and started training other engineers and doing all sorts of interesting experiments with end-to-end testing.

After a year, it was only natural to join Cypress to continue working on the test runner itself and the related SaaS services.

Like any startup, you got to do many things, so I worked on the test runner itself, for example building it for the Windows OS. But I constantly shift from topic to topic. I worked on the test runner and on the SaaS side of business. I worked on the test parallelization feature and on paywall — you got to pay those bills. Now I am working closely with other companies to make sure Cypress tests are super simple to run on every platform, on every CI and that it plays well together with other tools, like visual testing.

Oh yeah, a lot of my open source projects are linked from and they are mostly tiny “glue” utilities and modules that I needed — and that did not exist yet. So I would just code something for myself, and usually publish it to NPM. I got the scaffolding and project setup all automated, so starting a new project is quick and painless. My favorite personal tool is next-update — a painless way to update project’s dependencies without breaking tests. I use it a lot myself.

I have given talks on a variety of topics, but one of my favorite ones is this short lighting talk from ng-conf 201. I think it shows my presentation style pretty well. I joke a lot!

So I write the blog for myself — because I constantly forget stuff. Writing it down helps me find the solution quickly. At some jobs people joke that half of my emails to them are just links to my posts as my answers to their questions.

So I have two hobbies that kind of cancel each other — I stay in shape by jumping rope and I get out of shape by drinking craft beer. So my days are filled with working out and then celebrating being in shape. 🙂 By the way, you can see all the beers I have consumed over the years at

What it clearly shows is that phone cameras have improved a great deal!

I am super excited about JSNation — the speakers line up is incredible. These truly are people I want to see and learn from. Plus I have heard that Amsterdam is a fun city. 🙂 But seriously, the program, the venue and the city atmosphere are 100% incredible.

Reserve a spot at JSNation and get to see Gleb's talk

The interview was prepared with the assistance of Marina Vorontsova, a copywriter from Soshace is a hiring platform for web developers: hire a developer or apply for a remote job.

Tag cloud