A Surprising Secret About Python Linters
Python, DevOps, Engineering Standards Peter Somerville Python, DevOps, Engineering Standards Peter Somerville

A Surprising Secret About Python Linters

It sounds crazy: you run your linter, fix the issues, run it again… and suddenly it finds more issues. Wait, what?

Yes, it’s a real thing. Depending on the complexity of your code and the tools you’re using, sometimes one pass isn’t enough to get a clean bill of health. But don’t worry, there’s a simple fix: run your linters twice!

Read More
Why Your Team Needs pre-commit
GitHub, Engineering Standards Peter Somerville GitHub, Engineering Standards Peter Somerville

Why Your Team Needs pre-commit

It’s easy to overlook pre-commit when you’re already using GitHub and have a continuous integration pipeline. Why add complexity? In fact, when used well, pre-commit can be the simplest and most effective way to eliminate bugs, style issues, and config drift before they even enter your Git history. pre-commit helps shift quality left, right into your fingertips as you write and commit code.

Read More
The Goldilocks Pull Request
Caparra, DevOps Peter Somerville Caparra, DevOps Peter Somerville

The Goldilocks Pull Request

A Pull Request should be focused. It should do one thing well: fix a bug, add a feature, or refactor a specific part of the code. This helps reviewers follow what changed and why, help CI tools test your changes, and help your future self understand the changes. Your PR should appeal to Goldilocks: not too large, and not too small.

Read More
How Code Reviews Should Work
Caparra, DevOps Peter Somerville Caparra, DevOps Peter Somerville

How Code Reviews Should Work

The best code reviews feel like collaboration, not judgment. They’re an opportunity to ask questions, learn, and improve as a team. When the small stuff is already taken care of, there’s space for that conversation to happen. Caparra is building tools to make this easier for your team.

Read More
Clean Commits from the Start with pre-commit
DevOps Peter Somerville DevOps Peter Somerville

Clean Commits from the Start with pre-commit

Have you ever run git commit, only to realize later that you forgot to fix a small error? If so, you know that tiny missteps can quickly add up to big hassles for your entire team. That is why a simple tool called pre-commit can be so helpful. It automatically runs checks, linters, and other automated routines right before you commit your code.

Read More
Intro to Linters in Python: Clean and Bug-Free Code
Peter Somerville Peter Somerville

Intro to Linters in Python: Clean and Bug-Free Code

Writing clean, error-free code is a lot easier when you have a little help. That’s where linters come in. In this post, we’ll introduce you to linters for Python, and walk through what they are, how to use them, where they came from, and why they’re so useful. We’ll also show a simple Python linting example, and cover how to integrate linters into different environments, from your local editor to CI/CD pipelines. Finally, we’ll recommend the best Python linter for beginners. Let’s get started!

Read More
Understanding Continuous Integration in DevOps
DevOps Peter Somerville DevOps Peter Somerville

Understanding Continuous Integration in DevOps

In the world of software development, Continuous Integration (CI) has become a key best practice for modern DevOps. Let’s break this down, looking first at what “integration” means in software, explore what “continuous integration” looks like for developers, and see how a CI pipeline can be a game-changer for your software team.

Read More
Why DevOps Matters for Front-End Developers
Software Peter Somerville Software Peter Somerville

Why DevOps Matters for Front-End Developers

Great front-end developers focus on the user, crafting interfaces and experiences that delight your customers. If you think about DevOps at all, it probably falls in the bucket of “somebody else’s problem.” Putting some DevOps tools and techniques into your workflow can bring significant benefits. With DevOps you can make your front-end development more efficient, reliable, and collaborative.

Read More