DEV Community

Cover image for 10 Tips For New Self-Taught Developers In Learning To Code - Advice From A Fellow Self-Taught Developer
Ayu Adiati
Ayu Adiati

Posted on • Edited on • Originally published at adiati.com

10 Tips For New Self-Taught Developers In Learning To Code - Advice From A Fellow Self-Taught Developer

Hello Fellow Codenewbies and Self-Taught Developers 👋,

As a self-taught developer, what are your challenges in learning?
My biggest challenges as a self-taught in web development were:

  • No clear path
  • Lack of structure
  • No one to hold me accountable
  • No mentorship

I was learning alone. No one to guide me, no one to share my frustrations.
Whenever I get confused and burn out, I procrastinate for days, even weeks, to cool down.
Does it sound familiar to you?

I learned it the hard way, but you don't have to go through what I've been through. Or at least you can avoid spending your time on things that I wish I knew sooner and could do better.
I hope this advice can help and guide you as new self-taught developers.


1. Find your niche

As a self-taught developer and a newbie, I got interested in a few different development fields.
I was at crossroads between choosing to pursue data science or web development.

I bought Python and Web Development Bootcamp courses on the Udemy platform.
I learned Python first because I heard that it is a beginner-friendly language. So what can go wrong?
It took me almost two months, and I didn't go far beyond 20% of the course because, somehow, it didn't click. And I got frustrated.
Rather than stick to my learning, I switched to the other course.

I am a visual person.
So the fact that I could see "Hello World" rendered on the page for the first time with HTML made my heart jump with excitement.

After trying a couple of languages, I found where my bigger interest lies.

You can read this developer roadmap to give you clearer insight if you haven't found your niche.

2. Stick to your choice and go deep

After trying several languages and finding your niche, stick and go deep into it. Get good at it.

3. Find your best time to learn and create a structure

I started to learn to code when my daughter was two years old.
At that time, learning in the morning or during the day was almost impossible.
So outside her nap time, I found another time that works for me. And it is around 10:00 PM after everybody in the house sleeps.
Most of the time, I'm already exhausted. But I will intrigue myself to sit and learn for at least half-hour, which usually will increase to one or two hours.

And the learning structure that works for me is to practice what I've learned the day before. Then I add one or two new topics daily instead of cramming some new knowledge.

4. Don't memorize

Yes, don't memorize!
Good to know: Senior developers would still google things.
Because no one knows everything.

Try to understand the concept and the flow.
And google the rest, also the syntaxes, when you get lost.

5. Ask questions or help

I was uncomfortable asking questions because I felt like my questions were "very beginner" or it was "stupid questions." Or I could get, "Have you Google it?".
Little did I know that those thoughts were only playing in my head.

It took me a long time to finally threw my first question.
And when I finally did, it wasn't as bad as I thought.
The first time I asked a question, I threw it on Twitter. To my surprise, I received answers, and some people even offered to walk through the codes with me.
The courses that I took provide Discord channels for their students.
I started to feel more confident in asking questions or asking for help when I needed it there.

So don't hesitate!
When you get stuck for some time, ask for help.
It could be on Twitter or on the Discord channels where you at.
This journey is supposed to be enjoyable, make you grow, and not make you frustrated for too long or even quit.

6. Create projects

A piece of advice that's always been given after learning something is, "Go build a project!".
Self-taught is often get trapped in tutorial hell.
It's a good practice that we code along with a tutorial rather than only watching and doing nothing.
But when it comes to building a project from scratch, there would be times when we don't even know where to start. Then we find ourselves getting back to a tutorial.

When you have an idea for a project, build it and learn things on the go.
But when you don't know what to build, try replicating the tutorial's project without playing it back. Even better, try to add some more features to the project. When you get stuck, google your problems to find solutions. Give yourself half to one hour to search for it. And only after you searched in that time frame and still don't find any solution, ask for help or look back at the tutorial.
Don't let yourself get lost for too long and get demotivated.

Another tip, when you build a project, breaking tasks into smaller chunks would help you to finish your project.

7. Learn in public

After I learned about dev communities on Twitter, I also learned about #100DaysofCode.

And that was the beginning of my learning in public journey.
I started to log everything I learned that day using the hashtag.
I need to hold myself accountable with no one to hold me accountable.
And learning in public helps me to achieve it. Every day, I will push myself to learn, even when I only can do it for 15 minutes. Afterward, it becomes a habit.
I crossed paths with many developers who helped me in my learning journey.

If convenient for you, writing a blog or making video content are also ways to learn in public.

You may want to read this if you have thought of writing a blog post but still have some doubts.

8. Job research

Is your goal to land a job in the web development field?
Then, before you go much further in your learning, you better research job demands in your area.

