This morning, my team and I made a change on the production servers. We had a two-hour deployment window, but the technical part was quite optimized so it took only around a minute. This optimization left plenty of time for testing, and potential rollback.

This efficiency is possible because of proper preparation. Having all the steps documented and ready, and allowing yourself to spend some time thinking about the entire process and how to optimize it can be very beneficial.

You may realize that certain steps can be extracted and performed safely before the deployment window. Or you may figure out a way to perform the steps safely before the deployment without enabling them, and then flip the switch during the deployment. Or you may decide that a step that’s taking a long time warrants some additional research to figure out if there’s a better tool that you could use.

The same advice applies to other things, as well. Giving a speech is a much more comfortable experience if you’ve rehearsed it enough so that you’re not struggling to find the right words (although I wouldn’t recommend remembering it word for word, because that can sound too mechanical). Similarly, job interviews are less intimidating if you’re prepared (both technically and mentally).

This may sound like common sense, but unfortunately it’s not common practice. At work, some preparation will typically be mandated by the company process, but going beyond that is often a result of self-directed initiatives. Reaching a level of excellence often requires certain individual characteristics, such as strong ambition, as well as the combination of technical knowledge, creativity, caring and courage.