software-architect

Guides architecture and tech-stack decisions using evidence-based frameworks and trade-off analysis.

39|4|Updated Apr 13, 2026
One-click install
npx skills add https://github.com/firatcand/founder-skills --skill software-architect-firatcand
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: software-architect
Source: https://github.com/firatcand/founder-skills/tree/main/software-architect
Command: npx skills add https://github.com/firatcand/founder-skills --skill software-architect-firatcand

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Choosing between monoliths, microservices, serverless, databases, and backend runtimes is high-stakes and often driven by hype rather than evidence. This Skill provides a structured decision framework grounded in practitioner literature (Fowler, Newman, Kleppmann, Richardson) so teams make reversible, context-appropriate architecture choices. ## Core Features & Use Cases - Architectural style decisions: Compare modular monolith, microservices, serverless, and event-driven architectures with explicit prerequisites, failure modes, and migration paths like Strangler Fig. - Backend runtime selection: Match workloads to Go, Rust, Java/Kotlin, TypeScript/Node, Python, or Elixir based on concurrency model, ecosystem, and hiring constraints. - Data layer guidance: Select databases (PostgreSQL, MongoDB, DynamoDB, Cassandra), caching (Redis), and evaluate CQRS and event sourcing trade-offs. - Use Case: A 15-person startup debating microservices can get a recommendation to start with a modular monolith, the boundary conditions under which that holds, and the exact triggers for later service extraction. ## Quick Start Ask the assistant whether you should use microservices or a monolith for your team size and domain, and request the trade-offs and migration path.

Frequently Asked Questions about software-architect

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
Should I use microservices or a monolith for a new project?▼

A modular monolith is the correct default for most systems under 100 engineers with an evolving domain model. Microservices require mature CI/CD, distributed tracing, and teams large enough to own services end-to-end; Fowler notes almost all successful microservices started as monoliths.

How do I choose a backend language for my API?▼

Match the runtime to the workload: Go for I/O-bound APIs and infra tooling, Rust for latency-sensitive hot paths, Java/Kotlin for complex enterprise logic, TypeScript/Node for frontend-heavy teams, Python for ML and data pipelines, and Elixir for massive concurrency.

PostgreSQL vs MongoDB: which database should I pick?▼

PostgreSQL is the correct default for most new systems, offering ACID transactions, JSONB, full-text search, and extensions like PostGIS and pgvector. MongoDB fits naturally hierarchical domain models accessed by entity ID with infrequent cross-entity joins.

When is serverless a good choice?▼

Serverless excels for bursty event-driven workloads like image processing, webhooks, and batch jobs where idle capacity wastes money. Avoid it for latency-sensitive synchronous APIs due to cold starts, long-running jobs, and workloads needing host-level customization.

When should I adopt CQRS or event sourcing?▼

CQRS is legitimate for high-read-volume systems needing denormalized query models that tolerate replication lag, but it is not a default for CRUD apps. Event sourcing adds audit logs and replay at the cost of schema versioning complexity and snapshotting.

When does a polyglot architecture make sense?▼

Introduce a second runtime only when a service has demonstrated production problems on the primary runtime, has stable interfaces, and the team can operate two stacks. A second language spends an innovation token and is not justified as a learning exercise.