Full-Stack Mindset at Kombo
One of our core engineering principles is the full-stack mindset. For us, this goes beyond the tech stack. It’s about owning the entire problem.
What Full-Stack Means at Kombo
Full-stack means end-to-end ownership. Engineers write code, talk to customers, understand problems firsthand, and ship the right solutions. This shapes how we build the team and how we work.
Why Engineers Talk to Customers
YCombinator drilled this into us: talk to customers and make them happy. That’s all that matters. We approached every hire with the same entrepreneurial mindset. Everyone does the work we do.
Every engineer talks to customers, handles support for their features, project manages implementation, and makes decisions. We work with people who think like entrepreneurs. This wasn’t easy to maintain as we grew, but we kept it running.
Today, most engineers operate and prioritize independently because they own their work. The company runs itself. This only works through team effort.
Nobody at Kombo says “That’s not my responsibility, give this to the backend team.” We eliminate boundaries. We’re in the same boat. When there’s nobody you depend on, you can only be blocked by yourself. Whatever blocks engineers, engineers handle.
Technically, anyone can solve any problem. This lets us approach projects more aggressively.
Building a System That Works
We keep things radically simple to avoid unnecessary boundaries. Single programming language (TypeScript) for frontend and backend. Monorepo with a single Docker container deployed with multiple entry points. This simplifies deployments and minimizes overhead.
Trunk-based development enables quick merges without waiting for QA or release cycles. Keeps development agile.
Internal transparency: All metrics are visible to everyone. Anyone can query the underlying data in our data warehouse. Conversations are public by default (DMs only for sensitive topics). Meetings are recorded and shared internally. Notion for documentation and planning. Need something? AI will find it in Slack and Notion.
Engineers as Owners
When we spot a problem or opportunity, an engineer takes ownership. They talk to customers first. Before Kombo, we learned this the hard way after building two products nobody wanted.
The engineer gathers context from customers and the team. They write a short RFC explaining the problem and proposing a solution. The team challenges assumptions and shares knowledge.
Once aligned, the engineer owns everything:
- Customer communication
- Technical implementation and design
- Testing and deployment
- Support and documentation
Weekly check-ins keep us on track. No micromanagement. The engineer decides how to solve it and when to ship. They’re responsible for customers successfully adopting what they build.
What We’ve Learned
Early on, we gave projects to any engineer assuming they’d get context and ask the right questions. This wasted time. Engineers got slowed down by uncertainty when others already had context. We solved this with RFCs. Now we crowdsource ideas and concerns across the team before starting initiatives.
All engineers need basic understanding across areas, but strengths vary. We used to assign tasks without much thought. Aligning projects with skill sets makes us faster.
Hiring for this mindset is harder. We look for engineers who are technically skilled, comfortable with customers, and want to take full responsibility for their projects.