For much of my life I've set goals I thought were good:

But when I set goals like this, nothing changed. I did the same amount of programming as before. I wound up writing less. More nights were spent walking or hanging out home alone. My car puts up with philosophical musings and my lamps are tired of hearing me complain.

These goals sound inspirational, but I've realized they failed for a key reason: my goals were too vague. Making measurable goals changed my behavior almost overnight.

Vague Goals Got Me Nowhere #

One of my to-do lists was full of useful, important programming topics I planned to learn. But I never made a dent in that list. It was full of topics I saw as useful or people recommended: Ruby on Rails, computer science basics, web accessibility, and plenty of JavaScript. But for months I never made much progress. Other things always popped up and took priority.

I reread a chapter in "Essentialism," one of the few self-help books I take seriously, which helped me realize my mistake. One chapter is about setting goals, and points out the best goals are both inspirational and measurable. They have a specific start and end point. You'll know exactly when you can move on.

Most of my goals had no endpoint. They were things people do and learn about constantly - I couldn't condense one to a single "to learn" bullet point. When I couldn't see a goal's finish line, I lost all motivation to find the starting line.

Specific Goals Got Me Moving Again #

I cleared out that list and started over with a new rule - give each item a "finish line". Something I can objectively measure and say "I'm done." The list is shorter, but I know its items are important, and I can actually start (and finish) them.

One example is a redesign I'm planning for the NewHaven.IO website. I'd defined my goal as "an accessible site built on a good CSS framework." Inspirational, but not measurable. I've rewritten my goals now to:

  1. Use TailwindCSS, a popular Atomic CSS framework. Using a well-documented frameworks lowers the barrier of entry for others.
  2. Meet all WCAG 2.0 AA requirements for accessibility, the most widely-accepted acessibility standards for most sites.
  3. Use at least one, but preferably more, patterns and approaches from Heydon Pickering's "Include Design Patterns."

These items are measurable, in areas I want to improve on, and set the stage for a good site. With these, I was inspired and eager to start. Which I did that same day, in ten minutes.

Seeing how this helped, I wasted no time clearing the vague goals from my other lists. Now they're actionable and have me more motivated to checking them off.

Whether it's career, personal, or life goals, I recommend setting the finish line before starting. Because if someone can't draw a finish line for their goals, I don't think they seriously want to cross it.