How do I become a good programmer as a self taught
Posted by ProfessionalCare5031@reddit | learnprogramming | View on Reddit | 20 comments
I'm a self taught full stack developer and I started with web dev 3 years ago, but I wanted to become a real programmer and a real software engineer not only a coder.
I studied digital marketing in the university so it has nothing to do with programming and I couldn't get into computer science field, thats why i decided to become a self taught.
Recently I have been job searching, and I got interviewed and rejected 2 times, in those 2 rejections, the clear why is that I dont have the basics and the problem solving mindset, I didnt build the fundamentals of full stack development and software engineering in general, and i feel like all those years were a waste of time, because I only focused on the results more than the science behind it.
So I want to do better, I want to start strengthening my skills and learn the right way, but at the same time I need to find a job and thats why i have been rushing all those years, to find a job ASAP, unfortunately this is only leading me to rejections.
What do you suggest? and how should I start learning after all those years that felt like a waste and I feel dissapointed at myself honestly, if anyone had the same experience or felt the same in his tech journey and figured it out, or you just want to help, I would like to hear your suggestions.
rustyseapants@reddit
Learn to google.
What do you now for employment?
Fivetoe@reddit
Build fun project that interest you, this is the best way. this practices active learning.
codingwithaman@reddit
Writing code is one skill. And it's probably the easiest one with AI.
Communication. Ownership. Being a good team player. Handling pressure. Giving feedback without ego.
Taking feedback without taking it personally. Writing clear docs. Explaining your design to non-technical stakeholders. Saying "I don't know" in a meeting without feeling small.
Nobody tells you this in college. You learn it the hard way on your first real project.
Code gets you the job. Everything else gets you the career!
EasyLowHangingFruit@reddit
Learn a bit of data modeling and functional programming.
Grokking Simplicity
Domain Modeling Made Functional
ProfessionalCare5031@reddit (OP)
Thank you <3
Murky-Contact2402@reddit
been there and it sucks but you're not starting from zero. those 3 years taught you how to build things which is actually huge - most people struggle with that part
i'd focus on data structures and algorithms first since that's what trips up most self-taught devs in interviews. spend like 30 mins daily on leetcode easy problems and actually understand the solutions instead of just memorizing them. also pick up a good book about system design basics
don't feel like you wasted time though, building projects is valuable experience that cs grads don't always have
ProfessionalCare5031@reddit (OP)
You're right I think after all its not exactly a waste of time because i had the opportunity to build various projects and still learned from them, It just sucks though when someone asks you a question that is meant to be an easy one for people who already has built the basics, and you find yourself unable to answer it
Thanks so much for the advice, I appreciate that.
Healthy-Dress-7492@reddit
I think the most important thing is the ability to do the work. So figure out what the work is for a specific job and treachery yourself it, then show you can do it Eg with GitHub demo projects. I started with C# and Unity because I wanted to be doing game programming. It didn’t matter if I had unreal or c++ or python knowledge or knew how a processor worked or how to manually write a double-linked list. All that shit was irrelevant for this specific job, so I didn’t waste any time on it. So, first pick what it is you want to do, then study it.
ProfessionalCare5031@reddit (OP)
Yes I think you've got a point, but honestly I do have the ability to do the work and I've been searching for companies who needs people like me, I thought I will find them easily but luck only meeting me with companies who needs people who has a strong stroong knowledge in algorithms and data structure, mathematics.... and all the things they teach you in the university... even junior roles.. I managed to get two interviews and in both of them the recruiters said that I have a strong profile, but lack the fundamentals
JenovaJireh@reddit
It also took some time and failures until I get my foot in the door being fully self-taught (about 4-5 years once I wrote my first line of code). I started trying to learn in 2021 and had no idea what I was doing lol. I made every mistake could imagine. After 2 years of fumbling around, I finally decided to start fresh and make sure I really understood everything that I was doing enough to talk about it and explain the decisions that I made.
My advice for learning is finding a group of people to keep you motivated bc the journey of self-taught is a rough one. I made a ton of friends who were always building things or sharing resources that made learning/building small projects fun for me. Best of luck on your journey!
DigitalHarbor_Ease@reddit
I was in the same spot a few years ago. What helped me was realizing that building projects ≠ understanding programming deeply.
You already did the hard part: staying consistent for 3 years. That’s not wasted time at all. Now you just need to fill the gaps.
Focus on:
And honestly, interviews rejecting you because of “basics” is fixable. They didn’t reject your potential, just your foundation.
A lot of self-taught devs go through this phase. The people who improve are usually the ones who slow down, learn properly, and stay patient instead of chasing “job-ready” shortcuts.
You’re closer than you think.
ProfessionalCare5031@reddit (OP)
Thank you so much for your advices, I appreciate your time <3
yellowmonkeyzx93@reddit
Here you go!
https://roadmap.sh/roadmaps/
crawlpatterns@reddit
tbh i dont think those years were wasted at all because u still built real stuff and thats already more than alot of people ever do. sounds like ur biggest gap is fundamentals and problem solving, but thats fixable with time and more intentional practice instead of rushing toward jobs only. i’ve seen alot of self taught devs hit this exact wall once interviews start getting deeper into concepts and systems stuff. the good thing is ur aware of it now and that honestly puts u ahead cause some people never slow down enough to actually improve the weak areas
ParadiZe@reddit
well what did you fumble in those interviews? That would be a good place to sttart
patternrelay@reddit
Honestly, those years were not wasted. You already built practical experience, now you’re just noticing the gaps underneath it. A lot of developers hit this stage. Slowing down to learn fundamentals properly usually pays off way more than rushing applications endlessly.
Sn00py_lark@reddit
Take a course, do a project(s), try to get a job, take nand2tetris, do another project, take a DS&A course, implement in the language of your choice, do Neetcode 150, get a job definitely so you can code full time, do a side project, take Ng’s Ml course, do another side project, continue learning new things in different areas, realize you can do this and launch your own app, repeat.
Commercial-Deal-834@reddit
what helped me most was building tiny projects instead of endlessly watching tutorials even dumb little projects teach way more than passive learning
YMBTPTOTLWRT@reddit
This is what I do.
I go to Claude and say “hello you’re my new C professor”
And I start from the basics. ANYTHING I don’t understand to my core, I have Claude explain deeper/in another manner until I understand it.
AI can be a crutch or the most incredible learning tool.
vegan_antitheist@reddit
You need to learn how to work in a team. Communication is extremely important. You need to write code that others can understand, review, and maintain.
Every company is different, but some things, like having daily standup, using some tool for managing tickets, presenting the new features to stakeholders, are usually the same. You can learn some methodologies and frameworks for that. Scrum is good for that even though most companies don't use it (even if they claim they do).
Companies still need programmers but most work is now just keeping all systems secure and running. We used to ignore that decades ago and so there were lots of downtime and security breaches. Now it's all about managing apps, deployments, changes, secrets, access, logs, monitoring, etc.
More and more applications are highly configurable, so there is less need for programming. You can build all kinds of highly complex processes now that don't require any programming. But often you still need to write some serverless function or implement some API.
Low level programming is still required in some jobs but then it's about actually writing some application or library/framework/toolkit.
Make sure you know what you actually want to do. Times are over where you could just learn some Delphi or Python and get a job because most people don't even know how to turn on a computer.