Reactive Firefighting vs Proactive planning

Mohit Agrawal
Urban Company – Engineering
3 min readDec 8, 2018

Having worked in startups throughout my career, I have been through a lot of situations where I had to go through all set of emotions which people generally don't want to experience on regular basis. Red ear syndrome, cold feet, heavy breathing, churning stomach, these all are symptoms of fear, anxiety, sadness, self doubt which you develop while fighting a really bad situation. A lot of people call it firefighting.

In a customer facing company, outages impacts brand value, experience and growth immensely. Developers face situations very often where they are, eventually firefighting. These are the situations where developers find themselves working reactively to smother the fire with all sorts of short lived band aids. Continuous exposure to firefights impacts developers' life style immensely and severely damages or limits developers' productivity. Developers don't get time to work on long term solutions and pre-defined priorities.

Reactively working towards solving a situation whose outcomes are out of your control requires more deeper thoughts and better handling than firefighting every time. Bad incidents and outages provides opportunities to make the current system better in some way or other. If you focus only on covering the mess through short term fixes, similar incidents will haunt you sooner or later in future. However if you learn from each and every incident in laying down solid roadmap for solving things up in long term, over the period of time, you will find yourself not fighting fire but lighting the success ahead.

Proactive planning makes you do what is needed not what is expected. It will help in building solid foundation for tech and solutions developed for end users. It will make you work on less urgent and more important things. Few of the things that you should actively do in order to create solid proactive action steps and roadmap :

  1. Identify problems which are repeating over last 2–3 quarters and has damaged big time : This will provide you a decent homework on thinking through the situation and creating solid plan solving for it.
  2. Learn from mistakes : Outages and similar incidents are the best opportunities to learn and create better and robust architecture. Write postmortem reports to incidents happened in past to identify root cause and create action steps in order to avoid it in future.
  3. Get things right at first attitude : Your focus should not be on plan B for post production release situations. You should have tendency to do things right at first time, do all sort of testing thinking through all use cases before hand.
  4. Don't jump onto solutions quickly : Quickly jumping to solution limits the possibility to come up with optimal and best solution possible. Try to be basic and thorough in your thought process.
  5. Look at the big picture : For every small problem and solution, try to look at the bigger picture, foresee the situation and how overall solution would pan out.

Doing above things right and on regular basis, can help you in reducing firefights and chances of getting into one. Even if you get to tackle fire, you will be all ready to handle it effectively and without panic. It will ultimately make your life more balanced. You need to make sure to proactively plan for things which you foresee and learn on regular basis.

Cheers,

Mohit Agrawal

--

--