Professional New Year’s Resolutions

Background

Resolutions are only as good as as your follow through. And for me, the follow through is all about picking something that I really believe in, something I already want to do, and might even be trying to do - the resolution just puts it in words and makes it easier to remember and hold myself accountable.

For the past several years I’ve made “Professional New Year’s Resolutions.” I’ve picked something based on a realization I’ve had over the past year, something I’ve seen make a positive difference, and something I really want to remember to do. Building a toolbox came out of one such resolution.

How to Select a Good One

There are three keys to a good resolution. The first is to pick something you believe in. The “hill you’re willing to die on.” If you’re not really passionate about it you won’t have the motivation to follow through. Or maybe you will. But I won’t. And this is my blog.

The funny thing is - you’d think that if you feel this strongly about something you’d already be doing it, right? The fact is, you probably already are. The point of the resolution is to to dig into it and squeeze out every last drop of benefit it can offer you. Even for things you believe in, you’ll be surprised how often you fail to do it when something else is the “path of least resistance.” That’s where the resolution can help, it can remind you when you take a few steps down the path of a bad habit that you already know a better way.

The second key is simple. Literally. It needs to be clear to you what your resolution is about. A “S.M.A.R.T. Goal” (Specific, Measurable, Assignable, Realistic, Time-related) can help here, but using plain language and trying to explain your resolution to someone else is even better. Compare, “Be a better programmer” to “get better at unit testing” to “learn how to mock dependancies in unit tests.”

The third key, and final step, is to phrase your resolution as a mantra - “Always mock dependancies.” Why? If you’ve learned the importance and value of mocking dependancies, and believe it’s the right thing to do, then resolve to do it! “Always mock dependancies.” Something like, “learn how to mock dependancies” leaves to much room for “eventually”, and “good enough?” Always mock dependancies is unambiguous and clear. When you’re writing a test and you hit a dependency your resolution will remind you what you’ve resolved to do.[1]

Accountability

I don’t think you have to tell anyone your resolution if you’d rather not. The idea will still work. But having people hold you accountable might be helpful too. It can also help explain your decisions if your coworkers start to wonder why you’re do diligent about mocking dependancies.


  1. Somebody is reading this and thinking, “but what about edge cases / exceptions / gray areas!?” You’re right to call them out. But! You can always make the game time decision not to follow the letter of your resolution. The resolution is about reminding you about a good practice or idea that has served you well in the past, and that you think you might be forgetting to do without tools to help remember.