differently.
Here’s how to be SMART.
Specific
First, an objective should be specific. That is, it’s not enough to say
“I want to learn Erlang.” Narrow that down to something concrete,
such as “I want to be able to write a web server in Erlang that
dynamically generates content.”
Measurable
How do you know when you’re done? That has always been one of
my favorite consulting questions. To have any chance of meeting an
objective, you have to be able to measure it somehow. Measurable
goes hand-in-hand with being specific. It’s hard to measure some-
thing general and abstract but much easier to measure something
3.
Originated in The Practice of Management [Dru54] and widely used since then.
Report erratum
Prepared exclusively for Jose Luis Loya
gggggggggggggggg
this copy is (P2.0 printing, January 2009)
TARGET SMAR T OBJECTIVES
161
concrete and specific—using actual numbers. If you think you can’t
measure your objective, then it’s probably not specific enough.
But be sure to take small bites and measure steady, incremental
progress. You can’t expect to lose fifty pounds in a week or learn
a whole new programming language and all its libraries in a week-
end. Measure your objectives, but stage them in increments.
“Writing a novel is like driving a car at night. You can see only as
far as your headlights, but you can make the whole trip that way.”
E.L. Doctorow
You don’t have to see where you’re going; you don’t have to see
your destination or everything you will pass along the away. You
just have to see two or three feet ahead of you.
Achievable
I’d love to climb K2. It would be cool to have lunch with the Dalai
Lama. Oh, and establishing a lasting peace in the Middle East
would be quite the accomplishment.
Ain’t gonna happen.
At least, not by my hand. These are fine goals and objectives, but
they aren’t realistic. They are probably not attainable by me under
any reasonable set of circumstances.
A goal or objective that you cannot attain is not a target; it’s just a
maddening, soul-sucking frustration. Some things are just not pos-
sible for most people—competing at an Olympic level, for instance.
Others are possible, but at a disproportionate commitment of time
and resources (say, running in a marathon).
So, be reasonable about it. You might be able to write “Hello,
World!” or a simple application in a new language by next week,
but you’re probably not going to be able to write a complete web
application framework and user interface builder with a neural net
optimizer.
Make each next objective attainable from where you are now.
Relevant
Does this really matter to you—is it important to you, and are you
passionate about it? Is it something that’s even under your control?
Report erratum
Prepared exclusively for Jose Luis Loya
gggggggggggggggg
this copy is (P2.0 printing, January 2009)
TARGET SMAR T OBJECTIVES
162
If not, then it isn’t relevant.
It needs to matter and be something that you have control over.
Time-Boxed
This is perhaps the most important one. It means you need to give
yourself a deadline. Without deadlines, a goal will languish and be
perpetually pushed aside by the more pressing exigencies of the
day. It will never happen.
Again, take small bites. Give yourself frequent, small milestones.
You’ll be more motivated when you meet them and encouraged to
rise to meet the next one.
TIP 25
Create SMART objectives to reach your goals.
It can help to specify your objectives personally (“I”), positively (“I
will”), and in present tense or with a definite time statement (“I will
do zyzzy by date”).
Objectives in a Larger Context
With apologies to John Donne,4 no objective is an island, entire
of itself. Your objectives have to make sense in the larger context,
which might include the following:
• Family
• Business
• Financial
• Community
• Environment
This extends the ideas of attainability and relevance. Dropping ten
pounds in a week is attainable in a local sense but unwise to
the whole system because of overall, long-term health concerns.
Similarly, objectives that include all-nighters throughout a project
might meet the project’s goal and be attainable, but at disastrous
cost to the developer community, their families, and eventually the
business itself.5
4.
Meditation XVII, 1623 A.D.
5.
Thanks to Paul Oakes for suggesting this.
Report erratum
Prepared exclusively for Jose Luis Loya
gggggggggggggggg
this copy is (P2.0 printing, January 2009)
TARGET SMAR T OBJECTIVES
163
Goals, Objectives, and Action Plans
“So, you’ve decided to learn something. You’ve set yourself
a goal. Great. Now how are you going to accomplish that
goal?
“Try small specific objectives as part of an action plan. I
like to take my goals and develop small—sometimes tiny—
objectives to create an action plan so I can accomplish
that goal.
“When I learned to play the piano, my teacher created
my yearly goal and gave me specific instructions week by
week to make sure I achieved that goal. Now, since I’m in
charge of my own learning, I do the same.
“When I wanted to learn a new programming language, I
set a goal of writing a certain number of small programs
and asking for review so I could learn from my practice
and from people who already knew that language. When
I wanted to learn to write better, I decided to take some
writing workshops and would practice specific kinds of writ-
ing each week.
“I don’t have just weekly objectives to meet my goals. I am
quite happy to develop very small tasks, even as small as
five minutes in duration to ensure that I meet my objective
so I can reach my goal. My normal size task is about a day
in duration. But especially if I’m having trouble starting, I
create five- or ten-minute tasks, just to get started.
“Setting yourself a goal is the first step. The next step in an
action plan is to create small objectives that allow you to
achieve something every day or so. The more small objec-
tives you have, the more easily you’ll see where you are in
relation to your goal.”
—Johanna Rothman
Report erratum
Prepared exclusively for Jose Luis Loya
gggggggggggggggg
this copy is (P2.0 printing, January 2009)
CREATE A PRAGMATIC INVESTMENT PLAN
164
So in addition to looking at goals through a local lens, consider the
>
impact they may have in the larger context of your work and life.
Next Actions
! Before reading on, make a list of three of your most important
goals. Come up with a series of objectives for each; make sure
each objective follows the SMART characteristics.
Make your SMART objective list.. . .
STOP
6.3 Create a Pragmatic Investment Plan
Now that you have your goals well in hand, you need something
like a plan to help execute them.
Back in The Pragmatic Programmer: From Journeyman to Master
[HT00], we suggested you consider your skills and talents as a
knowledge portfolio. That is, the skills you learn and the knowledge
you master all become part of your portfolio. And like any port-
folio—financial or artistic—it must be managed as time goes by.
For several years, Dave Thomas and I have presented the Pragmatic
Investment Plan as part of our consulting practice, and I’m includ-
ing a shortened version of it here for you. The Pragmatic Investment
Plan is based on a very simple but effective idea: model your knowl-
edge portfolio with the same care as you would manage a financial
investment portfolio.
Just having a plan is an incredibly effective step toward achiev-
ing any goal. Too often, most of us slip into a kind of default
learning schedule: you might take some time to learn a new lan-
guage when you have a free moment or to look at that new library
in your spare time. Unfortunately, relegating learning activities to
your “free time” is a recipe for failure.
As you soon discover, you really don’t have
Time can’t be created
any “free” time. Time, like closet space or
or destroyed, only
disk-drive space, will get filled up much
allocated.
too quickly. The expression “to make time
for” is a bit of a misnomer; time can’t be
Report erratum
Prepared exclusively for Jose Luis Loya
gggggggggggggggg
this copy is (P2.0 printing, January 2009)
CREATE A PRAGMATIC INVESTMENT PLAN
165
created or destroyed. Time can only be allocated. By being delib-
erate about your learning, by allocating appropriate time, and by
using that time wisely, you can be much more efficient in your
learning.
There are several major points involved in maintaining your knowl-
edge portfolio:
• Have a concrete plan.
• Diversify.
• Make an active, not passive, investment.
• Make a regular investment.
We’ll take a look at each of these Pragmatic Investment Plan (PIP)
points in turn.
PIP: Have a Concrete Plan
Just having a plan is a huge step forward. Be very specific in your
plan; use the idea of SMART objectives and goals, and devise dif-
ferent levels of goals over time. For instance:
• Now (what’s the next action you can take)
• Goals for next year
• Goals for five years out
The next action you can take might be something such as down-
loading a product or buying a book. Goals for next year might be
specific indicators of proficiency (being able to do xyz in a given lan-
guage or tool) or completing a specific project. Goals for five years
out might be wider ranging and include things such as speaking at
a conference or writing articles or a book.
This time frame is arbitrary; you might do better with now, three
months out, and six months out. Or perhaps now, three years, and
ten years if you’re working in a slow-moving industry.
And remember what General Eisenhower advised us: the planning
is far more important than the plan. The plan will change, as we’ll
see next. But getting in tune with your goals is invaluable.
PIP: Diversify
When choosing areas to invest in, you need to make a conscious
effort to diversify your attention—don’t have all your eggs in one
Report erratum
Prepared exclusively for Jose Luis Loya
gggggggggggggggg
this copy is (P2.0 printing, January 2009)
CREATE A PRAGMATIC INVESTMENT PLAN
166
basket. You want a good mix of languages and environments, tech-
niques, industries, and nontechnical areas (management, public
speaking, anthropology, music, art, whatever).
Part of diversification is considering the risk vs. return ratio. Any
area you decide to invest in may be high or low risk and high or low
return on investment. For instance, learning a popular technology
such as .NET is fairly low risk—many legions of programmers are
doing it, so there is plenty of support, published books, courses,
job openings, and so on. But that also means it’s fairly low return
on investment—there are many legions of programmers doing it,
so there’s a lot of competition for those job openings. The fact that
you do it isn’t so special.
On the other hand, there are high-risk technologies. In the days
when Oak first became Java, it was a high-risk choice. Maybe it
would become popular, maybe not. When Java then did explode
on the scene, those who had taken the risk were rewarded hand-
somely. It was a high-risk, high-reward choice.
Today, any number of technologies on the horizon are high risk
and potentially high reward. They may go nowhere—that’s the risk.
Erlang or Haskell may be the next major language breakthrough.
Or not. Ruby may be the next Java. Or not. Perhaps the iPhone will
be the dominant platform.
One major difference between knowledge
Al knowledge
investments and financial investments is
investments have value.
that all knowledge investments have some
value. Even if you never use a particular
technology on the job, it will impact the way you think and solve
problems. So, anything you learn will have value; it just may not
be direct, commercial, on-the-job value. Perhaps it will help develop
your R-mode or improve your R-mode to L-mode flow.
And speaking of value, don’t forget that time is not the same
as value. Just because you spend a lot of time doing something
doesn’t mean that it’s adding value to your knowledge portfolio.
Watching a football game or playing a video game might be relaxing
and entertaining, but it doesn’t add value (unless you’re a quarter-
back or game developer).
Report erratum
Prepared exclusively for Jose Luis Loya
gggggggggggggggg
this copy is (P2.0 printing, January 2009)
CREATE A PRAGMATIC INVESTMENT PLAN
167
PIP: Active, Not Passive, Investment
Another main topic from The Pragmatic Programmer is the idea of
feedback. In this case, you want to always evaluate your plan in
the cold light of day and realistically judge how it’s going.
In the financial world, the keyword is active investment. You don’t
just sit around on your assets. You have to deliberately stop and
reevaluate your portfolio. Is i
t performing as expected? Have key
technologies or major players in the world changed since you
started?
Perhaps it’s time to add a few new elements that you hadn’t consid-
ered previously or scrap a few plans that just aren’t working out.
You may have to revise your objectives or change your goals in the
light of new developments.
PIP: Invest Regularly (Dollar-Cost Averaging)
Finally, you need to invest regularly. In financial terms, this lets
you do dollar-cost averaging. That means that if you buy stock on a
regular basis, sometimes you’ll pay too much, and sometimes you’ll
get a great deal. But over the long-term, these differences smooth
out, and in general you end up getting a good bargain.
It’s the same here. You need to make a
commitment to invest a minimum amount Create a ritual.
of time on a regular basis. Create a ritual,
if needed. Escape to your home office in the attic or down to the
coffee shop that has free wi-fi. Not all your sessions will be equally
productive, but by scheduling them regularly, you will win out in
the long run. If instead you wait until you have time or wait for the
muse, it will never happen.
To help make the most of your investment, plan what to do before
you sit down at your appointed time. There’s nothing more frustrat-
ing than clearing the calendar, escaping from the daily pressures
of job and family, only to sit down in front of a blank screen and
wonder what to do next.
Get the planning out of the way before you get there so that when
you have your time, you can get right to it.
For example, if I wanted to learn the FXRuby GUI toolkit, I’d be
sure to get the book first, download the components I need, and
Report erratum
Prepared exclusively for Jose Luis Loya
gggggggggggggggg
this copy is (P2.0 printing, January 2009)
USE YOUR PRIMARY LEARNING MODE
168
Figure 6.2: Obligatory diagram for visual learners
have an idea for something I want to write using FXRuby before
sitting down and working with it in earnest. I’d also have enough
time scheduled to actually dig into it; one Saturday afternoon or
Tuesday night is probably not enough.
TIP 26
Plan your investment in learning deliberately.
Next Actions
! Write down concrete goals for now, the short-term, and long-
term.
! Add two new areas that you haven’t explored to help diversify
Pragmatic Thinking and Learning Page 20