Branch
I'm a CTO at a 20-person startup. Our engineers want to rewrite our 5-year-old Rails monolith in Go. Our CEO wants to ship faster not slower. Our VP Eng is pushing microservices. Customer complaints about performance are rising. Budget is tight. Think carefully through what I should actually do, weighing all competing concerns and tradeoffs.
hackathondecision
sonnet
hackathondecision
Reasoning
The user is asking for strategic advice as a CTO at a 20-person startup. They want me to think carefully through what they should actually do given competing pressures. Let me check if any skills apply here.
Looking at the skill gate rules:
- `superpowers:brainstorming` — fires for new products/features, not for analysis/advice
- `superpowers:writing-plans` — fires when user explicitly asks to plan something
- Neither applie…
No skills need to be invoked. This is a strategic/architectural question that I can answer directly. The advisor gate rules say to call advisor for "Cross-system architecture decision (auth strategy, data model design, i…
Let me think through this carefully and give a direct, valuable answer. I'm looking at the core tensions here: the engineers want a Go rewrite, the CEO is focused on shipping speed, the VP Eng is pushing microservices, t…
The big rewrite is actually one of the most dangerous moves a startup can make. Joel Spolsky wrote about this years ago—rewrites discard five years of accumulated knowledge, bug fixes, and edge cases that are baked into …
The microservices push is another trap. Microservices solve organizational scaling problems, not performance problems—they're not a magic bullet for a startup at this size. The overhead of service discovery, distributed …
The real issue is performance, and it needs to be diagnosed properly rather than assumed. I should figure out where the bottleneck actually is—database queries, N+1 problems, missing indexes, memory, caching, CDN configu…
What the engineers are really asking for underneath the "let's rewrite in Go" talk is modern tooling, room for technical growth, and relief from the accumulated pain of the Rails codebase. The language choice is a sympto…
The actual path forward is to diagnose the performance bottlenecks first using tools like NewRelic or Datadog, then fix them with targeted interventions like database optimization, Redis caching, Sidekiq for background j…
At twenty people, microservices are premature; instead, aim for a modular monolith pattern that aligns with your actual team structure. The right strategy is the Strangler Fig pattern: clean up the Rails monolith interna…
For the people side, give engineers a tech debt sprint to modernize Rails while letting one team build a small Go service if there's a legitimate hot-path use case. Frame the modular monolith approach to leadership as th…
The real plan: ship performance improvements in 2-4 weeks, keep the monolith, introduce Go for one service if justified, and use the parallel time to improve Rails developer experience. Then reassess the architecture onc…
Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.