Ask yourself these questions before you start writing code

Soham Kulkarni
2 min readApr 26, 2021

Design thinking is perhaps one of the most underrated parts of writing good software. Decisions made before even a single line of code is written affect the development process for as long as it is worked on.

jamesmarkosborne // Pixabay
  1. If I wanted more of <something>, how challenging would it be?

Scalability is the name of the game when it comes to commercial applications, yet so many businesses and services fail to scale. Scalability comes out of forward thinking decisions. At every step of the design process, ask how hard it would be to scale each component.

2. Does this need to be alive all the time?

Cloud providers can rack up thousands of dollars of expenses if not carefully designed. Compute resources may be cheap in the short run, but can build up to a costly paycheck over time. Plan your deployment strategy such that things that don’t need to run, won’t run.

3. What features am I going to add later?

Think ahead about possible features you will not implement now, but will potentially add at a later stage. A modular code base will not only make it easier to improve development flow, but also avoids huge refactors or rewrites.

4. If something is not a core functionality, can it break the rest of the program?

Making your software less tightly coupled is a great way to avoid crashing your entire stack, but it requires forethought and designing core components to be able to run independently. Having fail safes in case of unexpected failures is a must for a robust software framework.

--

--

Soham Kulkarni

Self proclaimed pragmatist. I love music, food, software, and learning random facts.