-
Notifications
You must be signed in to change notification settings - Fork 2
Back End Development
Here are the core skillsets required for backend focused development:
Backend engineering is built on a small set of timeless concepts. Master these once and every framework becomes a different flavor of the same thing.
Core areas:
- How the internet works: HTTP, DNS, TCP/IP, TLS/SSL
- Request/Response lifecycle: routing, middleware, handlers, serialization, status codes
- Data structures & algorithms: arrays, objects, lists, maps, trees, sorting, searching
- Databases: relational (SQL/PostgreSQL) and NoSQL basics, ACID, indexing, transactions
- APIs: REST, JSON, OpenAPI/Swagger, gRPC, WebSockets
- Authentication & authorization: sessions, JWT, OAuth2, RBAC
- Caching & performance: cache strategies, CDNs, rate limiting
- Security basics: OWASP Top 10, input validation, CORS, SQL injection, XSS
- Architecture patterns: MVC, layered architecture, microservices, 12-Factor App
- DevOps basics: containers, CI/CD, observability, logging
Resources:
- Backend Engineer Roadmap — HTTP to distributed systems
- The Backend Developer Fundamentals Guide
- The Ultimate Backend Developer Roadmap (2026 Edition)
Node.js runs the V8 engine outside the browser, enabling JavaScript on the server. Key concepts for backend JavaScript:
- Event loop & async programming: callbacks, Promises, async/await, non-blocking I/O
-
Modules: CommonJS (
require) and ECMAScript Modules (import) -
Core built-ins:
http,fs,path,events,stream,buffer - Error handling: try/catch, error-first callbacks, global error handlers
- TypeScript: static types, interfaces, generics for larger backends
Resources:
- Node.js Learn — Introduction to Node.js
- Node.js API documentation
- Node.js modules — CommonJS
- Node.js modules — ECMAScript modules
- Internal wiki: JavaScript
For Node.js backends, the framework choice shapes how the codebase organizes itself over time.
Popular frameworks:
- Express: battle-tested, largest middleware ecosystem, good for prototypes and simple APIs
- Fastify: high-performance, schema-based validation (JSON Schema), 3-4x faster than Express in benchmarks
- NestJS: TypeScript-first, opinionated, enterprise-grade with modules/controllers/services and dependency injection
- Hono: lightweight, edge-first, works on Cloudflare Workers and Bun
- Encore.ts: infrastructure-aware framework for distributed systems
Database tooling:
- ORMs: Prisma, TypeORM, Sequelize, Drizzle
- Query builders: Knex.js
- Databases: PostgreSQL (recommended), MySQL, SQLite, MongoDB, Redis
Resources:
- Node.js backend tech stack 2026
- NestJS vs Fastify vs Express comparison
- Best Node.js Backend Frameworks in 2026
- Internal wiki: Node, Node-ORMs
Backend testing should emphasize integration tests that exercise real database flows, not just mocked unit tests.
Testing layers:
- Unit tests: Jest, Vitest, Mocha
- Integration tests: run the app against a real (or test) database
- API endpoint tests: Supertest for HTTP assertions
- API exploration & automation: Postman, Insomnia, Hoppscotch, curl
-
Debugging: Node.js
--inspect, Chrome DevTools, VS Code debugger
Jest vs Vitest in 2026:
- Vitest: faster cold start, native ESM, native TypeScript via Vite, Jest-compatible API
- Jest: mature ecosystem, still excellent for large existing suites
Resources:
- Test a Node.js API with Jest or Vitest
- Vitest official site
- Jest GitHub
- Supertest & Postman API testing
Git is a distributed version control system that stores snapshots of the project over time.
Key concepts:
- Distributed VCS: every clone is a full backup of history
- Three states: modified, staged, committed
- Branching: lightweight branches for feature work, bug fixes, experiments
- Workflows: GitFlow, GitHub Flow, trunk-based development
- Collaboration: pull/merge requests, code review, rebasing
Resources:
- Git official documentation
- Pro Git book
- Git — About Version Control
- Internal wiki: GitFlow
For backend JavaScript/TypeScript, build tools handle transpilation, bundling, and task automation.
Tools:
-
Vite: fast dev server, esbuild-based transpilation, primarily frontend but works for backend via
vite-nodeorvitest - Webpack: mature bundler with extensive plugin ecosystem
- esbuild: extremely fast Go-based bundler/transpiler
- Turbopack/Rolldown: Rust-based next-gen bundlers
-
Task runners: npm scripts,
tsx,ts-node,nodemon
Note: Backend code often runs unbundled in development (via tsx/ts-node) and is bundled for deployment.
Resources:
API developer tools are essential for designing, testing, documenting, and monitoring APIs.
Key tools:
- Postman: API client, collections, environments, automated tests, mock servers, monitors, Postman CLI
- Insomnia: cross-platform REST/GraphQL client
- Hoppscotch: open-source web-based API client
- curl: command-line tool for quick HTTP requests
- Newman: CLI runner for Postman collections in CI/CD
Postman features:
- Collections to organize requests
- Environments and variables for local/staging/prod
- Pre/post-request scripts and tests
- Mock servers and API documentation
- Newman/Postman CLI for CI/CD integration
Resources:
- Postman documentation overview
- Postman API Platform — API test automation
- Postman API developer docs
Most backend performance issues come from a few predictable antipatterns: unindexed queries, N+1 patterns, stateful servers, missing caching, and synchronous slow operations.
Key techniques:
- Database indexing: index fields you filter, sort, or join on; use EXPLAIN ANALYZE
- Query optimization: avoid full table scans, N+1 queries, and inefficient joins
- Connection pooling: manage database connections efficiently
- Caching: Redis, Memcached, layered caches (L1 in-process + L2 Redis)
- Asynchronous processing: move slow work (emails, PDFs, external APIs) to background jobs
- Stateless design: keep session/state in external stores (DB/cache), not server memory
- Rate limiting: protect APIs from abuse
- Monitoring: profile before optimizing, track slow queries
Resources:
- Database Performance Tuning — Complete Guide 2026
- How to build a backend that scales
- Database Optimization — Complete Guide 2026
- Database Indexing for Read-Heavy Apps: 2026 Reference
CI/CD automates building, testing, and deploying code changes.
Key platforms:
- GitHub Actions: event-driven YAML workflows, 15K+ marketplace actions, 2,000 free minutes/month
- GitLab CI: stage-based pipelines, built-in DevSecOps, integrated security scanning
- CircleCI, Travis CI, Jenkins: alternatives for various hosting setups
Common pipeline stages:
- Lint / format check
- Build / compile
- Run tests (unit + integration)
- Security/dependency scan
- Build and push container image
- Deploy to staging / production
Best practices:
- Pin action versions for reproducibility
- Run tests in isolation (test databases, mocked external services)
- Use secrets management for API keys and credentials
- Implement deployment environments and rollback
Resources:
- GitLab CI vs GitHub Actions comparison
- GitHub Actions vs GitLab CI 2026
- GitHub Actions vs GitLab CI: 2026 Comparison
- Internal wiki: CICD
This page synthesizes information from the following sources:
- Backend fundamentals and roadmaps: Semicolony, DEV Community, Medium/Javarevisited
- Node.js and JavaScript: Node.js Learn, Node.js API docs, Node.js CommonJS modules, Node.js ESM
- Backend frameworks: Webscension, Meduzzen, Encore
- Testing: Nodewire, Vitest, Jest, LumAIere
- Version control: Git docs, Pro Git
- Build tools: DEV Community, Reintech
- Developer tools: Postman Docs, Postman API Platform
- Performance: Softomate, Appwrite, FuCoder, Digital Applied
- CI/CD: DevOps Daily, Truly Critic, AI Leapers