Learning (and working) can, and often is, just like this. In the sequel to Alice's Adventures In Wonderland,
the Red Queen says "it takes all the running you can do, to keep in the same place", eventually becoming known as
Learning Fatigue
In the software development world learning is something we as programmers/geeks are, or at lease should be, constantly doing. I read articles/blog posts/chapters in books on a daily basis and still find it nearly impossible to keep up with the ever increasing complexities of our industry. This can feel very much like being on the treadmill, trying to keep up with that guy next to you. Now don't get me wrong, I love to learn new things and am constantly fascinated by all the incredibly cool stuff thats coming out these days, but I do need to have balance, one that is "sustainable" (a.k.a Sustainable Pace) otherwise I will suffer from Learning Fatigue.
Through the process of education, we are trying literally to change the brain...Learning requires attention. And attention is mediated by specific parts of the brain. Yet, neural systems fatigue quickly, actually within minutes.
With three to five minutes of sustained activity, neurons become "less responsive"; they need a rest (not unlike your muscles when you lift weights). They can recover within minutes too, but when they are stimulated in a sustained way, they just are not as efficient.
Sustainable Pace
To combat Learning Fatigue, and the guy next to us on the treadmill, we can use the wisdom found in the old parable
The Toroise and the Hare:
Slow and Steady Wins the Race
We need to be learning daily, in small consumable chunks, in order to prevent burn-out while maximizing our retention of the ever-increasing complex topics we study and grow to love. This is called Sustainable Pace and its something I believe in, preach about, and practice religiously.
A Programmers Death March
So lets jump back to the Treadmill example at the beginning of this article and make some small changes. The story starts the same way, you're on the treadmill with Mr. America next to you and you're trying to keep up. But this time it's different, this time your boss is standing behind you telling you that you need to "get it done" because his boss put a finger on a day in his calendar and said "it HAS to be done by this day" (with little or no understanding of what it will really take to make that deadline).
So there you are, trying to keep up, knowing that you might not be able to and even thinking that you're just going to turn around and tell your boss to go screw himself because you have decided to quit your career and sell hot dogs out of a buggy downtown. Sure this example is goofy, but while we chuckle nearly all of us are saying to ourselves "i've been there". This is the "Programmers Death March", it's the exact opposite of Sustainable Pace, and it will lead you to either having a heart attack or quitting your career (or both).
So what do we do to avoid the Death March? We have to be realistic about what we can achive in a given time span. In software development we often don't know how close to finishing a project we really are: the requirements change, the technology available to us changes, and our skills change. The answer is to
communicate with stakeholders openly, honestly, and most important REGULARLY. This last piece, the part about regular communication, is an
Agile Development pholosophy cornerstone. If you aren't familiar with Agile then definetely take a look, much of it is about how to make your work and ultimately your career more productive and enjoyable.
In addition
we cannot forget that ultimately we are the ones in charge, while this may seem rediculous it is actually true. If you slowed down the treadmill and then told your boss that it was necessary in order to be able to complete the project at all, much less on time, there isn't much he could or would do about it. I strongly encourage you to read the book
The Inmates are Running the Asylm by
Alan Cooper, its a book about Software Developers taking change and it will change you're perspective in many way.