Senior Software Engineer
Skills every developer needs, in any language: code design, testing, data and distributed systems.
Good code
Clean Code
Good names, small functions, readable code
✓ DoneSOLID
Five basic object-oriented design rules, with examples
✓ DoneDesign patterns
Strategy, Decorator, Factory, Mediator and more
✓ DoneDependency Injection
Service lifetimes and common mistakes
✓ DoneCode review
What to look for and how to give feedback
✓ DoneData
APIs and security
Testing and delivery
In production
Structured logging
Serilog, log levels, correlation IDs
✓ DoneMetrics and alerts
Prometheus, Grafana and good alerts
✓ DoneResilience with Polly
Retry, circuit breaker, timeout and retry storms
✓ DoneSystem design
Horizontal scaling, load balancing, sharding, replicas
✓ DoneEstimation and planning
Estimating work, splitting big tasks, risk
✓ Done