The Long Road
From Apprentice to Journeyman : Dave Hoover : Home

"'How long will it take to master aikido?' a prospective student asks. 'How long do you expect to live?' is the only respectable response." George Leonard, Mastery

"To become truly good at programming is a life's work, an ongoing enterprise of learning and practicing." Ron Jeffries et al, Extreme Programming Installed

For every step you take toward mastery, your destination moves two steps further away. Embrace mastery as a lifelong endeavor. Learn to love the journey.

The Long Road is for people aspiring to become masters of software craftsmanship. This long (yet bright) journey will bring out of you a rich set of abilities. You will become an expert at learning, problem solving, and developing strong relationships with your customers. You will come to wield knowledge and technology as the samurai uses his short and long swords. You will come to comprehend and appreciate the deeper truths of software development.

The Long Road is not for people aspiring to become CIOs, project managers, or wealthy. Yet, along the way, it is not unlikely that you will find yourself taking on roles of power and resposibility or the recipient of significant amounts of money. But these roles and benefits are not what the successful apprentice aspires to. They are by-products of a lifelong journey. Rather than counting the days to retirement, the craftsman will willingly and joyfully work into his final decades.

One of the primary goals of this book is to encourage software developers to walk The Long Road. The patterns in this chapter combine to help apprentices remain on the path to mastery. We don't want to give the impression that what we call The Long Road is a single road (see Draw Your Own Map) or that it's the right road for every software developer (see A Different Road). Some developers leave software development permanently and become executives, testers, salesmen, or project managers. This is a great and necessary thing, and these are the right roads for them. But this book and The Long Road are not for those people.

If an Accurate Self Assessment is the cornerstone of a successful apprenticeship, The Long Road is the foundation. The transition from apprentice to journeyman is only the first few steps along The Long Road to mastery. Like a martial artist attaining the rank of black belt, a new journeyman realizes how incredibly far he has to go.

Software developers are fortunate. Ours is a complex and profound path, a path that by its nature changes continually. Moore's Law marches relentlessly on, regularly opening up new opportunities for craftsmen to explore new platforms or reprioritize the characteristics of a sufficient program. And yet, other changes are often superficial. New technologies replace older technologies yet solve the same fundamental problems. While there will always be new technologies to learn and better hardware just around the corner, The Long Road teaches craftsmen the deeper truths of the craft, allowing the masters to transcend specific technologies and cut to the heart of the problem.

Comments ]*>", "", $line); if (ereg("^\^\^\^", $line)) { echo "
"; echo $comment; $comment = ""; $name = ""; continue; } if (ereg("^EMAIL", $line)) { continue; } if (ereg("^NAME", $line)) { $line = rtrim( $line ); $name = ereg_replace("^NAME ", "", $line); } elseif (ereg("^URL", $line)) { $line = rtrim( $line ); if ($line == "URL") { $comment .= "$name wrote...

"; } else { $url = ereg_replace("^URL ", "", $line); if ( ! ereg("http://", $url) ) { $url = "http://" . $url; } $comment .= "$name wrote...

"; } } else { # $line = ereg_replace("(http://[\w\-\.\?\/]+)", "\\1", $line); if (ereg("^[\n\r]+$", $line)) { $comment .= "

"; } else { $comment .= $line; } } } } ?>

(Kept private)

Home : Dave Hoover : From Apprentice to Journeyman Copyright © Red Squirrel Design, Inc. All Rights Reserved.