Go back

List of topics to learn as a software engineer

Topics

  • Load balancing
  • Anti-fragil
  • Resilience
  • Concurrency in distributed systems
  • Concorrência/Paralelismo
  • Logging
  • Observabilidade
  • Monitoramento
  • Tracing
  • ACID
  • DB Transactions
  • Cold DB
  • Replica Set
  • Sharding
  • Horizontal Scaling
  • Vertical Scaling
  • Lock Otimista x Lock Pessimista
  • Race Condtion
  • Filas, Tópicos, Jobs, PubSub etc
  • Retry
  • Crons
  • Non Blocking I/O
  • Event Loop
  • Protocols: TCP/UDP/HTTP/GRPc/FTP, etc
  • Idempotency
  • Ledger
  • Serverless e Stateless
  • Caching
  • Multi AZ
  • Load, Stress, Unit, E2E, Browser Tests
  • Event Driven
  • Domain Driven
  • Tools da AWS(S3, Dynamo, SQS, SNS, SES, EC2, ECS, Lambda, etc)

Books to read

  • Antifragile: Things That Gain from Disorder by Nassim Taleb
  • Skin in the Game: Hidden Asymmetries in Daily Life by Nassim Taleb
  • Fundamentals of Software Architechture: An Engineering Approach by Mark Richards and Neal Ford
  • Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures by Neal Ford, Mark Richards, Pramod Sadalage and Zhamak Dehghani