Discuss this Chapter!
Context: Any given employer can offer only a limited sub-set of all possible career paths.
Problem: None of the career paths that your employer provides fits for you.
Solution: Consciously set out clear goals that address what's missing from your life and what you want to do about it. Identify the skills you feel you are lacking and have a go at imagining the sorts of experiences that would help you plug those gaps. Combine all of those into a conscious vision of the kind of person you want to be when you are a little further on the path. Then act upon it.
It is vitally important that you take the first step even if it doesn't seem that significant. By taking that first step you generate the momentum that will sustain you towards your goals. It's that very willingness to take the first terrifying step (and all the other steps later on) even in the absence of a perfect plan which turns your map from a daydream into reality.
Rather than just writing down high-level goals try to define small achievable steps. These small steps will provide feedback which you can use to modify your map but they also make it easier to get help from Kindred Spirits to achieve your goals. After all, there's not much anybody else can do to help you become what Paul Graham calls a "great hacker" but they can point you to resources which will help you learn Lisp or unix socket programming or achieve similarly well-defined goals. Ideally your goals will be S.M.A.R.T (Specific, Measurable, Achievable, Relevant, Time-framed).
If you find your vision of yourself is not in accord with your employer's vision for you and there doesn't seem to be a way reconcile the differences, examine other opportunities to see if they're heading in the desired direction. Remember there isn't one single path that all apprentices follow. Instead, successful apprentices follow paths that share a certain family resemblance. These resemblances do not happen because apprentices are inexorably shepherded into making the same decisions by their mentors. They happen because each apprentice consciously or not chooses their route through life based on an overlapping set of values.
You will continuously reassess your map as your circumstances and values change. Sometimes your map will be in accord with that of those around you and sometimes your map will require you to chart your own path through the wilderness. Some apprentices we've spoken to have found that being open about their current map has enabled them to find Kindred Spirits whilst maintaining healthy relationships with current and past employers. The only constant is that the map is always yours and you're free to redraw it at any time.
Use Chapter 11, Sustainable Motivations and Ignore Your Title to prevent your current title and salary from narrowing the possible destinations on your map. If you need to move into a less hierarchically impressive role in order to stay "on the map", consider Chapter 9, The Long Road and compare the relative importance of impressive titles and salaries to working in a company that is more congruent with your goals.
Desi draws her own map
I took a job working at a start up company doing all sorts of things including database management, system administration, quality assurance, source control, and even some project management. The role changed over the years and after a while I started to feel the itch to try my hand at programming again. I started out with SQL scripts, Perl scripts, and some shell scripting. These scripts revolved around all of the other duties I mentioned above. I realized that programming was actually fun when you had the time to spend in learning what you were doing and didn't have the pressures of an actual class. I was happy with this for a while but the pressure from my boss on me to become more systems oriented started to conflict with my desire to move into development. I lost motivation for programming because my job demanded other types of learning and work. I was frustrated because it was not the work I wanted to be doing but I felt that I had managed to get myself stuck. I wanted to leave production operations and system administration behind or at least only do it as a side effect of writing code but the company I was working for would not allow me to make that move. I was having a difficult time finding a job as a developer due to the fact that I had been out of school for 4 years but had no real programming experience. I left the company and went to another company and continued in a configuration management role. I started to try to introduce Perl to this new company and I was met with a very large resistance. I realized that I would have to make another move because my desire to write code was getting stronger. Fortunately ThougtWorks decided to take a chance on me.
Desi McAdam, email
Chris pushes the learning limit
At Intrado, Dave Oberto taught me everything I know about SQL. He was the migration lead, and I was the test lead, and he was an amazing programmer. Frank DeSuza taught me everything I know about C, pointer arithmetic, and all the stuff close to the machine. We often employed a contractor named Doug who taught me all I know about software design. I learned a huge amount working there. This annoyed the people around me. I finally left when I was told flat-out that I would not be allowed to learn any more, and that, while I'd been highly successful by exceeding my job description and breaking the boundaries between testers and developers, there were limits -- I wouldn't be able to learn to code there. So I left.
Chris McMahon, email

RSS
