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:
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:
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.