Senior engineers always juggle the following 3 hats ⚡
Hat 1: Product Owner
- identify and understand the functional requirements
- asks clarifying questions to resolve ambiguities
Hat 2: Architect
- chart out non-functional requirements
- design a high-level architecture and data flow
- make tech decisions like DB, cache, brokers, etc.
- define a strategy for handling steady growth and abrupt peaks
Hat 3: Engineer
- define API contracts, database schema, and models
- ensure low-level code is extensible
- ensure low-level code handles concurrency well
- tune database, garbage collection, and threads
There are a lot of non-engineering things that a senior engineer is supposed to do, but just charting out the engineering hats they juggle.
It is exhausting, but fun. The impact that a senior engineer could have is unmatched. The best part is, that seniority does not come with years of experience, but with the ownership an engineer takes.
Have I missed anything here?
⚡ System design December 2023 cohort is open for admission, only 37 seats remain; enroll to learn system design the right way
arpitbhayani.me/course