If there's a single characteristic that will determine your success as a developer, it's discipline. The ability to do what's required in a controlled and habitual fashion is a more valuable skill than the most advanced knowledge in this tool or that language.
Unfortunately, discipline is often considered a dirty word. Discipline is seen as a punishment, a cage you're not allowed to escape from, a life without color and always the same.
This interpretation of discipline couldn't be further from the truth. Discipline isn't punishment, it's freedom. Being disciplined doesn't limit your options, it expands them.
For example, you dedicate yourself to improving your knowledge of C++. One hour a day, without fail, you watch tutorials and work on your C++ side projects. You'll have days where you won't want to practice, where you want to do something unplanned instead. But you pull through and eventually become quite good at the complex programming language.
Suddenly, you have more options. You can help build scalable, complex apps. A career in game development or virtual reality becomes a possibility. Other programming languages will become easier to learn. You'll know about pointers, references, RValues, LValues, and all the other concepts that you're likely to encounter when learning C++.
And those are only the most obvious examples of all the new options in front of you. No one can guess the ripple effect of your C++ projects on GitHub or LinkedIn.
Serendipitous events happen to those who ding the Universe.
Of course, it's one thing to understand the importance of discipline and another thing entirely to become more disciplined. After all, haven't we all had the intention of being more disciplined in a certain part of our lives, to then fail miserably only days, if not hours, after having made that promise?
Becoming more disciplined, however, needn't be a complex process. In fact, it requires only two steps, detailed below.
Above all else, we want to be consistent with ourselves. More specifically, we want to be consistent with our internally held beliefs. This need for consistency has two implications:
- Who you believe you are is who you will stay.
- Who you believe you are is who you will become.
These two implications might seem contradictory, but they're not. For example, if you identify as a smoker, if you believe you are a smoker, because you've been smoking your whole life, then your attempts to stop smoking are quite likely to fail. Who you believe you are is who you will stay.
If you want to change, you need to change your inner dialogue first. This has to do with raising your standards. You're no longer okay with smoking. You've decided to be healthier. From now on, you are a healthy person. It might still be hard to quit smoking, but it's consistent with your inner beliefs this time. The odds are in your favor. Who you believe you are is who you will become.
Raising your standards is a crucial, necessary first step toward a better life, but it can't ever be the only step. You need to build new habits that reflect your newly held beliefs. Otherwise, you're only telling yourself a lie. You can live with the lie, but you'll always feel it sitting there, underneath the surface, eating away at your mental state.
If you're in this scenario, it's probably because you're not fully committed to your new standards. You're not fully behind your changed beliefs. You want to be a better developer, but you're pretty good as you are today, so you can skip today's C++ session.
Many people live their lives this way. Everybody wants to go to heaven, but nobody wants to die.
Distinguish yourself from the rest by either telling yourself the truth or by building habits that reflect your newly held beliefs. They need to be habits, too, because the force of habit is stronger than willpower will ever be. Habits push you through the difficult moments. Willpower doesn't. Do whatever you need to do at the same time every day until it becomes automatic.
A disciplined life is a free life. Become more disciplined by raising your standards and by building the habits to back up your new standards. Here's an exercise to get you started:
- Figure out an area where you want to improve. Write down, in detail, what it's like right now. Be honest with yourself. Write down the truth.
- Think about the habits that have made that area of your life the way it is. Often, they won't be big, conscious habits. They're often a bunch of little things you're used to doing. Identify these little things.
- Write down how you want that area of your life to look like. What's your vision? Be specific. Don't write down that you want to get in shape. Write down that you want to have less than 10% body fat. Change how you think about yourself according to this new vision. Fully believe it, too.
- Define the habits that will get you there. What do you need to change? Which habits do you need to replace? Implement them into your life to reinforce your newly held belief.
Success and failure aren't big events. A free life doesn't come as a Big Bang. It comes as a result of the little habits you've built that reinforce who you believe you are.