Success is not final, failure is not fatal: it is the courage to continue that counts.
— Winston Churchill
We are “knowledge workers.” We employ our skill and knowledge of technology to make good things happen. Or to fix it when they don’t. This is our joy. It’s what we live for. We revel in the chance to build things, to solve problems, to work on new technologies, and to assemble pieces that complete interesting puzzles.
We’re wired that way. We relish the challenge.
The engaged, active programmer is constantly looking for a new, exciting challenge.
Take a look at yourself now. Do you actively seek out new challenges in your programming life? Do you hunt for the novel problems, or for the things that you’re really interested in? Or are you just coasting from one assignment to the next without much of a thought for what would motivate you?
Can you do anything about it?
Working on something stimulating, something challenging, on something that you enjoy getting into helps keep you motivated.
If, instead, you get stuck in the coding “sausage factory”—just churning out the same tired code on demand—you will stop paying attention. You will stop learning. You will stop caring and investing in crafting the best code you can. The quality of your work will suffer. And your passion will wane.
You will stop becoming better.
Conversely, actively working on coding problems that challenge you will encourage you, excite you, and help you to learn and ...