From programming fundamentals to architecture, cloud, and AI — an interactive drill-down map of the modern stack. Click any topic to dig deeper.
Before frameworks and clouds, there are ideas. A program is a set of precise instructions a computer follows to turn input into output.
if, loops, functions — decide what runs, when, and how many times.Straight-line steps. C, early BASIC. Easy to start, hard to scale.
Data + behavior bundled into objects. Java, C#, Python. Dominates enterprise software.
Pure functions, immutability. Haskell, F#, Elixir. Concepts now mainstream in JS/Python.
Describe what, not how. SQL, HTML, React JSX.
Stack = fast, short-lived values. Heap = objects that outlive a function call.
How runtime grows with input size. O(1), O(log n), O(n), O(n²).
Array, linked list, hash map, stack, queue, tree, graph. Pick based on access pattern.
Threads, async/await, event loops. Runs many things at once without chaos.
Every program runs on an OS. It manages files, memory, processes, networking, and security.
| Topic | What a beginner should know |
|---|---|
| Processes & Threads | Isolated running programs vs lightweight workers inside one program. |
| File System | Paths, permissions, current working directory. |
| Shell / Terminal | Bash / Zsh / PowerShell — text commands to control the OS. |
| Environment Variables | Config values (PATH, API_KEY) read by running programs. |
| Package Managers (OS) | apt, brew, choco, winget — install software. |
The runtime is where your code actually executes. Java on JVM, JavaScript on V8 (Node/Chrome), C# on .NET CLR. Understanding the runtime helps you debug and tune performance.
"Client side" means code that runs on the user's device — the part they see, click, and feel.
Runs in any browser. HTML/CSS/JS + TypeScript. Most reach, least control of device.
iOS (Swift/SwiftUI), Android (Kotlin/Jetpack Compose). Full device power, store distribution.
React Native, Flutter (Dart), .NET MAUI. One codebase → both stores.
Electron, Tauri, WPF, JavaFX, Qt. Usually web tech wrapped as an app.
Smart TVs, kiosks, cars, watches — specialized SDKs and constraints.
Progressive Web App — web that installs like an app and works offline.
| Framework | Backed by | Language | Why it matters |
|---|---|---|---|
| React → | Meta | JS / TypeScript | Component-based, the de-facto default, enormous ecosystem. |
| Angular → | TypeScript | Opinionated and complete — popular for large enterprise apps. | |
| Vue → | Community | JS / TS | Gentle learning curve, approachable templates. |
| Svelte → | Community | JS / TS | Compiles away — smallest bundles, fastest runtime. |
| Solid → | Community | JS / TS | React-like API with fine-grained reactivity. |
| Next.js → | Vercel | React | Full-stack React — routing, SSR, server components. |
| Nuxt → | Community | Vue | Next-style framework for Vue. |
| SvelteKit → | Community | Svelte | Full-stack Svelte apps. |
Apple's native declarative framework. Best performance on Apple devices. (Language: Swift.)
Share business logic across iOS, Android, web; native UI per platform. (Language: Kotlin.)
Webpack, Vite, esbuild, Parcel, Rollup — package many files for the browser.
npm, pnpm, yarn — install JavaScript libraries.
Babel, TypeScript, SWC — modern/typed code → browser JS.
Tailwind, Sass, CSS Modules, styled-components, design tokens.
Redux, Zustand, Pinia, NgRx, React Query, SWR.
Material UI, Ant Design, shadcn/ui, Chakra, Bootstrap.
Screen readers, ARIA roles, keyboard nav, color contrast. Legal in many regions.
Multiple languages, currencies, dates, right-to-left layouts.
Servers run the business logic — authentication, transactions, integrations, background work — and expose it through APIs.
Strongly typed, long-lived; backs banks, airlines, telcos.
MicrosoftExcellent tooling; the Microsoft-shop default.
VersatileReadable, huge libraries; web, data, AI, scripting.
Same language as the browser; fast iteration. Often paired with TypeScript for type safety.
Small binaries, fast startup; built at Google.
SafetyMemory-safe systems language; growing in backend & infra.
WebDeveloper-friendly; famous for Rails.
JVMModern JVM language; runs Android too. (Scala is its sibling.)
SystemsPerformance-critical engines, browsers, trading, games.
ScriptingStill powers a huge share of the web (WordPress, Laravel).
| Language | Framework | Why it matters |
|---|---|---|
| Java | Spring Boot → | Convention-over-config. The enterprise standard. |
| Java | Quarkus / Micronaut | Lightweight, cloud-native, fast startup. |
| C# / .NET | ASP.NET Core → | High-performance web & API framework. |
| Python | Django → | Full-featured — admin, ORM, auth included. |
| Python | FastAPI → / Flask | Minimal APIs; type hints and async. |
| Node.js | Express → / NestJS → / Fastify | From minimal (Express) to opinionated (Nest). |
| Go | Gin → / Echo / Fiber | Blazing-fast HTTP routers. |
| Ruby | Ruby on Rails → | The classic full-stack, convention-driven framework. |
| PHP | Laravel → / Symfony | Modern PHP frameworks with rich ecosystems. |
| Kotlin | Ktor → | Kotlin-native backend framework. |
Who are you? JWT, OAuth, cookies, SSO.
What can you do? RBAC, ABAC, permissions.
Never trust input — validate at every boundary.
Talk to databases via ORMs or query builders.
Payments, email, SMS, 3rd-party APIs.
Queue long tasks: reports, emails, ML scoring.
Databases are how software remembers things safely, quickly, and at scale.
Strict schema, ACID, joins. Best for money, orders, anything with invariants.
Examples: PostgreSQL, MySQL, SQL Server, Oracle, SQLite.
Flexible schemas, horizontal scale. Great for unstructured or massive data.
Families: document, key-value, column, graph.
| Family | Examples | Best for |
|---|---|---|
| Relational | PostgreSQL, MySQL, SQL Server | Transactions, joins, strong consistency. |
| Document | MongoDB, Couchbase | JSON-like records, flexible shape. |
| Key-Value | Redis, DynamoDB | Ultra-fast lookups, caches, sessions. |
| Column | Cassandra, HBase, ScyllaDB | Huge writes, time-series. |
| Graph | Neo4j, Amazon Neptune | Deep relationships — fraud, recommendations. |
| Search | Elasticsearch, OpenSearch | Full-text search, logs, observability. |
| Vector | Pinecone, Weaviate, pgvector | AI embeddings — semantic search, RAG. |
| Warehouse / Lake | Snowflake, BigQuery, Databricks | Analytics at scale; historical reporting. |
| Time-Series | InfluxDB, TimescaleDB | Metrics, IoT, sensor data. |
Map objects ↔ tables. Venerable, powerful.
LINQ queries, migrations.
The two Python standards.
Type-safe database access for TS.
Rails' iconic ORM.
Knex, jOOQ, sqlx — hand-crafted control when ORMs get in the way.
Databases are often the bottleneck. Caching is the first optimization most apps reach for.
APIs are the contracts between systems — and networking is how they talk.
GET, POST, PUT, DELETE.example.com into an IP address.Resources + HTTP verbs. Simple, cacheable, ubiquitous.
Client asks for exactly the fields it needs. One endpoint.
Binary protocol using Protocol Buffers. Very fast for service-to-service.
Two-way always-on channel. Chats, dashboards, games.
XML-based, heavy but still seen in legacy enterprise.
Reverse APIs — the server calls you when an event happens.
One-way stream from server to client.
| Concept | Beginner explanation |
|---|---|
| IP & Port | IP identifies a machine; port identifies a program on it (e.g. 443 for HTTPS). |
| TCP vs UDP | TCP is reliable & ordered (web). UDP is fast & lossy (video/game). |
| CORS | Browsers block cross-site requests by default; the server must opt in. |
| Load Balancer | Distributes requests across many servers. |
| Reverse Proxy | Sits in front of your app (nginx, HAProxy) — TLS, caching, routing. |
When services don't want to wait for each other, they exchange messages.
RabbitMQ, ActiveMQ, Amazon SQS. One producer → one consumer, with durable delivery.
Apache Kafka, AWS Kinesis, Google Pub/Sub. Replayable logs of events, many consumers.
Publishers broadcast events; subscribers listen. Decoupling 101.
Architecture is about the big-picture shape — how pieces fit, scale, and evolve.
One deployable app. Simple early on; hard to scale teams.
Monolith with strict internal boundaries. Often the right default.
Many small services, independently deployed. Powerful but complex.
Functions triggered by events. No servers to manage.
Services communicate via events on a bus. Loose coupling, eventual consistency.
Presentation → Application → Domain → Data. The classic.
Domain core, adapters on the edges. Swap DB or UI without touching logic.
Separate read/write models; store events, not state.
Singleton, Factory, Builder, Prototype.
Adapter, Decorator, Facade, Proxy, Composite.
Strategy, Observer, Command, Iterator, State.
Repository, Unit of Work, DTO, Dependency Injection.
Security isn't a feature you bolt on — it's a property you design for.
SQL injection, command injection. Always use parameterized queries.
Users accessing data they shouldn't — #1 most common.
Cross-site scripting — attacker's JS runs in your page.
A malicious site makes the browser perform actions as the logged-in user.
Weak passwords, no MFA, leaky sessions.
Untrusted data → code execution.
Old libraries with known CVEs.
Default passwords, verbose errors, open S3 buckets.
| Standard | Purpose |
|---|---|
| OAuth 2.0 | Delegated authorization — "let this app read my Google calendar". |
| OpenID Connect (OIDC) | Authentication layer on top of OAuth — "who am I?". |
| SAML | Enterprise SSO (older, XML-based). |
| JWT | Signed token format; commonly carries auth claims. |
| MFA / 2FA | Second factor (authenticator app, hardware key). |
| Passkeys / WebAuthn | Modern passwordless authentication. |
Tests are how we move fast without breaking things. Quality tools keep codebases readable for years.
One function/class in isolation. Fast, many.
Multiple parts together, possibly a real DB.
Full system through a real browser or API.
Verify service producers and consumers agree (Pact).
k6, JMeter, Gatling — how it behaves under stress.
Minimal "does it start?" tests in production.
Ensures old bugs stay fixed.
Deliberately break things (Netflix Chaos Monkey) to prove resilience.
| Stack | Unit / Integration | E2E |
|---|---|---|
| Java | JUnit, TestNG, Mockito | Selenium |
| .NET | xUnit, NUnit, MSTest | Playwright, Selenium |
| Python | pytest, unittest | Playwright, Selenium |
| JS / TS | Jest, Vitest, Mocha | Playwright, Cypress |
| Ruby | RSpec, Minitest | Capybara |
| Go | testing, testify | Playwright |
ESLint, Pylint, RuboCop, Checkstyle — enforce style, catch bugs.
Prettier, Black, gofmt, Spotless — zero-config consistent style.
SonarQube, Semgrep, CodeQL — deep bug & security scanning.
TypeScript, mypy, Flow — compile-time safety for dynamic languages.
GitHub PRs, GitLab MRs, Gerrit — human sanity check.
Javadoc, JSDoc, Sphinx, Doxygen — API docs from comments.
These tools show up in nearly every project, regardless of stack.
Distributed version control — the standard.
Hosting, PRs, Actions (CI/CD), Copilot.
Hosting + built-in CI/CD, often self-hosted.
Atlassian — integrates with Jira.
Microsoft's full ALM suite.
Legacy systems still found in older projects.
Key Git concepts: clone, branch, commit, merge, rebase, pull request. Common workflows: GitFlow, trunk-based.
| Stack | Tool | Purpose |
|---|---|---|
| Java | Maven, Gradle | Dependencies, builds, packaging JAR/WAR. |
| JavaScript / TS | npm, pnpm, yarn + Vite / Webpack | Install libs + bundle browser code. |
| .NET | dotnet CLI, NuGet, MSBuild | Restore, compile, package .NET. |
| Python | pip, Poetry, uv, pipenv | Dependency & environment management. |
| C / C++ | CMake, Make, Bazel | Cross-platform native builds. |
| Go / Rust | go build, cargo | Single-binary compilation baked in. |
| Ruby | Bundler + RubyGems | Ruby dependency management. |
| Mobile | Gradle, CocoaPods, SwiftPM | Android & iOS packaging. |
The most popular editor — free, extensible, everywhere.
IntelliJ (Java), PyCharm, WebStorm, Rider, GoLand. Best-in-class refactoring.
Full IDE for .NET and C++ on Windows.
Keyboard-driven power tools for enthusiasts.
AI-native editors — pair-programmers built in.
Enterprise standard for backlogs & sprints.
Fast, opinionated, developer-favorite.
Tightly integrated with the repo.
Lightweight boards for small teams.
Team wikis and documentation.
DevOps closes the gap between writing code and running it in production — through automation.
YAML workflows, huge marketplace.
Built into GitLab; mature and full-featured.
Battle-tested, plugin-rich, self-hosted.
Other long-standing CI services.
Microsoft's offering — works for any language.
GitOps — deploy to Kubernetes from Git.
Package your app + runtime into a portable image.
Orchestrates containers across clusters — the de-facto standard.
Managed K8s from AWS / Azure / Google.
Simpler alternatives to Kubernetes.
Package manager for Kubernetes apps.
Istio, Linkerd — traffic, security, observability between services.
| Tool | Strength |
|---|---|
| Terraform / OpenTofu | Cloud-agnostic, declarative — describe infra in HCL. |
| AWS CloudFormation | Native to AWS; very deep integration. |
| Pulumi | IaC using real programming languages (TS, Python, Go). |
| Ansible | Configuration management — agentless, YAML playbooks. |
| Chef / Puppet | Older configuration management stalwarts. |
How teams organize work, prioritize, and ship — from classic Waterfall to modern DevOps.
Sequential phases. Predictable, inflexible to change.
Short iterations, constant feedback, adapt to change.
Sprints (2 weeks), stand-ups, backlog, retros, roles.
Continuous flow on a board, limit work-in-progress.
Pair programming, TDD, continuous integration.
Eliminate waste; focus on value delivery.
Scaled Agile for big organizations.
Dev + Ops + automation + shared metrics.
| Role / Ceremony | Purpose |
|---|---|
| Product Owner | Owns priorities; decides what to build. |
| Scrum Master | Coaches the team; removes blockers. |
| Developers | Build the increment every sprint. |
| Sprint Planning | Pick goals & items for the next sprint. |
| Daily Stand-up | 15 min sync on progress & blockers. |
| Sprint Review | Demo the increment to stakeholders. |
| Retrospective | Reflect on how to work better. |
You rent computing on demand, pay only for what you use, and scale in minutes instead of months.
Infrastructure — raw VMs & networks.
AWS EC2, Azure VMs, GCP Compute Engine.
Platform — deploy code, no servers to manage.
App Service, Cloud Run, Heroku.
Software — finished apps you subscribe to.
Gmail, Salesforce, Slack.
Functions triggered by events.
AWS Lambda, Azure Functions, Cloud Functions.
Managed databases.
RDS, Cosmos DB, Cloud SQL.
Managed container platforms.
EKS, AKS, GKE, ECS.
| Provider | Strength | Signature services |
|---|---|---|
| AWS | Largest, most services. | EC2, S3, Lambda, RDS, DynamoDB |
| Microsoft Azure | Strong enterprise + Microsoft stack. | App Service, Functions, Cosmos DB, AKS |
| Google Cloud | Best-in-class data & AI. | BigQuery, Vertex AI, Cloud Run, GKE |
| Oracle Cloud | Oracle DB workloads. | OCI Compute, Autonomous DB |
| DigitalOcean / Linode | Simple developer-friendly pricing. | Droplets, App Platform |
| Vercel / Netlify / Cloudflare | Edge & front-end hosting. | Edge Functions, static hosting |
You can't fix what you can't see. Observability gives you eyes inside a running system.
Collect, index, and search log streams.
Open-source default for metrics & dashboards.
Distributed tracing — OTel is the emerging standard.
Commercial platforms unifying the three pillars.
Wake the right person when things break.
Crash & exception tracking for apps.
The newest layer in the stack — and it changes both what we build and how we build it.
GPT, Claude, Gemini, Llama, Mistral, DeepSeek.
OpenAI, Anthropic, Google, Meta, xAI, Cohere.
LangChain, LlamaIndex, Semantic Kernel, Haystack.
Pinecone, Weaviate, pgvector, Chroma, Milvus.
Claude Code, Cursor, GitHub Copilot, Windsurf.
MLflow, Weights & Biases, Vertex AI, SageMaker.
scikit-learn, XGBoost, PyTorch, TensorFlow.
pandas, Spark, dbt — feed the beast.
Boilerplate, tests, whole features from natural language.
Flag bugs, security issues, style problems in PRs.
Auto-generate docstrings, READMEs, explain legacy code.
Paste an error; get a cause and suggested fix.
Chatbots, search, summarization, recommendations.
Natural-language analytics, anomaly detection.
Code is only half the job. The rest is people, writing, and the wider ecosystem you work in.
Explain tradeoffs in plain language to non-technical stakeholders.
Pair programming, constructive code review, async updates.
Break big problems into independently shippable pieces.
Deep work, protecting schedules, avoiding endless yak-shaving.
Tech moves fast — skill of picking up new tools efficiently.
Forming hypotheses, isolating variables, reading carefully.
| License family | Practical meaning |
|---|---|
| MIT / BSD / Apache 2.0 | Permissive — use freely, even in closed-source commercial products. |
| GPL / AGPL | Copyleft — using it may require you to also release your code. |
| LGPL | Weaker copyleft — linking is typically OK. |
| Creative Commons | For content (docs, images) — not code. |
| Proprietary / Commercial | Check the EULA — often per-seat or per-core pricing. |
Rule of thumb: before adopting a library, check its license and whether it fits your product's shipping model.
Stack Overflow, Reddit, Dev.to, Hacker News.
freeCodeCamp, Coursera, Pluralsight, Frontend Masters.
GitHub profile, personal site, blog posts — show the work.
LeetCode, HackerRank, System Design Primer.