The Paradox of Choice for Coding Beginners

5 min readOct 15, 2021

Having the freedom to make choices is an essential part of being human, but it does come with its downfalls. Having multiple options sounds like an ideal situation, but decision paralysis can affect dramatic, life-changing decisions or even the most mundane like, “What should I watch on Netflix?”. You scroll, scroll, scroll, and scroll some more. “Well, there are so many movies and shows that I could watch, but I don’t know what I should pick. Now I’m tired of looking at this screen, so I’m just going to go to sleep.”

Barry Schwartz, the author of The Paradox of Choice — Why More is Less, argues that an abundance of choices can actually be detrimental, cause anxiety, and ultimately lead to an overall negative experience for the human psyche. Now I know that this isn’t necessarily accurate for everyone, and it can greatly depend on the situation, but I have personally experienced decision paralysis in a multitude of environments — learning programming being one of them!

As a novice to the programming community, even though I went through a full-stack development bootcamp and learned the fundamentals of a stack — returning to normal life and trying to continue coding on my own I became bombarded with the anxiety of decision paralysis.

Let's see…we have front end, back end, full stack, different tech stacks, languages, frameworks, libraries, etc. Yes, many languages share core principles and if you can master one language it makes it easier to learn and/or understand another, but the possibilities are endless. You can pursue UI/UX design, mobile applications, web development, cyber security, cloud architecture, software engineering, and the list goes on.

The beauty of technology is its ever-evolving nature. It can be exciting to dabble in a variety of areas, but personally, it has led me into a bit of a black hole. I feel genuinely stuck somedays and can’t seem to practice building or absorb any information because my brain is in overdrive. I start getting anxious and feel like a failure because the imposter syndrome is so heavy. I get to points where I feel that I haven’t truly learned anything, or — maybe not that I haven’t learned anything, but that I won’t ever be able to fully grasp a language to the point that I am able to be successful with it.

But have no fear, we will overcome this as long as we keep going!

A few tips and words of advice that have helped me on my journey — for anyone that has felt this way.

Choose a language or stack and stick with it!

When I started studying on my own, I found myself getting lost and distracted looking at Golang, Python, Angular, etc. I found myself in a rabbit hole and overwhelmed with all of the possibilities because I was so focused on wanting to understand everything. Of course venture into the world of programming and research anything and everything that you want! But when it comes to learning to code — start simple and build from there.

If you already have some experience or foundational knowledge of JavaScript and React, keep practicing and growing with what you already know. Continue on your path even when you hit roadblocks or get frustrated because it is an essential part of becoming a developer. It will take time, lots of tests, trial & error, but ultimately, you are better off solving problems here than getting bored and moving on to Python or Java from scratch. You will reach these problems no matter what language or framework you are using, but having a set path and not straying from it will work better for you in the long run.

Be patient and manage expectations!

If coding was easy to learn then everyone would be doing it. It is hard. It takes time. It takes repetition and commitment. Practice as often as you can without burning yourself out.

You won’t become a master in a month or even 6 months. There is always something to learn, but as long as you study and practice with diligence you are headed in the right direction. Manage expectations and don’t put too much pressure on yourself to get it right away. It is a good idea to create your own study plan and stay organized. Set goals, but please be kind to yourself if it takes longer than anticipated! You are growing — and that's an accomplishment in itself!

Take care of yourself and allow time for sufficient rest and breaks when necessary

Like I said before, you won’t learn and understand everything in a month. There are definitely moments of frustration when you can’t figure something out, but listen to your body. That is the perfect time to take a break, go for a walk, call someone you love and have a chat, play a game, pet your dog (that’s my personal favorite).

Don’t keep pushing when you are exhausted. Step away for a minute, clear your head, and come back with a fresh perspective. Maybe the solution is right in front of you, but you just couldn’t see because you’ve been staring at it for so long! Rest up and drink water, please! You’ve got it.

Reach out to developers and create a network of support

I am somewhat of an introvert, so the word ‘networking’ has always given me nervous energy. But I have found over the last few months that getting on LinkedIn, or whatever you prefer to use, and just saying, “Hi! I’m Ellie. I’m learning to code and hope to be a developer one day. I came across your profile and was hoping we could connect. I’d love to learn more about what you do and your journey of learning to code.”

That’s just an example I’m throwing out here, but I was surprised at the number of people that responded and I learned a lot through these connections. Not only is it beneficial to get an idea of what it is like to be a working developer, but it also helps you create a network of like-minded professionals. They might remember your name in the future for jobs they hear about, or have great advice for you as you move forward. They could even become a resource for you when you reach problems in your personal projects. Honestly, I feel that it is a win-win situation. Feeling support from other developers has genuinely encouraged me and helped me feel more confident in myself as I continue to grow. Don’t be afraid to connect!

Most important — don’t give up!