Engineering

How I think about software

Things I’m learning and applying through projects.

Backend

  • API design and clear routing boundaries
  • Data modeling with growth in mind
  • Validation and error handling
  • Database interactions and persistence patterns

System Design

  • Requirements and scope clarification
  • Breaking systems into components
  • Understanding data flow and bottlenecks
  • Scalability, caching, queues, and failure handling

Deployment

  • Development → build → deployment → monitoring
  • Environment configuration and runtime setup
  • Debugging deployment assumptions
  • Learning how systems behave after shipping

Problem Solving

  • DSA and algorithmic thinking
  • Reading tradeoffs carefully
  • Choosing the simplest workable solution
  • Learning by writing and testing code