by: Eli Aleyner
Much has been said about software eating the world. This consumption wouldn’t be possible without developers working day in and day out to build the systems that are changing our lives. Making those developers more productive has been a theme for much of my career. I’m thrilled to be joining AtomicJar, the company driving one of the most profound changes to simplify the life of developers, and improve the resilience of the systems they are building.
As one of the first 50 engineers on AWS and core team member on Mechanical Turk and S3, one of my key discoveries was how different the software development practices at Amazon were – compared to the rest of the industry. Much of the world learned about those practices years later: 2-pizza cross-functional teams, DevOps, Microservices architectures and elastic infrastructure allocation – were all practiced at Amazon in the early 2000s. Those practices have helped propel Amazon to grow at least 50x and build a half a trillion dollars, Public Cloud industry. The practices I observed in the early days of Amazon, made it clear to me that Amazon was using jet-engines, while the rest of the industry was caught learning how to perfect a horse carriage. It took years for the rest of the industry to catch-up, and many of those practices differentiate elite teams today from others as described by DORA research
When I saw a similar step-function change – in helping developers to be a lot more effective and agile, enabled by Testcontainers. I knew I had to join the team at AtomicJar. Testcontainers allows organizations to shift-left integration testing directly into the Inner Loop of development cycle. This enables developers to be drastically more efficient, the systems they build to be more resilient and the organizations they work for – more agile!
AtomicJar takes Testcontainers OSS to a whole new level by powering a managed service, Testcontainers Cloud, which enables organizations to run integration tests faster, centrally and without thrashing the developer’s computer. This results in happier, more productive developers – the most valuable resource for most organizations.
Why integration testing is key to developer productivity?
Most companies would never release products without doing expensive manual User Acceptance or automated end-to-end testing of their software. Yet, the later in the development cycle a problem is found the more expensive and time-consuming it is to fix it. Before Testcontainers, doing high-quality testing with real dependencies required developers to set up environments, proxy dependencies and create snow-flakes for each test, resulting in very few true integration tests being developed. Lack of good quality integration tests caused issues not being discovered until later stages of CI – where they are much more expensive to fix. Testcontainers allows doing high-quality, fast testing with real-dependencies – right in the developers flow. Each of the dependencies is loaded quickly, on-demand and discarded when no longer needed – without the developer having to lift a finger. Good thing that Testcontainers is available in Java, Node, Go, Python and other languages and supports a large number of modules, anything from Redis, Kafka, Elastic, or Oracle, SQL Server and dozens of others to cover most use cases.
By using Testcontainers an organization can go fast and NOT break things. Adopting Testcontainers also doesn’t require an organization to change its existing practices or adopt expensive platforms. Add Testcontainers to your existing project and get going. Want to go even faster and scale? Sign up for our Testcontainers Cloud beta offering!
Testcontainers adoption by the industry
While we at AtomicJar are of course smitten with Testcontainers and what it enables developers to achieve – we aren’t the only ones. Recently Thoughtworks updated its highly reputable Thoughtworks Radar survey, to move Testcontainers into the “Adopt” category (a highly coveted spot, shared only by a handful of technologies).
In Thoughtworks’ words: “we think [Testcontainers] is a useful default option for creating a reliable environment for running tests” – we couldn’t agree more.
Our usage metrics are all showing rapid growth in Testcontainers OSS and our commercial Testcontainers Cloud offering is getting traction very fast too – and we are just getting started!
The road ahead, join us!
While we have big ambitions, AtomicJar is a small, remote-first, well-funded team of excellent technologists and business folks. We are growing rapidly and are hiring across all disciplines!
Come join us on this journey!