AppNexus recently had Daniel “dB” Doubrovkine in the house as a part of our Engineering@Scale speaker series to talk to us about building and scaling a test-driven culture. dB is the head of engineering at Artsy, a New York City-based start-up that aims to make art accessible through its online platform to discover, discuss and collect art.
dB’s talk addressed two main points: what tools and technology are needed to test successfully and what a working culture of testing looks like.
Tools and tech for testing
As a self-taught engineer, dB is a big advocate for open source projects. He points to SQLite as the “holy grail” of test-driven culture, noting that SQL has 1000 times more test code than actual production code. Most corporations are on the other end of the spectrum however, with more devs than testers and no consistent model of testing across the organization.
What a working test-driven culture looks like
According to dB the signs of a working test-driven culture are in the everyday, little things.
- Everyone is on the same page about the value of testing and tests are second nature.
- Bugs become opportunities to test and fix. And most importantly to learn.
- Features start out as tests and grow from there.
- Developers have lower stress-levels, especially when it comes to releasing code, because testing lets them be confident in their work.
- Teams have confidence moving forward with things like refactoring code.
For dB, testing is a grassroots effort. Engineers have to count on themselves so ownership and collaboration are both key. dB suggests starting small – with bugs that become tests that become fixes – and slowly ramping up your test-driven culture from there.
Ultimately, a test-driven culture is about building something that is sustainable. Focusing on the testability of individual components is the best way to scale a system and a test-driven culture provides a rock-solid foundation for successful scaling.