Skip to main content

Choose a Modern Technology Stack

The technology decisions we make need to enable development teams to work efficiently and enable services to scale easily and cost-effectively. Our choices for hosting infrastructure, databases, software frameworks, programming languages and the rest of the technology stack should seek to avoid vendor lock-in and match what successful modern consumer and enterprise software companies would choose today. In particular, digital services teams should consider using open source, cloud-based, and commodity solutions across the technology stack, because of their widespread adoption and support by successful consumer and enterprise technology companies in the private sector.

Key Questions
  1. What is your development stack and why did you choose it?
  2. Which databases are you using and why did you choose them?
  3. How long does it take for a new team member to start contributing?
Checklist
  • Choose software frameworks that are commonly used by private-sector companies creating similar services
  • Whenever possible, ensure that software can be deployed on a variety of commodity hardware types
  • Ensure that each project has clear, understandable instructions for setting up a local development environment, and that team members can be quickly added or removed from projects
  • Consider open source software solutions at every layer of the stack