Automation in Startups
Conway's law claims that communication structures of an organization are reflected in the software systems they produce — I believe it's true for automation as well. If a company claims to do robust automation, then it better have its internal development and deployment processes automated well. Automation is not a new idea; it has been executed well in several places. But when it comes to a start-up, people often believe that it contradicts with getting a product quickly to the market.
One of the core visions of GrepBio is robust automation in biological data analysis. When a small team is building an ambitious product, automation is the only way to handle the complexity. Without it, every new feature, every bug fix, and every release risks becoming a manual, error-prone effort that slows progress. Good automation turns chaotic, ad-hoc processes into predictable, repeatable workflows. It enforces consistency, reduces cognitive load, and frees people to focus on innovation instead of firefighting.
At GrepBio, we approach automation as a cultural foundation, not a late-stage optimization. This means:
- Fully automated testing to validate every change before it reaches production.
- Automated documentation generation, ensuring that up-to-date knowledge is available for the team — and for one's future self.
- CI/CD pipelines to move features smoothly into action.
- Submodule auto-updates keeping dependencies and shared components in sync across our codebase without manual intervention.
- Monitoring and notification systems to detect and raise issues early.
- Self-enforced constraints that prevent "quick hacks" or bypassing safety checks — because short-term shortcuts create long-term instability.
The Automation Manifesto
Over time, we realized automation at GrepBio wasn't just a set of technical practice — it had become part of how we think, decide, and collaborate. To share this mindset across the team, we distilled it into a set of mantras -- shared beliefs that guide how we work every day.
- When doing something for the first time, think about how we might automate it.
- Second time, automate it.
- Never, ever do something three times manually.
- Teach someone else to use the automation without needing to understand the internals.
- This means automation must be robust — successes and failures explained in plain language.
- Make it easy to run — through CI/CD pipelines, local dashboards, or simple GUIs.
- Automation is never an excuse for doing something insecurely.
- Over time, reduce "time-to-automate" — build a library of tools, examples, and resources, and keep them accessible and documented.
- Don't be the only person who knows how to automate something — spread the skills and mindset so others can create automation themselves. Otherwise, you become a bottleneck.
- Maintain levels of automation — not everything needs to be automated at once, but everything should have a path toward it.
- Treat automation as a cultural trait, not just a technical skill — actively seek opportunities to automate.
These principles aren’t just about efficiency — they’re about enabling a small team to operate at a scale that would normally require many more people.
