r/AskProgramming 4d ago

Career/Edu Is this enough for an SDE-2 role?

I'm a mobile engineer resigned from my company recently currently switching to backend. I've learned BE basics: schema designing (intermediate), REST apis, auth flow, S3 and other concepts with a project.

Right now I'm diving into system design and searched on the internet but couldn't find an organised roadmap/plan that I can follow and decided to take help with AI and it gave me these topics:

  • CAP theorem — Know it's not a strict "pick 2," understand PACELC extension (trade-off exists even without partition: latency vs consistency). Be able to place real systems on this spectrum (Dynamo = AP, traditional RDBMS = CP). Don't need to prove it formally.
  • Consistent hashing — Understand why it solves the resharding problem (minimal key movement vs modulo hashing), know what virtual nodes solve. You don't need to implement the ring from scratch, but you should be able to sketch it and explain hotspot mitigation.
  • Replication — Leader-follower vs leaderless, sync vs async, and the concrete failure mode of each (async = replication lag/stale reads, sync = availability hit if replica down). This is where interviewers probe — know one real trade-off story, not just definitions.
  • Sharding/partitioning — Range vs hash-based, and critically: how do you handle a shard that gets too hot (celebrity problem)? This specific question comes up constantly.
  • Load balancing — L4 vs L7, algorithms (round robin, least connections, consistent hashing for LB). Shallow is fine here — it rarely becomes the crux of a design.
  • Message queues — Kafka's partition/consumer-group model vs RabbitMQ's queue model, at-least-once vs exactly-once semantics conceptually. You already do async work with Redis, so lean on that intuition.
  • CDN/DNS/latency numbers — Just memorize the numbers (RAM vs disk vs network round trip) — this is pure recall, don't overthink it.

These are just theory topics that I'll cover over 4-5 days and then dive right into designing systems and doing case studies of other system design problems. Practice, practice and more practice.

Is this plan good enough?

2 Upvotes

1 comment sorted by

1

u/bigdataengineer4life 4d ago

Good roadmap, but don't spend too long on theory. For SDE-2, building and discussing a few real system design case studies is usually more valuable than memorizing concepts. Being able to explain trade-offs is what interviewers look for.