DEV Community

Cover image for The Challenges of Self-Learning Programming (and How to Overcome Them)

The Challenges of Self-Learning Programming (and How to Overcome Them)

Frank on July 25, 2025

Most of my friends knew what they wanted to be in high school. I didn’t. Well, I thought I did. I wanted to become a petrochemical engineer becaus...
Collapse
 
sadohert profile image
sadohert

I would strongly recommend contributing to an open source project as a potential pathway. Get to know the code of a bigger project that has a healthy community, start with trying to solve basic issues or improving documentation. Ask questions in public community channels. There's a lot of really smart and helpful people in those communities...Grow from there

...full disclosure, I work for Mattermost...getting hands on with "open" stuff is the best way to learn 👍🏼

Collapse
 
dev_frank profile image
Frank

You're right, open source was a game changer for me. It will be super scary at first though (speaking from experience 😂).

But you're right, those communities are incredibly helpful. Starting with documentation improvements is smart advice - less intimidating than jumping into the codebase. Thanks for sharing your experience with Mattermost - always cool to hear from people actually working in these communities.

Collapse
 
wepngong_shalom_903c48cbb profile image
Wepngong Shalom

Pls how can I get on the open stuff??

Collapse
 
ifeoluwa_morakinyo_ce35e4 profile image
Ifeoluwa Morakinyo

How can I found one

Collapse
 
secureopensource profile image
SecureOpenSource

This is where certifications become useful for me, because it offers a structural path to study beginning to end. It's definitely No indicator that you are actually a programmer! Only real world experience can demonstrate that, but doing a certification forces you to learn things and provides structure to that learning!

Collapse
 
dev_frank profile image
Frank

Well the certification doesn't really matter but the structured learning path does. In the world programming, direction matters.

Having that guided learning path definitely has value. At the end of the day your credentials doesn't matter, only your potential.

Thanks for sharing your perspective on this. I appreciate you.

Collapse
 
wepngong_shalom_903c48cbb profile image
Wepngong Shalom

Great man thanks allot as I was just reading and going down almost all the mistakes you made mention of is what I was doing... Thank God I found this.. really helpful thanks again man... Pls how exactly do I find an online community that would help me grow ??

Collapse
 
dev_frank profile image
Frank

Glad this helped man
Yeah, we all make the same mistakes - that's why I had to write about it 😅 For online communities, start with these: Discord servers for your language (search "[your language] discord"), Reddit communities like r/learnprogramming and r/webdev, and Twitter/X - just search for hashtags like #100DaysOfCode or communities like web developer, and software engineering. Try as much as possible to engage and ask questions if you're stuck.

Pick 2-3 places and be active there rather than trying to be everywhere. Consistency beats being everywhere at once.

I'm rooting for you man 💪🏽

Collapse
 
wepngong_shalom_903c48cbb profile image
Wepngong Shalom

Thanks for this again man 🙏🏽🙏🏽🙏🏽 your really a blessing 🙏🏽🙏🏽.. would do just that.

Collapse
 
thepool_is_here profile image
The fool • Edited

This post is incredibly helpful exactly what I needed. I'm someone who works alone and doesn’t really have many friends in the real world, but I’ve found a lot of interest and purpose in learning about computers and tech. If anyone out there feels the same or is open to connecting, feel free to reach out. It’d be nice to share this journey with someone

Collapse
 
dev_frank profile image
Frank

Looking forward to connecting with you

Collapse
 
dev_frank profile image
Frank

Don' Try to Use Every Resources Out There

Collapse
 
ifeoluwa_morakinyo_ce35e4 profile image
Ifeoluwa Morakinyo

My real problem is n networking,I code only and that looks boring to me no friend nobody

Collapse
 
dev_frank profile image
Frank

Hey Ifeoluwa, I totally get that feeling - coding alone can get really lonely. The networking thing was huge for me too.

Start small: join Discord servers for your programming language (like JavaScript, Python communities), hop on Reddit (r/learnprogramming is great), and Twitter has tons of friendly devs. Don't worry about being "good enough" - just start engaging and you'll notice your twitter algorithm will change as well. Ask questions, share what you're learning, comment on other people's posts. I found my first coding friends just by being active in these spaces. The community is more welcoming than you think.

I'm rooting for you 💪🏽

Collapse
 
ifeoluwa_morakinyo_ce35e4 profile image
Ifeoluwa Morakinyo

Okay,nice to hear that from you,but I joined discord some month ago trying to message different people to share my feelings about coding to them but seems they are not interesting in friends

Thread Thread
 
dev_frank profile image
Frank

I understand you on this. DMing random people on Discord usually doesn't work. It can come across as spam or too forward.

I would suggest being active in public channels first, ask coding questions there, and they and help others if you can. People get to know you naturally that way.

Thread Thread
 
vikas_intr profile image
Vikas

How to be active in public channels. I mean what have we do? I am also struggle with networking or group of people interested in programming.
Literally if i found anyone of like that. I can program whole day.

I Need Mentor.

Collapse
 
dev_frank profile image
Frank

Love this advice Kevin
The book approach is solid - you're right about the structured learning path. I actually started with C but the principle is the same.
That muscle memory point is huge too. I wasted months just watching tutorials without typing. The "read and practice" combo is what finally made things stick for me.

C# is a great choice for the reasons you mentioned. Thanks for adding this - really good perspective

Collapse
 
kurealnum profile image
Oscar

Your post strongly reminds me of teaching myself how to code. Super awesome post, really enjoyed reading it!

Collapse
 
messy_babythegamer_b356 profile image
Messy Baby the gamer

And creating lot of projects is also important

Collapse
 
dev_frank profile image
Frank

💯
Projects are everything. Even tiny ones count. I probably built over 6 terrible calculators before making anything decent But each one taught me something new. The key is actually finishing them, even if they're small. Better to have 5 completed simple projects than 1 half-finished complex one right?

Collapse
 
jerrymarvis profile image
Ogundele babatunde Jeremiah

I am presently learning JavaScript, but for real I indeed need help, I just got stuck at a point and daily life struggles to make ends meet makes to start procrastinating. Please how do I get pass this stage

Collapse
 
kc900201 profile image
KC

Once you've built up your technical skills, you may try to build up a portfolio site for showcasing and networking.

Collapse
 
dev_frank profile image
Frank

Even if your projects are simple, having them organized and presented well makes a huge difference.

Plus building the portfolio itself is good practice. I rebuilt mine like 5 times as I learned new things each version was better than the last.