Another day, another entry from your elite coder. I trust you're having a great day, I know I sure am, today was a bit overwhelming for me as I learned about CSS variables and how they're entities created by CSS authors that contain specific values to be reused throughout a document. The course of learning this took a toll on me and I thought for a minute I might just scream out loud. It caused me to reflect on the burdens self-taught programmers experience from time to time.
A self-taught programmer has no requirement to understand the theoretical fields of Computer Science and therefore will learn such foundations according to their inclinations rather than a pre-defined timetable/curriculum. In other words, this is someone who has no educational background in the field of computer programming but learns it according to his lesson plan.
The way of a self-taught programmer is a tough one, below are 6 major difficulties faced by a typical self-taught programmer:
To Pick out the Worthwhile Learning Resources: Most times finding the perfect learning materials can be a strenuous task, especially when most resources spend time covering topics that are irrelevant to your preferred specialization. This often leads to exhaustion in the long run - so you need to be very concerned while picking out the learning material as the substandard resources will not only waste your crucial time but can also make you lose your interest in your programming goals.
Lack Of Consistency Through The Entire Journey: Another difficulty a self-taught programmer faces often is working consistently every day. They usually have the motivation and enthusiasm for the first few months and after that, it begins to dwindle. Although if you don't feel like learning something new; You could always opt to revise older chapters you've covered. This way you're learning and re-learning to not break the rhythm.
Lack of Social Interaction: This is another major problem, if not the worst. Self-taught programmers tend to believe the journey is simply all about coding, programming, more coding, and even more programming. They generally don't make a point of social interactions and community discussions causing them to do most of their work in isolation. As humans, we must socialize, that's just the way it is. Find the right communities, make friends, build co-operatively and grow higher. Alone, you'd walk faster but together you'll get far.
Thought Of Giving Up In Mind: A-ha! One we're all familiar with, you've had it, I've had it, we've all had it. The thought of giving it all up and quitting. The tasks presented to a self-taught programmer can be very overwhelming and stressful so much so that it makes them believe they're doing too much and should probably just let it go. When you don't understand a topic, or spend hours trying to figure out the bug in your code you tend to get frustrated and call it quits, I know I have once in a while. You need to understand that this is normal and the approach to becoming a proficient self-taught programmer requires a lot of patience and sufficient time from your side. Rome was not built in a day, remember that anytime the thought of backing down creeps up on you. You got this champ, KEEP PUSHING!
Higher Chances Of Impostor Syndrome: The most relatable issue by far. Impostor syndrome simply means doubting all your programming abilities and feeling of inferiority in comparison to other programmers causing you to lose confidence and negatively criticize yourself. This is normal and it is even experienced by elite programmers, most times this could be a call to expand and improve in your field.
Time Management: Last but not least, Time management. A self-taught programmer isn't usually bound by deadlines and time in general. While this has its advantages, there are demerits to it also. An example would be a scenario where one studies over-extensively on a topic that doesn't need that much depth. Or seeking the perfect learning materials, these can be very time-consuming and cause poor time management in the long run.
Honestly, self-taught programming demands the utmost level of dedication, hard work, consistency, and patience from you and yes, you may indeed fail multiple times during this journey and even question what exactly you're doing, eventually, the process will reward you with something that you really can feel proud of. Remember this at all times, dear reader, once you set your mind to achieve something no matter the highs and lows. No one can stop you from succeeding! Keep up the good work especially when you don't feel like it. Till we meet again, I remain the one and only elite coder. ๐โจ
Ad Meliora!!!