The following roadmap represents an inventory of software engineering skills spanning junior, intermediate, senior and principal level skills and might take an entire 10 ~ 20 year career to achieve. Don't get imposter syndrome just yet, most developers will never know the entire list.
The entire inventory of skills should be present in aggregate across the engineering organization you work in. This roadmap is a useful guide to plug gaps in your own knowledge or find a niche in your organization that isn't well understood and cover it.
This list is aimed at developers working on B2B or B2C 'Line of Business' (CRUD) applications and assumes a SaaS model with global presence.
- A backend language
- Backend language VM/interpreter internals (JVM, CLR etc)
- A scripting language
- A web-app framework
- A data access library/framework
- Data access library/framework internals
- A unit testing framework
- An integration testing framework
- A logging / distributed tracing framework
- A specific authentication mechanism
- A specific application server internals (iis, kestrel)
- SQL/NoSQL/NewSql
- Query tuning
- Transactions
- Database internals for a specifc vendor's database (SQL Server, PostgreSQL, Oracle etc)
- MVC framework internals
- Concurrency primitives
- Thread safety
- Caching
- Queues / Message Bus
- Strategies for handling backpressure
- control the producer
- buffer messages
- drop messages
- A specific cloud vendor's main services
- VPC
- Compute
- Storage
- Database
- Caching
- Messaging
- Queues
- Functions
- API Gateway
- A specific container technology
- TCP / IP
- HTTP / HTTP2
- CORS
- HTML
- JavaScript / TypeScript (ES6, Promises etc)
- CSS (Flexbox, Grid etc)
- A CSS Architecture (BEM, SMACCS etc)
- A CSS framework (bulma, tailwind, bootstrap etc)
- Responsive layouts
- A frontend framework (react, vue, angular, svelte etc)
- frontend framework internals
- A component library
- State management framework/library
- Unit testing framework/library
- Service workers
- Browser APIs
- Browser internals
- JavaScript VM internals
- HTTP / HTTP2
- CORS
- Common architectural patterns
- N-tier (monolith)
- CQRS
- EventSourcing
- Microservices
- Multi-tenancy patterns
- Silo
- Bridge
- Pool
- Domain driven design
- Design patterns (GoF)
- Enterprise integration patterns
- CAP / PACELC Theorem
- High availability / multi-region architectures
- VCS internals (git, mercurial etc)
- How a specific OS file system works
- How a specific OS does thread scheduling
- How a specific OS does virtual memory management
- How a specific OS networking stack works
- How a specific OS does inter-process-communication
- Multi-paradigm challenge 1: learn one static & one dynamic backend language
- Multi-paradigm challenge 2: learn one object-oriented & one functional language
- Multi-paradigm challenge 3: learn what the assembly (or bytecode) for your main language compiles down to
- Multi-paradigm challenge 4: learn an esoteric language