“Refactoring” in computer science means to reorganize the code without changing what it does. Programmers could spend many months refactoring their code, and at the end of their hard work, the users would not notice any difference. Why do they do such a thing? There are many reasons, but the main ones are: to create more room for growth and to adapt to changes in the environment that they did not account for.
Refactoring is an interesting concept to apply to our own lives. When we feel stuck in our lives, we typically think about pursuing a different career or moving to a different city or country, hoping something better would materialize. In many cases, we learn that it was a grass-grows-greener phenomenon. Refactoring is an alternative to this. That is, you redesign what you are already doing by looking at it as if it’s a brand new career/business for you.
The world is evolving fast. You should be able to find many processes, tools, habits, strategies, vendors, and clients that are no longer relevant. These irrelevant or less relevant aspects of your business can add up to become a significant overhead, which can slow you down or prevent you from growing altogether.
Refactoring is not about what new things you are going to do, but about how you can redesign what you are currently doing. Instead of worrying about the future, you focus on what you are doing now. By doing so, you create more room for future growth and opportunities. Refactoring takes advantage of the momentum you have, while allowing you to move in new directions. If you jump into a new direction without refactoring, you would likely get overwhelmed with maintaining the old ways.
The hard part of refactoring your life is looking at it with a fresh new perspective. Because you’ve been doing it for years (or even decades), there are many aspects of your career that you are already sick and tired of. This type of baggage may trigger pessimistic thoughts that distort the reality. To get around this problem, get help from a friend who is naive enough about your business to come up with seemingly ridiculous ideas.
Refactoring requires a certain amount of patience and self-discipline because you are not going to see any immediate results. The people around you are not going to see any changes at all. You are in fact moving backward so that you will be able to move quicker in the right direction. Refactoring is difficult for people who seek instant gratifications.
In our digital age, the world around us is evolving at a mind-blowing speed. Faced with mounting uncertainties, it is tempting to try to predict the future, but it’s ultimately futile. You would be right sometimes and wrong other times. Even Steve Jobs was embarrassingly wrong many times. Instead, just think about solving the problems now in front of you. Tidy up the room so that when a new opportunity arrives, you would have space for it. If you are constantly trying to see the future far ahead of you, you wouldn’t be able to solve the problem in front of you because it would be out of focus and blurry.