The Trough of Sorrow

The Trough of Sorrow

·

4 min read

So you're learning how to code, and things are going great! You understand the material so far and you're feeling great about your progress. Then a new concept comes along, you don't understand it right away, or even worst.. you're completely lost. Imposter syndrome sets in and you begin to doubt a career in tech is for you.

Or, you have a full-time job as you're learning how to program. Because let's face it, the bills won't wait, right? Your job is quite time-consuming, it takes all of your precious energy for the day, and by the time you get home, you can't find the desire or motivation to look at yet another computer screen. You start to feel as if you'll never be able to get ahead, or fully grasp what you're learning. Lack of confidence sets in and you feel as if you've hit a wall.

Or, you battle with your mental health. There may be days when you don't want to do anything, let alone write a line of code. Depending on the person, this feeling may last for an hour, a day, a week, or even a month. You beat yourself up for your "lack of progress", and you may even try to convince yourself that you aren't cut out for this at all. I've personally been here and I struggle with this right now. Girl crying

So, what is the Trough of Sorrow exactly? Well, the term was originally coined to describe a start-up company's struggle to success. But it's absolutely applicable to any individual trying to get from point A to point B. It's widely defined as...

A painful stretch of time between the initial excitement of a new initiative and the first sign of results.

So what can you do to combat this mess of a feeling? Here are some tips that I think can make a huge difference in your outlook on your journey to the Promised Land.

  • Take a break - Sounds counterintuitive don'tcha think? Why spend even more time away from the computer when time is already limited to you? The answer is simple really, studies have shown how beneficial it is for cognitive development when you take a break. You end up improving concentration, and replenishing your mental resources is always a good idea. Lofi Girl
  • Ask questions - This is a big one, I'll raise my hand once more to admit that I also am a bit hesitant about asking questions. Asking questions is an essential way of taking charge of your learning. It doesn't mean you're incapable of understanding the material in front of you, it means you're committed to digesting concepts for the long term and that goes a long way. Heck, even ask yourself a question or two. Anything goes, no question is a stupid question! The developer community is always eager to help, so ask away!
  • Give yourself some grace - Whether it's Javascript, Typescript, Python, or even CSS. It's unrealistic to believe you're supposed to understand what you're digesting the first, second, or twentieth time around. Think of it this way, if you were learning a new language, say.. German. Would you expect to speak fluent German after learning the language for a month? Two months? A year? Most likely not. Programming languages can be tough, yet you're here. You're in the trough but so what, you're already leaps and bounds ahead of folks who took the plunge but weren't able to see it through.

Being in the trough of sorrow isn't fun, I'm swimming in it too. Remember what brought you here, the prospect of a well-balanced job, a better life for you and your family, and the opportunity to build/create cool stuff that can then be useful to others. At least that's why I'm here. The journey is hard, but that's what makes the reward sweetest in the end. Walk away from your computer as many times as you need to, but ALWAYS come back. Don't give up, and I'll see you in the Promised Land! sailor mars waving