Development Process: Git, Reviews, Tests, and CI/CD
The collaboration habits that keep software changeable: Git flow, pull requests, code review, testing, CI/CD, and technical debt.
Software is rarely just code. It is code that changes.
That is why development process matters.
If AI helps you write code faster, process becomes more important, not less. Faster code without review, tests, and deployment discipline just creates faster chaos.
Git: the shared language
Git is the standard way teams track changes.
The basic flow:
Do your work away from the main code.
Save meaningful checkpoints.
Ask others to review the change.
Discuss risk, clarity, tests, and design.
Bring the work into the main branch.
Even solo builders benefit from this. A branch gives you a safe place to experiment. A commit gives you a checkpoint. A pull request gives you a place to review your own work before production.
Code review: not a trial, a safety system
Code review is not supposed to be a public judgment of your intelligence.
It is a structured way to make code safer.
Good review asks:
- Is the intent clear?
- Are edge cases handled?
- Are secrets protected?
- Is user data safe?
- Are tests included where risk is high?
- Is this simpler than the alternative?
- Will another person understand this in three months?
The test pyramid
Tests are a safety net. The shape matters.
| Layer | Checks | Amount | Why |
|---|---|---|---|
| Unit | One function or small module | Many | Fast and cheap |
| Integration | Multiple pieces together | Some | Catches wiring problems |
| E2E | Real user flow | Few | Slow but realistic |
AI-generated code should be tested more, not less. The code may look confident while hiding edge cases.
CI/CD: the conveyor belt
CI/CD is automation around build, test, and deploy.
CI means continuous integration: does this change combine safely with the rest of the code?
CD means continuous delivery or deployment: can this change be shipped reliably?
The beginner version:
- Push code to GitHub.
- Run lint and tests.
- Build the app.
- Deploy a preview.
- Review the preview.
- Merge.
- Deploy production.
This turns deployment from a dramatic event into a repeatable process.
Technical debt: the credit card of software
Technical debt is work you postpone to move faster now.
Not all debt is bad. Sometimes speed matters. The problem is pretending debt does not exist.
You know the shortcut, write it down, and decide when to repay it.
The team did not realize the design would become painful.
Security, data integrity, billing, or user trust is at risk.
The first type can be managed. The second needs attention. The third should not wait.
What solo builders should adopt immediately
- Use Git from day one.
- Commit small, meaningful changes.
- Keep a
mainbranch that always works. - Use preview deploys.
- Run lint/build before public release.
- Add tests around money, login, permissions, and data deletion.
- Keep a visible debt list.
Ask AI this
Review this change as if it were a pull request. Look for unclear code, missing tests, security risks, data-loss risks, and technical debt. Return the top five issues in priority order.
Frequently asked questions
Why do I need Git if I work alone?
Git gives you a history of changes, the ability to undo mistakes, and a safe way to experiment on branches. It also makes future collaboration and deployment much easier.
What is a pull request?
A pull request is a way to propose changes, discuss them, and run checks before merging code into the main branch. It is the main moment for code review.
What is CI/CD?
CI/CD is automation around building, testing, and deploying code. It turns deployment from a manual, risky event into a repeatable process.
What is technical debt?
Technical debt is work you postpone now to move faster. Some debt is intentional and manageable. Dangerous debt touches security, billing, data integrity, or user trust.
Which tests should I write first?
Start with tests around the riskiest behavior: money, login, permissions, data deletion, and anything that is hard to fix if it breaks in production.
The takeaway
Development process is how software stays changeable.
The better your tools get at creating code, the more you need habits that keep that code safe, reviewable, testable, and deployable.
About the Author

Jaehee Song
Enterprise data platform architect with 20+ years of experience building data systems for Fortune 500 companies. AI development educator who has taught vibe coding and AI development to hundreds of students. Founder of Seattle Partners, helping Korean technology startups navigate the US market.