Reactive vs. proactive development

It’s essential for good developers to switch between reactive and proactive modes.

The definition of reactive and proactive is as follows:

  • Reactive: Reacting to the past rather than anticipating the future
  • Proactive: Acting before a situation becomes a source of confrontation or crisis

Pros and cons are as follows:

  • In reactive development you solve matters as they arise. This can spark creativity and you can focus on the progress rather than optimizing for millions of users or security threats that aren’t there. When issues come you are expected to have some sleepless nights
  • In proactive development you solve matters before they become an issue. You generally spend more times on the optimizations (for example, improved security or caching of everything). Proactive development makes developments more stable, but you could anticipate the wrong future and end up spending lots of time on something that isn’t important

There are some things that should always be done in a proactive mode, for example, backups, privacy concerns and basic security issues.

Other things, such as exploring new and unproven features, can be done in a reactive mode.