There's nothing worse than being disappointed in yourself while learning to code.
Not even just the coding experience itself—there are so many places where you miss things or make a mistake in your process, and it can really affect your ability to get a job quickly.
I want to emphasize "disappointment" as opposed to "discouragement", because disappointment leads to discouragement. And discouragement could lead to dropping off of your coding entirely.
But disappointment happens when we have unrealistic expectations. And I had pleeeenty of those. 😅
So, here are 3 ways you can avoid disappointment:
I went through, like, two phases when I first started to code:
- Total euphoric bliss and pride that I was learning all these new things and creating with them
- Fear that I didn't know enough, and that I was supposed to know more
Number 1 kind of gave way to Number 2 about 3 months into the game. It was fueled by wandering into Dev Twitter more deeply and seeing all the huge things people were working on.
As a result, I started to feel ashamed of being new. But, I often forgot to remind myself that literally everybody was new at one point.
Constantly expecting yourself to know more than you do is counterproductive, because it stresses you out and makes it hard to learn. We start to panic. I definitely panicked, and kind of isolated as a result.
Disappointment in myself for not being further along, or having a job yet, gave way to that discouragement.
Honestly, it was only the support of my communities that kept me on track. And about 10 months in, I did get that job.
Anyway, don't do this to yourself. You're new—just accept it.
Celebrate your newness, and enjoy that you can make mistakes without any repercussions. Everything is a learning experience!
Ooooooomg, I hear so often from students that they lack confidence in starting projects, or tend to abandon them after they create an MVP.
OR, they never finish anything because they don't know how to create a true MVP and expect it to be perfect then give up because I'm disappointed myself. 😂
Y'all, you don't have to create a whole lot of projects. It might take a few different projects to find something you REALLY want to stick with, but you will find something you're passionate about.
It amazes me that some folks don't have the creativity that I have—no gloating there whatsoever, it's just the way my brain works. I literally can't stop thinking up ideas. I can't keep up with them all!
Start ONE project that you're excited about, and create an MVP. But don't abandon it—there are always new features that you can add to a site.
Get feedback by sharing your project at every step, and if you're unsure what to add next, ask other people their thoughts! You don't have to listen to them, totally build what you want. But, it'll give you some ideas at the very least.
I mentioned the word "confidence" in the first paragraph of this point, because that's what you're going to be lacking if you don't maintain at least that one project.
Also, if you're not getting interviews, maintaining a project will only help you attract the attention of employers.
BONUS TIP: Leverage your readme.txt file to tell the story of your project's process. Explain why you decided to add a particular feature, and the challenges you faced in implementing it!
3. Adjust your expectations on how long it will take you to learn to code (and/or get your first dev job)
Especially if you're teaching yourself!
Don't compare your progress to that of, say, a bootcamp grad. They did a super-rigorous, guided program with high expectations of their students. (If you want to learn that way as a self-taught student, work with someone to build a plan for yourself and dive in!)
Everyone learns at their own speed. Sometimes I learn fast, sometimes I learn slowly—especially when things are challenging or super-abstract.
If you don't have a concrete plan for learning to code, you can't move as fast, either. Take that into consideration, because you may be spending time in the wrong places like I did.
If you're lacking time due to outside obligations, you're going to move slower, too.
Be kind to yourself! Whatever amount of time you have, you can learn to code. Just create your own individualized pace, and stick to it!
When you learn something new, the first thing you should do is use it.
Now, I'm not talking about ONLY using it in that little code challenge you were given. If it was a small something you learned, then that might be sufficient.
But it's only one example. Smart, deliberate practice requires mixing it up, and giving yourself a variety of examples to solve that are somewhat different.
This is particularly important for things that are challenging for you. If you struggled to understand it, don't just move on once you solve it once.
You're going to become disappointed in yourself every time you can't remember something you need (especially if you know you learned it at one point).
You're going to be disappointed in yourself if you don't see measurable improvement.
Building strong practice skills will increase your confidence, because you see how far you've come!
This kind of ties into #3. You're setting yourself up for disappointment if you're paying attention to others' educational progress more than your own.
A Twitter connection posted a really awesome project using a framework or library you don't know.
It's entirely possible that you don't need to know it for the type of job you're going for. Or even if you do... if they learned it, it probably took them a little while.
The difference between you and them is that they started earlier. They're not inherently better at it than you are.
But I can tell you one thing: you'll both have started at the exact same place: the beginning.
So, keep your eyes on your own lane, and focus on seeing measurable improvement in your skills. There will always be someone who knows more than you. Get used to it! :)
Psssst... check out my new course, Newbie Coder Problem Solving School, now available for pre-order at 50% OFF!