My goal is to land a job as a full-stack developer.
I learned by following the course's lessons — HTML, CSS, JavaScript, MongoDB, Express, and NodeJS without a front-end framework.

After I finished the course six months later, someone gave me the advice to do my research on web developer jobs in my area.
They said it would help me pick which front-end framework I need to learn since I haven't discovered one.

The result was heartbreaking!
The on-demand front-end jobs in my area are React and Angular, while the backend is Java, PHP, and .NET (C#).

Based on my research, the backend stack that I've learned wasn't on-demand.
So a slight change of plan has to be made.
React is what I'm learning now to be a front-end developer.

9. Find a community

When you are in a positive and supportive community, you will gain much more than if you are alone.
You have people who genuinely care for you and support your journey. You can ask questions, get help when needed, and have the whole community hold you accountable.
You can also help others who need your support in any way.
With community, you will gain confidence and grow faster.

And here is how I found my communities as a self-taught developer.

10. Be kind to yourself

Learning to code is hard for everyone.
There would be times when you have a hard time understanding a concept. There would be lots of times when you have trouble finding solutions. You might cross paths with imposter syndrome.
When they come, don't be too hard on yourself.

Take a break.
Pat yourself on the back.
Remember, where you are today is one step ahead of where you were yesterday.
Don't compare yourself with anybody else.
The only comparison is who and where you are now and before.
Be kind to yourself, always.

Closing

I hope you find the above tips helpful, and I wish you a pleasant journey in your learning 😊.

Feel free to add your tips and experience as a self-taught developer in the comment below. Let's connect on Twitter!

Top comments (19)

Collapse
 
leecplus6 profile image
Christopher

Thank you for advice and your experience is very relatable.

Collapse
 
adiatiayu profile image
Ayu Adiati

Thank you for reading! 😄

Collapse
 
anthonygrear profile image
anthony-grear

If I get really stuck on a project, I'll go over and try to solve a Project Euler problem, hook up some components to an Arduino and build a simple display, or just do a couple hacker rank questions. The strategy here is to score a couple easy wins, give the difficult problem some time to rest in the brain. Then go tackle it a day or two later.

Collapse
 
tyler320sc profile image
Tyler Carroll

This strategy has gotten me out of many ruts!

Collapse
 
adiatiayu profile image
Ayu Adiati

Such a nice strategy!
Little wins could motivate us to tackle some more and move forward 😀

Collapse
 
keithprice profile image
Keith Price

I followed the same path as you in the beginning. Started with Python and I struggled through a course and there was just no spark for me. I tried a basic HTML and CSS course and I was instantly hooked.

Collapse
 
adiatiayu profile image
Ayu Adiati

high-five

Collapse
 
astronaut profile image
Sergey Golovin

Hi,
This is so much about me! Thank you for your post! I am on my self thought path right now and I'm learning .net and web dev. Despite all the frustrations at times, I am continuing in my learning because I like to code!

Collapse
 
adiatiayu profile image
Ayu Adiati

Thank you for reading! ☺
.NET is something that I would love to learn one day 😀
How do you find it so far?

Good to hear that you continue despite the frustrations.
Take some tiny breaks and keep moving forward 💪😃

Collapse
 
jennifertieu profile image
Jennifer Tieu

Hi, thank you so much for this! I’m currently trying to learn web development and I’m between the self taught route or a bootcamp, but the tips you’ve mentioned address what I’ve been struggling with in the self taught route. Might stick with the self taught route instead. Thanks again!

Collapse
 
adiatiayu profile image
Ayu Adiati

Thank you so much for reading!
I'm super happy that you find it useful! 😄
And good luck with your journey 💪

Collapse
 
debrakayeelliott profile image
Debra-Kaye Elliott

"Whenever I got confused and burnout, I tend to procrastinate for days even weeks to cool down" - This is me!

Collapse
 
adiatiayu profile image
Ayu Adiati

high five 😁😁😁

Collapse
 
mafee6 profile image
Mafee7

Same strat

Collapse
 
seanbei profile image
seanbei

I'm learning Python now, 100daysofCode seems great!

Collapse
 
adiatiayu profile image
Ayu Adiati

Go try 100DaysofCode and build small habits of learning! 😄

Collapse
 
marulucenat profile image
Maru

Thank you for writing this, these tips are very useful. I really needed the "Be kind to yourself" one 😌

Collapse
 
adiatiayu profile image
Ayu Adiati

Thank you for reading and I'm glad that you find them useful, Maru 😀
That part, I often remind myself too 😄

Collapse
 
adiatiayu profile image
Ayu Adiati

Thank you for reading, Jeff!
I'm happy if it helps! 😊
Wishing you a nice journey learning Rust!