As a software engineer, I had one of the most rewarding day in recent months. When I got into the office, a developer from Flickr filed a ticket about UI browser testing into another Jira queue (bug tracking) and I happen to see that it’s related to the SauceLab project I now own as a technical product owner.
There was an error message she was reporting so I asked her to get on HipChat or find me on instant messenger so that I can help her. She asked if we can meet face to face and I happen to have time at that moment. We sat down and I told her I was just working on a similar issue last night and was going to document how to get SauceLabs working using an open source testing framework, Protractor. So I deeply understood how cryptic the error message was but I was confident I could help her.
I open up the source code for Protractor and showed her the code path of why her functional test was not using SauceLabs, but was trying to use local Selenium. Here is the code for the nerdy reader. runner.js. I talked her through how to get her test running, what code needed to be changee. She ran the test and I could see how happy she was that she could get her functional test finally working. I create an account for her team and I asked if I can meet up with her team in San Francisco to talk with them as well. She was very joyful that I was able to helped her in real time and get a meaningful roadblock remove. For 1.5 hours of work, one person’s pain point was removed and I also saw first hand how difficult it was to get SauceLabs working inside Yahoo.
What I learned: document better for a newbie, have a sample application setup that people can copy from and meet with people 1 on 1 to help them through their roadblocks, have open office hours.
Now the next meeting I had was a 2 hour session with the developer for Yahoo Sports who really really wanted to get functional testing working in the build pipeline for a internal application as well as for running functional tests on her local development machine. We agreed that we would not leave until this was fixed. I spent the better part of an hour understanding what I need to fix, working with a co-worker in Yahoo Search who solved this problem with me before and testing the solution. Once I was certain the problem would be solved with my prototype, I sat down with the Sports engineer and I talked her through what code needs to be changed, how she can best use SauceLabs by structuring her accounts. When she was finally able to get her functional tests to run locally, she gave me a big hug and thanked me for fixing months of frustration. She later told me this was the best thing to happen to her in the last 2 quarters.
After I went back to my desk, I really felt really fulfilled in my job. I’m currently doing what I best at: using my interpersonal skills, my experience in software engineering and being able to dig really deep into a problem, my empathy for engineers’ inefficient workflows and my current deep knowledge of how to get SauceLabs working for developers.
I have not felt this good about my direct contribution to the developers at Yahoo in a long long time. As a software engineer, I spend my time writing documentation, answering questions, writing code and going to meetings. But for me, the time spent to help another fellow engineer and then figuring out ways for hundreds of other engineers never to encounter the same problem again is the most fulfilling time spent.