Elliott Hulse, a fitness coach, on the topic of building muscles,
Your muscles need to be stressed to a point where they are FORCED to grow bigger and stronger. Otherwise they will stay the same, seeing no need to waste valuable energy on developing a bigger musculature. Something key to remember, for any physical goal, is that the body will always take the path of least resistance. Put it in an environment where YOUR GOAL is the only possible outcome.
To have big muscles you have to lift heavy weights. Heavier than what you can lift easily. If you won’t push your body, it won’t develop. Forcing your body to do the impossible is the only way to make it develop.
We all create a comfort zone around us. We build it, cherish it, come to rely on it, and then we lock ourselves in. This is true for software development too.
You can never improve as a developer if you cage yourself in your comfort zone. You may call your specific skills as your niche. You may proclaim that the your programming language is the best and most powerful language ever created.
For what it’s worth, fall in love with your platform and become its ardent worshipper. Your call! But you cannot improve this way.
C was the first programming language I learned. After few months, I landed on my first job where I kept developing softwares in C. For a long time I didn’t bother to learn how to use a debugger at all. My excuse was something along these lines, “I can debug all I want using log statements thrown all around the code.”
This was a good enough excuse for many. But I knew, deep down, the real reason was that learning a command line debugger (GDB) scared me.
Each time I opened up a GDB tutorial, I would close the browser tab within few minutes. “Gosh! What is this? The lingo is so alien. What the heck writer is babbling about? Argh! I will never get it.”
I was afraid that I am facing something that I can never understand. “I have reached my limits. Why add another item in my list of failures? Lets just drop it so that I don’t have to feel so uncomfortable. My world is going just fine without GDB.”
Don’t do what I did.
This approach may work for some time and in few cases. Unfortunately, this attitude becomes persistent and turns into a habit. It begins to reflect, not only in your programming, but in every aspect of your life.
In the same class where I learned C, several students gave up on C. Their excuse, “C is not widely used. We are more interested in learning Java or C#. These will offer us better job prospects.”
Guess what? They never came around to learn any of their favorite language. First they gave up on pointers, and then C. Same guys gave up on object-oriented programming introductory classes. When C# classes started they weren’t ready for it at all. Finally they stopped programming altogether.
Some took up graphic designing course, and rest took up quality assurance. The attitude of shying away from difficult stripped away their dreams.
If you want to improve, get out of your comfort zone. Pick something that challenges you.
Do what you think you can never do in ten years, heck, in your life time.
Do whatever that makes you uncomfortable.
So what do you think? Did I miss something? Is any part unclear? Leave your comments below.