Don't Wait to Automate
I don't know who needs to hear this, but don't build your new SaaS on a foundation of ClickOps.
Automation
One of the most important, least exciting tasks in early product development is setting up automation. I know — nobody wants to talk about CI/CD pipelines while they’re still trying to decide which logo looks more “innovative.” But if you’re building anything SaaS-shaped, you’re going to need automation across the entire SDLC, and the earlier you lock it in, the better.
This isn’t about having a GitHub Actions job that runs tests. I mean full automation: from the moment someone creates a request or ticket — whether that’s product putting a feature into Linear, internal devs dogfooding the tool, or a bug report from support — all the way through to it being deployed, validated, and optionally marked “done” by a robot in Slack.
Start Early or Regret Later
If automation is something you “get around to later,” you’ll probably never get around to it. What happens instead is a bunch of manual steps and tribal knowledge. Jane knows how to deploy service X, Kevin knows how to tag releases for service Y, and someone has a script on their laptop that does a bunch of magic nobody wants to ask about.
When you haven’t automated things from day one, every new teammate has to learn the process by shadowing someone else. That’s fine for two engineers. At ten, it’s a bottleneck. At fifty, it’s a liability.
What “Full Automation” Really Means
Here’s a rule of thumb I like: if humans have to remember to do it, it should probably be automated.
Request created → Code PR → Tests run → Security scanner → Build → Deploy → Smoke test → Notify team → Done.
All of that can and should be automatic. Even creating the PR could be partially automated from templates or CLI tools. You can also (and should) auto-assign reviewers, auto-tag for owners, auto-update your tracking system, and run validation checks post-deploy. Once all the parts are in place, it feels like magic.
It’s not magic, though. It’s a pile of YAML files, shell scripts, webhook listeners, and some duct tape. But that pile of duct tape saves time immediately and compounds value over the life of your product.
Bonus Points for Developer Happiness
I don't love pipeline work. But I love not thinking about deploys even more. There’s something deeply satisfying about pushing to a branch, watching the pipeline kick off, and seeing a green checkmark come through with no friction.
Good automation helps you catch problems early (a broken build shouldn’t make it all the way to staging), helps enforce consistency (if tickets link to PRs and environments auto-update), and frees up headspace for solving actual user problems.
Final Thoughts
Done well, automation gives you velocity without chaos. Teams can move fast without breaking all the things. Startups can onboard new engineers without ritual. And deploys stop feeling like jumping off a cliff and start feeling like pressing a button.
If you’re building early product foundations and you haven’t set up end-to-end automation — this is your sign. Don’t wait. Do it now before “we’ll fix it later” becomes company policy.