Core Concepts
Software Lifecycle
Design/Spec
Implementation
Tests
Code review and CI
Security review
Accessibility review
PM review
Public and private docs
Monitoring, Logging, Telemetry, automation -> scale, recover, restart
Deployment, stations
Troubleshooting, Postmortems
Versioning, Backward compatibility
Deprecation
Technical
Computer architecture/ cpu, gpu, ram, L1, L2 caches, assembly, fetch-decode-execute, stack, registers
Assembly, C, bootloader, kernel, shell,
virtual memory, memory protection
context switching, scheduling
file system
program, code, data, stack, heap, program counter
static vars and func inputs and returns on the stack, dynamically allocated data on the heap
pointer, call by value/reference
Garbage collection
critical section, sync mechanisms, locks(mutex, semaphore), immutable vars, read/write locks, condition vars, message passing, futures/promises
data storage, memory vs file vs DB
OOP, SOLID, functional/event-driven/declarative programming
Relational DBs, SQL, NoSQL
Networking, ethernet, TCP/IP, packet switching, UDP, HTTP
HTTP vs HTTPS, public key cryptography
websocket, webhooks
API design, HTTP codes, paging, versioning, security
🎰