Build Tools When You Solve Problems

Often as you are building or fixing something you'll find yourself doing things that are either repetitive or generalizable.

A repetitive task might be something like updating a value on a few thousand records in your database or hitting and endpoint with very specific parameters over and over again. Something generalizable might a script that updates a specific customer's billing date, but if you just change it to accept a few parameters you could update any customer's billing date with it.

If you see something repetitive, automate it. If you see something generalizable, generalize it (and then maybe automate it). This way you can take the scripts and ad hoc tools you make to solve your specific problem and turn them into tools that other people can leverage.

This can be as simple as sharing some cleaned up scripts in a team folder or as complex as building new standalone data exploration and manipulation tools based on your initial work. Always make sure that your making the right time investment/payoff decisions when deciding how polished your new tools should be.

With just a little extra thoughtfulness you can turn your one-off work into something that has even greater impact.