Pragmatic Investment Plan: An Example

1/24/2009 by Brian Mavity

Previously, I outlined what a Pragmatic Investment Plan (PIP) is and why it may be relevant to people who are looking for more structure in the way they going about learning and improving themselves. I feel strongly about including concrete examples to complement abstract descriptions, but since my last post was already a bit long, I decided that for the sake of anyone reading, my example would be have to be a separate post. The upside is that now I can provide some of the detail that needed to be cut in the interest of brevity.

Pragmatic Investment Plan

A PIP, while never finished by definition, still has to have a first version. My initial PIP is not quite complete yet, but one of the goals it includes is learning Haskell. You may be thinking, "Wait, didn’t you say in the last post that "learning Haskell" was not specific enough to be a goal?" To that, I say to you, "Good catch!" My goal which involves Haskell is officially, "I want to write a Haskell application which displays a GUI, accesses the file system, and uses a database." I’ll address the five categories of my PIP as it relates to Haskell.

Have a concrete plan

I want to read all the chapters and complete all the coding examples in the Real World Haskell book, and participate in the Real World Haskell Book Club every week.

Diversify

I have only programmed in Object Oriented or Procedural languages, so a Functional language will be a big mind shift.

Make an active, not passive, investment

I will monitor my progress and make sure that my end goal is still something I want to pursue.

Make a regular investment

The book club meets every week and discusses a new chapter, so I will need to spend at least a couple of days every week following along with the book and programming.

The SMART Part

My first objective to achieve my goal is, "I will read Chapters 3 and 4 of the Real World Haskell book and complete all the examples within those chapters." Notice that I am making a positive statement that provides a clear vision on what I am going to accomplish. I’ll break this objective down as it relates to SMART and provide some additional analysis.

Specific

The objective contains no ambiguity. Being specific leads directly to being measurable.

Measurable

The objective is met if I finish these chapters. The result is obvious, which is exactly what is desired, because I need to know when I’m done and that it’s time to move on to my next objective.

Achievable

The objective is something that is within my current capabilities. Ideally, it should have been something that pushed up against my limitations, because learning things that require new or more skillful activities will allow me to grow. This objective won’t really stretch me that far, but I’m ok with it, because we are still in the intro chapters. I am nominally familiar with functional programming concepts, although not Haskell in particular, and I have read that it gets harder very soon.

Relevant

Haskell, and functional programming, is different in a way that I find fascinating, and this is important because being interested and excited about an objective makes it much more likely to be completed.

Time-Boxed

Because the Real World Haskell Book Club meets weekly, I have a week to finish each chapter. Having a deadline not only forces more action and less procrastination, it also gives the satisfaction of success. Repeated, small successes provide positive reinforcement and lead to bigger successes.

A Piece of the Overall Plan

A PIP should not (but can) be limited to a single goal and the goals should be spread across multiple areas of interest. Part of "Diversify" includes getting outside of your area of expertise. There are things that I have wanted to do for a long time that are not tech related (learning piano and learning Spanish are two of them) and they will likely be included in my PIP in the future.

What I like is that at its core, a Pragmatic Investment Plan is a guideline on defining goals and achieving them. It’s an ongoing process that doesn’t need to be perfect the first time. It’s iterative, giving me the ability to focus on the short term and quickly change my tactics if something isn’t working. I’m excited to start on this journey, and if I’ve piqued your interest, you should go ahead and dive in!

blog comments powered by Disqus