The Joy of Unlearning


Old Habits Die Hard
When learning a new technology, ask yourself if you're projecting too much of the old attitudes and approaches onto it. For instance, learning to program in an object-oriented language is fundamentally different from programming in a procedural language. It's pretty easy to spot someone writing C code in Java, for instance, or VB in C#. When that happens, you're losing the very advantage you hoped to gain by moving to the new technology.

Old habits are hard to break, and even harder to notice. The first step to unlearning—and the hardest part—is to realize that you're using an outdated approach. The next hardest part is actually letting go. Mental models and patterns of thought are built and refined at great cost, and one doesn't discard them lightly. It takes awareness, conscious effort, and hard work.

Taking the time to transition completely to the new environment can help. For instance, when learning a new programming language, use the new IDE that comes with it instead of the plug in that works with your old IDE. Write a completely different kind of application from the kind you usually write. It's easier to form new associations and new habits when there's less baggage from the old habits lying around.

When learning something new, unlearn the old that it replaces. After all, there's a lot more to a car than just a "horseless carriage."

About the author

Andy Hunt's picture Andy Hunt

Andy Hunt is a programmer turned consultant, author and publisher. He co-authored the best-selling book "The Pragmatic Programmer," was one of the 17 founders of the Agile Alliance, and co-founded the Pragmatic Bookshelf, publishing award-winning and critically acclaimed books for software developers.

AgileConnection is one of the growing communities of the TechWell network.

Featuring fresh, insightful stories, is the place to go for what is happening in software development and delivery.  Join the conversation now!