<i>Testing: testing is at the forefront of our development philosophy. We never need to check our code coverage to know that it's at 100%: with disciplined TDD, no line of code will be written without a test.</i><p>Bravo. In my experience that can be overkill, but with finance, I agree: why risk it. TDD everything.<p><i>We don't have a QA team.</i><p>WTF?<p><i>That might be terrifying when you consider the type of software that we're building, but we're confident that our automated testing is thorough and will catch any regression bugs.</i><p>Are regression bugs the only kind of bugs?<p><i>We use continuous integration to test every version of every client library against our gateway.</i><p>What happens when someone uses your client library in a way you didn't anticipate?<p>What happens when johnny-botnet hits your API directly without using the client library?<p>I spent several years developing games, with QA teams that outnumbered the developers. The QA team did not just play the levels through and say "it works!". Sure, they did that for the first hour. Then they'd start doing all those things that they thought someone might try (e.g. in a fit of boredom, or for a laugh). After that they'd just try breaking stuff. What a lot of bugs they would find!<p>As I write I find it hard to believe that I, a game developer, is having to explain the importance of QA to a <i>financial</i> company.