How do you write a blog that other developers will enjoy? Check out our 21 tips to write better posts for developers.
Tomas Fernandez

A Complete Guide to Optimizing Slow Tests
We have released a new guide containing every piece of wisdom we could muster to help you write fast tests and keep them fast. The guide is open source and you can download it today.
Interviewing Engineers at Semaphore
For a company like Semaphore that consists of small and agile teams where every individual counts, finding the right engineers is crucial to success.
10 Books Every Senior Engineer Should Read
Engineers are natural readers. At Semaphore, we’ve picked our favorite books. We hope you like them too.
The Testing Pyramid: How to Structure Your Test Suite
Explore different ways of organizing the test suite including testing pyramid, testing matrix and testing trophy.
Do You Need to Test Everything?
Tests enforce requirements and provide feedback, telling us when something breaks. But are they always necessary?
The 6 Principles of Test Automation
Test automation allows developers to get continuous feedback and spot problems very early in the production cycle. Quick iteration results in improved design, better quality, and safer launches.
The Economics of TDD
TDD can help you accelerate development and reduce costs over a project’s lifecycle.
9 Ways To Make Slow Tests Faster
At Semaphore, we’ve seen our fair share of tests and have identified 9 ways to make your slow tests faster.
5-Step Strategy for Optimizing Slow Tests
Tests should help development, not block it. Optimize them to keep you development cycle fast and stay competitive.
Feature Flags: A Gentle Introduction
If you can’t decide if testing in production is a foolish or a genius idea, this tutorial will definitely help.
Change Management for Containers
Change is inevitable, and while commits on Dockerfiles are easy to control, the impact of those changes on the resulting image are not. Fortunately, where there’s a need, there’s a tool.
The Benefits of Acceptance Testing
In this article, I’d like to talk about one of the most complex forms of testing, one that will tell us when we have met our software design goals: Acceptance Testing.
Continuous Container Vulnerability Testing with Trivy
Without security in your CI/CD, sooner or later, a vulnerability will sneak in, and before you know it, someone will be mining at your expense.
Secure Your Kubernetes Deployments
A recent survey by Red Hat found that more than half of the Kubernetes environments are misconfigured. Even worse, about 90% of respondents had at least one security incident last year, leading to the very first wave of Kubernetes-native malware. In this tutorial, we present three tools to validate and secure your Kubernetes deployments.