Who does it:
- Early-stage startups (1–20 devs): the CTO or lead dev owns all tooling decisions. Setup is one-time-and-broken — nobody maintains it after initial config.
- Mid-market IT services firms (20–200 devs): a DevOps team of 1–4 people handles it, often as a side duty rather than a full-time role.
- Product companies with 50–500 engineers: dedicated platform/infrastructure teams exist but are reactive — developers file tickets to get environments provisioned.
- Version control: GitHub/GitLab (common), Bitbucket (older shops).
- CI/CD: Jenkins (dominant in services firms due to historical inertia and self-hosting preference), GitHub Actions (gaining in startups).
- Deployment: Manual SSH scripts, old-school capistrano-style deploys, or direct AWS console clicking.
- Secrets management:
.envfiles checked into repos, or 1Password shared vaults used by non-technical teams — verified from multiple client engagements. - Monitoring: None or a free Datadog tier left running. Alerts go to personal phones.
- Code quality: SonarQube installed once and never updated; no one reviews the reports.
- Environment provisioning: AWS console → manual instance creation → ticket to developer. Takes 2–5 days for a new environment request.
- Developer time wasted on manual environment setup: ~3–5 hours per new joiner per month, billed at ₹800–₹2,000/hour.
- Broken CI/CD pipelines: a failing build that nobody owns because Jenkins is unmaintained causes 30–90 minutes of lost productivity per incident per dev.
- Security incidents from bad secrets management: hard to quantify but observed as a recurring pain in mid-market engagements.
- Deployment failures leading to customer-facing downtime: particularly painful for product companies with SLAs.
- New developer onboarding: average 5–7 days to get a working dev environment.
- Environment provisioning: 2–5 days per environment.
- Incident response without proper observability: 2x longer mean time to resolution.