π΅οΈ dev-modern-architecture
Date: 2025-11-23
2025-11-23 Modern Architecture 101 for New Engineers & Forgetful Experts - Jerry Nixon - NDC Copenhagen 2025 - YouTube { www.youtube.com }β
Speaker: Jerry Nixon
![]()
In this talk I walk through how I think as an architect in a world that is absurdly noisy for developers, especially the newer ones. I start by pushing back on the idea of universal βbest practicesβ and reframe architecture as a series of context-heavy tradeoffs: politics, budget, legacy tech, team skills and time all matter more than whatever some big company did on a podcast. From there I define my job as the person who makes the decisions that are the most expensive to change later and, even more importantly, the person who protects the system from unnecessary stuff. Rather than chasing every fad, I care about keeping things as simple as they can reasonably be, knowing that every new box I add to the diagram is one more thing I own when it breaks.
Then I use the big architecture picture as a thinking model, not a prescription. I start with the simplest shape β a client, an API, a database β and show how I decide when to layer in new capabilities: separating reads from writes, adding replicas, splitting into services, introducing a service bus so systems can talk, hanging retries, caching and queues around the database so the user has a smooth experience even when the backend is struggling. I generalize patterns like event hubs and functions for reacting to changes, API gateways for versioning and protection, static hosting and CDNs at the edge, different storage patterns inside the database, data lakes and ML for analytics that feed back into the product, and identity with JWTs for access control. The point is to teach a way of reasoning: for each of these pieces, understand what it gives you, understand its caveats, and then deliberately choose what to leave out and what to postpone, because in the end simple, deferrable decisions usually make the strongest architecture.
A00 Architecture as choicesβ
Architecture is the set of interconnected choices about how a system is built, hosted, delivered, and operated. The following categories list those choices.
B00 Project and SDLC ecosystemβ
Source control management (SCM)β
- GitHub
- GitLab
- Bitbucket
- Azure Repos
Project processβ
- Scrum
- Kanban
- Agile
- Waterfall
CI or CDβ
- GitHub Actions
- Azure Pipelines
- GitLab CI
- Jenkins
- TeamCity
IDEβ
- Visual Studio
- VS Code
- Rider
SDLC or work managementβ
- Jira
- Azure Boards
- GitHub Projects
- GitLab Issues
- Trello
- Monday.com
- Notion
- Shortcut
- Basecamp
C00 Hostsβ
Cloudsβ
- Azure
- AWS
- Google Cloud Platform (GCP)
- Oracle Cloud
- IBM Cloud
- DigitalOcean
- Linode
- Heroku
Containersβ
- Kubernetes
- Container Apps
- Container Instances
- AWS Fargate
- Docker Swarm
- HashiCorp Nomad
- OpenShift
- Cloud Run (GCP)
- App Runner (AWS)
Serverless and PaaSβ
- Azure Functions
- AWS Lambda
- Cloudflare Workers
- PaaS Hosting
- Azure App Service
- Google App Engine
- Elastic Beanstalk
- Railway
- Vercel
D00 Core toolsβ
Languageβ
- C#
- Java
- JavaScript or TypeScript
- Python
- Go
- Rust
- Kotlin
- Swift
- C++
Frontend frameworksβ
- React
- Angular
- Vue.js
- Svelte
- Blazor
- Next.js
- Nuxt.js
- Lit
- Alpine.js
Backend frameworksβ
- ASP.NET Core
- Spring Boot (Java)
- Express.js (Node.js)
- NestJS (Node.js)
- Django (Python)
- Flask (Python)
- Ruby on Rails
- Laravel (PHP)
- FastAPI (Python)
E00 Extra supporting technologiesβ
AI toolingβ
- ChatGPT
- Copilot
- Claude
- Gemini
- LLaMA
- Mistral
- StarCoder
- XGen
- Zephyr
Communication toolsβ
- MS Teams
- Slack
- Discord
- Zoom Team
- Google Chat
- Mattermost
- Rocket.Chat
- Zulip
- Twist
ORM and data accessβ
- Entity Framework
- Dapper
- Hibernate (Java)
- JPA (Java)
- Sequelize (Node)
- Prisma (TypeScript)
- TypeORM (TypeScript)
- Doctrine (PHP)
- SQLAlchemy (Python)
F00 Product qualities and operationsβ
UI and layoutβ
- Responsive design
- High DPI support
- Custom themes
- Localization
- Globalization
- Accessibility
- Keyboard support
- Font scaling
- Asset downloads
Deliveryβ
- Installation
- Download size
- Offline support
- App Store
- Auto update
- Versioning
- Delta patching
- Sensor support
- User settings
Operationβ
- Startup performance
- Memory usage
- CPU parallels
- Battery usage
- Authentication
- Secure secrets
- Onboarding
- Backup or restore
- Sandboxing
G00 Client applicationsβ
Windows clientsβ
- WinForms
- WPF
- WinUI or UWP
- MAUI
- Uno Platform
- Avalonia
- Electron
- React Native
- JavaFX or Swing
Mobile clientsβ
- MAUI
- Xamarin
- Uno Platform
- Flutter
- React Native
- iOS (SwiftUI)
- Android (Jetpack)
- Cordova
- Ionic
Web and game clientsβ
- React
- Angular
- Vue.js
- Blazor
- Svelte
- Game (browser based)
- Unity
- Unreal Engine
H00 Data and storageβ
RDBMSβ
- SQL Server
- PostgreSQL
- MySQL
- Oracle
- SQLite
- MariaDB
- IBM Db2
NoSQLβ
- SQL Server (NoSQL capabilities)
- MongoDB
- Couchbase
- Cosmos DB
- RavenDB
- Amazon DocumentDB
- Firebase Firestore
Graph databasesβ
- Neo4j
- Amazon Neptune
Search enginesβ
- Elasticsearch
- OpenSearch
Time series databasesβ
- InfluxDB
- Prometheus
