What do you do at Gilt?
I’m a senior software engineer who works on the platform team in Dublin. I focus on integrating the load and performance testing platform into Ion Cannon.
What did you do before joining us?
Before I came to Gilt this past summer, I was with Amazon for five years. I owned the cart service for 2 years, then moved on to the monitoring group, where I spent time with the user experience group, and then the logs team.
Before that, I spent five years with a Galway-based telecom start-up. I also worked for Full Tilt Poker for a while (but I swear I had nothing to do with them going under. Poker players will know what happened there).
What are some other interesting things we should know about you?
I’m originally from Romania, and have lived in Ireland for the past 12-plus years. I’m in love with American football, and have been a Denver Broncos fan since 1996. Right now the Broncos are 4-0, have broken a few records, and are favorites to win the Super Bowl, so that all makes me happy. I run virtual machines at home, but they’re all just pet projects.
When did you start programming?
I started in high school. Computers were not very common in communist Romania, but I encountered them as part of a class trip to a university in Craiova—my hometown. The university had an IT center, and after that trip I transferred to the appropriate class there and learned coding. I ended up building programs in Fortran for students who needed them for their university classes. I did this for a few hours every day—so much so, that my parents firmly believed that my high school classes took 10 hours a day!
After high school I went to the CS college so I could follow this route. I’ve been coding ever since. Even if the coding work was not for class, I would write code for other stuff. I also learned many languages, starting with Fortran and Basic, then Pascal, then C++.
How did you get to Gilt?
I had heard that Gilt would be a very good fit for my skills set. And Gilt agreed. Basically, my current team’s needs matched my skills very well from my previous work at Amazon, and I was looking for a new challenge, so I said yes to the opportunity.
Thinking back to your interview, what stood out for you most?
It seemed there were some opportunities to start some new initiatives from scratch—opportunities that I hadn’t had in my previous jobs, where I had to do a lot of legacy work. I was attracted by the performance engineering domain, because it’s one thing that helps and empowers developers to improve and control the quality of their work.
What did you think about joining a Scala shop like Gilt?
I see languages as tools for the job. I don’t see myself as a Java developer, or a Scala developer, but as a software developer. I think you shouldn’t get stuck with one tool—you should diversify and learn the trade of development, and not focus all your energy on how to operate a specific tool.
I’ve always learned new tools for different projects that I’ve encountered along the way. I can write code in a very large number of languages, not all of them to great quality, but if need be I can ramp up my skills. In my career, I first learned and used C++, so at Amazon I first moved to the C++ team. Then I moved over to Java and learned it on the job. Now I’m learning Scala on the job. I did the Coursera course, and am now getting a lot of help from my teammates on code reviews.
What do you appreciate most about Scala?
Scala offers so many ways to write the same thing. Some ways are more succinct than others, and I’m trying to write the kind of code that other people will like to read and maintain.
Working with people who have very good programming skills has been very helpful.
What have you been working on since you got here?
In my first few months I designed a log aggregation solution and wrote a few of my first services in Scala, getting them code-reviewed in Dublin. I felt happy that my first few contributions got the thumbs-up from the guys—that means I’m writing quality Scala code now. The other area I’m involved in is load testing, which we’re planning to develop as a platform so we can integrate it with the build-and-deploy, Ion-Cannon process.
What do you like most about performance engineering?
I like the impact that performance engineering has on other developers. Being in performance engineering means that you have to raise the bar and be at the forefront of quality. What we are about as a group is quality. The best tested code should be the one that does tests for others.
How would you describe our performance engineering style?
It’s set up mostly so that the engineers can release early and often; it gives us the tool set that releases us from worry. It’s very important for a developer to be able to release when they feel like it, because it speeds up the development process while maintaining good quality. It also should lead—and does lead, most of the time—to innovation. If you’re not afraid to try new things because you’re confident that you’re not breaking everything, you can innovate faster. The "zero waiting" concept that we’re trying to develop frees up developers from being blocked by other people, or a lack of tools; here, we can do most of the things ourselves.
And with Galactica, we’re trying to make our infrastructure as elastic as possible so that we no longer have to wait for things to become available. It’s the same concept of zero waiting—you can get infrastructure on demand.
What has your experience working with a transcontinental team been like?
In late summer I visited NYC and met a lot of the team there; it’s very important to be able to put faces to names. I also spent some of my time there gauging interest in this log aggregation project we’re trying to create in Dublin. Having team members across the Atlantic is not difficult, as there is a lot of overlap in the work hours between Dublin and NYC.
Tech-wise, what do you like to read?
I follow several blogs and read magazines like Wired, Linux Format and Mac Format. I read mostly on my iPad—I commute to work by train now, and read a lot on the train.
What are some of your goals at Gilt?
The two projects I spoke about—3-6 months is the goal to get load testing integrated with the built system and get the log aggregation off the ground, to start pulling logs and integrating them. It has to go hand-in-hand with Galactica. I also want to learn more about Scala and sbt. It’s essential to have as much hands-on experience as possible.