Pragmatic Thinking and Learning

Home > Other > Pragmatic Thinking and Learning > Page 20
Pragmatic Thinking and Learning Page 20

by The Pragmatic Programmers


  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

 

‹ Prev