Author Archives: admin

Setting Effective Personal Goals

So you’ve decided you want to set yourself some personal goals to motivate yourself to achieve more. Great! But how to choose the right goals?

One common piece of advice, almost a cliche at this point, is to set goals that are SMART: Specific, Measurable, Achievable, Relevant and Time-bound (different sources will give you slightly different expansions of this acronym). I don’t disagree with any of this.

But how do you tell when you have picked the right level of challenge? You might constantly hit your targets, but have a nagging feeling that you aren’t working hard enough. And there’s a darker inverse of this: the person who constantly fails their goals but fails to realise that the fault is not in themselves, but in their goals.

I’ve been playing with an idea that’s inspired by an exercise in Steve McConnell’s book Software Estimation: Demystifying the Black Art. It involves making guesses about a series of quantities you can’t possibly know, such as the number of trees in Canada or the number of words in the complete works of Shakespeare (examples made up by me, I don’t have the book to hand).

The idea is not to try to a point estimate at the number, but to specify a range that you think is 90% likely to contain the real value. The real challenge comes not in picking a range that contains the real value, but in picking a range narrow enough so that you’re only right 90% of the time.

It would be trivial to say “the number of trees in Canada is between 4 and 7 trillion trillion”, but you’ll be right with probability 100%. It’s a much harder challenge to be right 90% of the time.

Of course, you can’t tell whether a single range estimate has a 90% chance of being right, because the only way to check it is to look up the real value, which only yields a single yes / no. But if you repeat this exercise with 10 or 20 different examples, you’ll start to see a pattern. Most people set their ranges far too narrowly, and are right much less than 90% of the time, but it’s also possible to get the feedback that you are being too pessimistic, and getting too many answers right.

I think something similar can be applied to personal goals: did you achieve 90% of the individual goals you set for yourself? If you achieved 100%, you could probably be aiming a bit higher.

To be clear about what I’m proposing, I think this works best when individual goals are binary (achieved or not achieved), and the feedback mechanism is the number of goals you achieve. In theory it might make sense to accept 90% completion of individual goals, but human nature is such that it just moves the goalposts: if you set a goal to write 10 blog posts but accept 90% completion, then you’ve really just set a different goal of 9 blog posts.

I’ve tried this myself, but not very formally. At one point I actually wrote a goal tracking system that would grade me on how close my task completion rate was to 90%, but I stopped maintaining it. But my experience of using this approach loosely has been pretty positive: it keeps me focused on achieving things but takes away some of the sting of failure if I miss a goal. More importantly, it keeps my attention on the fact that often a “failure” is actually a mistake in goal-setting, not goal-doing. I’d be interested to hear if anyone else has tried anything similar.

Clearing out the backlog

I was casting around for ideas of what I should be doing on this blog. In fact I have a lot of writing prompts that I gathered in the years when I was writing more actively and never got round to using.

I checked today, and to my surprise I have some 57 draft posts, which are of varying quality but have a few interesting thoughts among them. I’m going to discard many of them, but I figure that turning some of them into publishable articles is as good a way as any to overcome writers’ block.

I doubt many people will notice, but in case you’re wondering why I’m writing about things that seemed to be really hot topics nearly a decade ago, that’s why.

Now with added HTTPS!

Man, this blog is old, isn’t it? I’ve been through a couple of phases of maintaining this blog and abandoning it, but even the most recent spurt of activity was sufficiently far in the past that HTTPS was still regarded as expensive and a bit of a hassle, not really worth the effort for read-only sites. Obviously that’s changed in the last 7 years.

The good news is that in the modern world (or even the world of 5 years ago) HTTPS is pretty trivial, and that I’ve finally got round to doing the work. This doesn’t constitute a guarantee that I’m going to add anything to this site, but you never know.

The reason this site has been dormant for so long is that I’ve not really decided what its focus is. I’ve got another much more focused blog talking about Python, which is my most serious technical writing project. Professionally I’m mostly slinging Typescript these days, which is fun but doesn’t give rise to quite the amount of nerd minutiae that C++ does. I’ve long ago decided that if I want to touch on politics that should be a separate site. I’m working in a small company again, which means I have less to say about organising teams than I might have.

Most likely I might hope to start adding a few odds and ends on this site that don’t fit anywhere else, and see where that takes me.