What did you do before Diffblue?
After studying Computer Science and specializing in security, I spent my early career working in firewalling and general IT security. I then moved into networking, cloud infrastructure and DevOps.
I joined Diffblue as a DevOps Engineer two years ago and, before this, I spent six years as a Senior Systems Engineer for a software company in the Czech Republic. My role there involved architecture, implementation and deployment in AWS, Azure and OpenStack, as well as managing network infrastructure in data centers and offices.
Could you tell us a bit about your role at Diffblue?
Currently, I am part of a team of developers working on Playground, the free version of Diffblue Cover (our main product) that we will soon be launching. This has definitely been the highlight of my time at Diffblue so far.
Playground is entirely cloud native, which has allowed us to develop a service that we are really proud of. It offers a lightweight version of Diffblue Cover and is designed to analyze files rather than entire projects. It’s completely free to use, which is especially exciting as it should help bring Diffblue’s work to a far wider audience, including independent developers.
Rather than having set roles or responsibilities, my team all work together while contributing our own areas of expertise. I mainly specialize in infrastructure and backend architecture. This flat structure allows us to remain nimble and increases the problem-solving capacities of the team; there is always someone each of us can trust to review our work and make sure the quality is there.
Our team has enjoyed a great degree of autonomy from the outset of our work on Playground. For example, we were free to choose our own style of project management and agile tools to support CI (continuous integration) and CD (continuous deployment). We have aimed to ensure fully separated and functioning cloud deployment for every branch, in order to be able to test the entire product prior to production deployment, avoiding any unwelcome surprises. Meanwhile, we have also automated as many steps as possible and no humans are involved in testing or deployment.
Our autonomy as a team also extended to our choice of cloud technologies and programming languages. I have been a fan of the programming language, ‘Go’ for a long time, and its stability and built-in dependency management made it an easy choice for programming Playground. This also influenced our decision to run our executables in AWS Lambda (which began supporting Go last year).
On top of this, running functions in AWS Lambda offers two main advantages. Firstly, we only pay for what we actually use and, secondly, it does away with the task of infrastructure maintenance and scaling. This second factor is especially important because our team is really small and running our functions on top of something like Kubernetes would add a lot of overhead and slow us down. The final architecture uses only one other cloud service - AWS S3, for data storage. Because of this, we have had to iterate over our architecture to make it as simple as possible.
What makes Diffblue unique?
The people are definitely what makes Diffblue special. I couldn’t ask for a better team and feel lucky to work with such a mix of talented individuals. At the same time, Diffblue offers a uniquely collaborative, friendly and diverse environment. It’s wonderful to see so many brilliant teams working alongside each other as part of Diffblue’s mission to make developers wildly more productive using AI for code.