This is "Through the Stack," a weekly focus on a topic and links relevant to Lead developers (actual or aspiring) working with an internet-related product.
Many lead developers, tech lead, and staff engineers have their hands in many projects and influence many layers in their organizations. As such, they work Through the Stack: from Strategy, through Operational to Tactical work. This newsletter reflects those dimensions.
If you have comments or content to suggest, please reach out to us by email.
This week ...
We focus on the benefits CI/CD pipelines can bring to teams. Many small teams wait too long to put such pipelines in place, and many others make it too difficult to use them. Still, before jumping into this critical topic, let's look at a few links that made it through the noise in my feeds.
- An interesting read from Usenix on CI
- A video from Marty Cagan on misconceptions about product
- Tomb, a tool to manage secret files (check what else Dyne does too)
- Last week's Tech Lead digest
Now, grab your coffee (or tea) and relax; time to dive into this week's topic: CI/CD and automation.
CI/CD and automation
As a Tech Lead or CTO of an early-stage startup or a young company, you constantly strive to bring value to your project and team. One essential tool that can help you achieve this goal is a robust CI/CD pipeline.
CI/CD and automation have proven to be critical levers in accelerating the adoption of good practices and improving the quality of a team's work and day-to-day operations. Moreover, CI/CD can help your team scale more efficiently, allowing you to tackle more significant projects confidently.
The risks of not having a CI/CD pipeline
Issues usually found in projects where CI/CD is missing or incomplete:
- Time-consuming manual processes
- Higher risk of bugs and errors
- Unpredictable and slow-release cycles
- Difficulty in maintaining and updating dependencies
- Limited ability to scale and collaborate effectively
You might think those are minors, and we exaggerate, but they are like compound interests: they add up to a large amount after a while.
Improvements a CI/CD pipeline can bring
Improvements and impact CI/CD can bring to teams:
- Automate time-consuming processes, freeing up valuable resources
- Improve code quality and reduce the risk of errors
- Speed up release cycles, making deployments predictable and consistent
- Enhance collaboration and knowledge sharing among team members
- Streamline dependency management and keep projects up-to-date
- Boost team morale and satisfaction by providing a more efficient and reliable workflow
Don't downplay those benefits, either! The bigger your team and the project will be, the more you'll rejoice you have made the small efforts to get started by adding just that first bit of CI pipeline.
Getting started with CI/CD can be daunting, but it doesn't have to be. GitHub Actions, GitLab CI/CD, SemaphoreCI, CircleCI, and even AWS and GCP CI/CD offerings can be great places to start. I would recommend avoiding setting up something custom and focusing on what matters first: getting the ball rolling by beginning to automate one thing.
By leveraging the power of these platforms, you can quickly and easily set up a CI/CD pipeline tailored to your project's needs. It's important to note that your CI/CD pipeline will evolve, and that's okay. First, you need to get started and familiar with the concepts associated with CI/CD pipelines and how your project can use them.
After a while, once you are familiar with those concepts and see how the CI/CD solution you chose isn't a total fit, you can start looking at alternatives.
CI/CD, a key to your growth
CI/CD is a critical tool that can empower your team and accelerate your project's success. By automating time-consuming processes, improving code quality, and streamlining security checks, you can create a more efficient and reliable workflow for your team.
As you embark on your CI/CD journey, remember to start small and be open to evolution. Use the platforms and tools available to you to create a framework that works for your team, and stay focused on bringing value to your project and team.
- CI/CD gives you opportunities to automate toil
- Pick something easy to setup first, customize it later
- Make it easy for any engineer to add to the pipelines
- Make sure to remove any custom, manual tasks from the project's tooling
Who are we, by the way?
This content is written and published by Imfiny/Pier22, a consulting company based in France. We help CTOs, and Tech Leads grow their engineering team and stack.