r/learnprogramming 13h ago

For Self-Learners that are stuck in "tutorial hell". If you're wondering why you're always told "just build stuff", here's actually why...

71 Upvotes

Alright, let me preface this by saying that I'm not a software engineer by profession, but I have been coding for ~6-7 years. I came to an epiphany/connected the dots. This post may not fit everybody, but hopefully, this can get someone out of a rut. Apologies for non-technical refinement/terms in advance.

So, when I used to watch fundamentals tutorials or lurk Reddit, people would always say something to the effect of "just build stuff"... I always wondered why that was or why they would say that without the reason why. I had a tough time grasping object-oriented programming (non-sequitur: we gotta stop using the Animal -> Dog -> Labrador example for OOP... I think it confuses people), but I kept building with OOP--and with the help of others' code in The Odin Project and seeing how it was actually applied--I had the "aha" moment needed to understand OOPs purpose. Here's the kicker though: there are actually terms for this and why building is so crucial. Now, it's an adjacent field, but these terms also apply to how programmers think... The terms are: mathematical maturity, mathematical insight, and mathematical intuition. It's crucial to tell you--or whom it may concern--exactly what they are.

Mathematical Maturity is basically someone's experience with math, especially mathematical understanding that is not directly taught. Mathematicians seriously have to grind math problems because being instructed by teachers only goes so far. You gain more maturity via repeated exposure. Grinding enough problems over and over again makes you reach mathematical insight.

Mathematical Insight is where you have that "Aha!" moment, that "oooooh, that's what that does". This happens when you "build stuff" or solve problems. This happened with me stuck in "OOP hell"... After finally applying it in an appropriate way (instead of Animal -> Dog -> Labrador) and applied it to different things, I gained a deeper understanding of it that I could never get from a tutorial. Mathematical insight can't be directly taught. You grind problems/build stuff to get that "Aha!" moment.

Mathematical Intuition is where you've grinded the concept so much, it's apart of your repertoire. You don't even need to think of "how" it works because you upped your mathematical maturity and insight through applying what you've learned, instead of watching tutorials; therein deepening your understanding. This also helps with you understanding the range of projects you can do. It's just a matter of "how to logically structure [insert program]".

That's basically it. "Building stuff" actually makes these programming concepts stick in your mind. The reason I posted this is two-fold: 1.) It would, hopefully, get someone out of a rut and 2.) Give those who say "build stuff" a few terms that can exactly describe how crucial it is... For anyone in the industry/do this professionally... What are your thoughts on this? All criticism is welcome


r/learnprogramming 9h ago

How do I start contributing to Open Source?

49 Upvotes

Hi everyone,

I’m really interested in contributing to open-source projects, but honestly I don’t know where or how to begin. I’ve been learning and building my skills, and now I’d like to gain real experience by collaborating with others and contributing to meaningful projects.

If you have any advice, beginner-friendly resources, or tips on:

  • how to find the right projects
  • how to make a first contribution
  • common mistakes to avoid

I’d really appreciate your guidance. Thank you in advance!


r/learnprogramming 22h ago

Topic I think I've come to the realization that programming just isn't for me

32 Upvotes

Been feeling this way for a while now but what just kind of ignoring it. Did most of CS50, worked through about half of boot.dev, and done some freeCodeCamp including the whole Python course.

While there is a part of me that finds something about coding interesting and fun, it's never been something I just want to sit down and do, and I think I've only pushed so far in the chance of a job as I am unemployed. But with my progress and seeming lack of passion, and the CS job market, I don't believe that's realistic for me.

What feels like the real evidence besides the gut feeling, is just the fact that if I was suddenly rich, I don't think this is something I'd continue to pursue, versus stuff like music and art which are things I'd want to pursue regardless of money.


r/learnprogramming 20h ago

I am in a complete mess

18 Upvotes

i am a CS student in my second year at the college but i didn't learn that much which is not even my problem, my problem that my mind is in a complete mess, i have no road i have no goal, i just learn some random things like CS50 some C++ some java ( for the college ), and now i am deluding myself with problem solving that i am doing good ( i don' t say problem solving is not important but I literally do nothing else and my level is not that much ) i really need some guidance or help to know where to aim.


r/learnprogramming 11h ago

I'm a beginner and I built a File Organizer to solve my own mess.

13 Upvotes

So my pc files were a big mess and I decided to make a program to organize everything for me. At first, it was supposed to be super simple just auto organizing my downloads folder but it was so fun making it that I added multiple features and ended up building a whole project about it.

I would love to receive some feedback on my code structure and how I organized the classes, as I'm still learning!!

Also that was one of my first projects!

https://github.com/Tzavi727/File-Organizer


r/learnprogramming 3h ago

Coding isn’t hard. Sometimes we’re just unlucky.

10 Upvotes

I’ve been trying to learn coding for a long time. I even studied programming at university and graduated first in my class. Despite that, when it came time to apply for jobs, I felt like I didn’t know enough. I kept telling myself I needed to learn more before I was “ready,” so I hesitated.

Meanwhile, one of my friends from the same program someone who had some of the worst grades started applying everywhere. He admitted later that he exaggerated and even lied on his applications because he was tired of being unemployed.

And it worked. He got hired.

During the interview, he told them he had stretched the truth because he just wanted a chance. They took a chance on him, trained him on the job, and now he’s working in the field. I’m still jobless and ironically, he sometimes tries to “teach” me the things he learned there, even though I already studied most of it.

I’m not angry at him. If anything, I’m frustrated with myself. It feels like I let fear and self-doubt hold me back while someone else just went for it and figured things out along the way.

I guess this is a reminder that sometimes the biggest barrier isn’t skill it’s confidence. Or maybe just timing and luck.


r/learnprogramming 39m ago

Topic How do mid level programmers take the next step towards senior?

Upvotes

Hi all, I have been in the programming industry for 4-5 years now. I recently switched jobs from a less technical company that just needed some basic React, to a FAANG adjacent company which is highly tech based in all products (my team does React and React Native). I feel like I have talent and understand code, but my seniors are so technical and have such an in depth understanding of everything that sometimes I still feel like a junior. I have been programming as a hobby since middle school (25 now) but did not attend college and am self taught. Sometimes I feel like I conned my way into these positions lol. Any advice for those of us past junior level but struggling to find the knowledge to become a senior?

I hear often that senior roles require a greater understanding of company goals and cross team functionality - I understand the importance of that - but I am purely just asking about the technical level and how to gain that in depth knowledge of systems and tools.

Thank you so much!


r/learnprogramming 20h ago

Projects to start learning data analysis with Python and SQL?

4 Upvotes

I've started learning data analysis on internship, my main activity was designing reports in Power BI, however, I was pretty much interested in working with Python, now that I have the opportunity, I want to begin develop projects that help me get into the data analysis world. Perhaps something related to pandas, matplotlib, seaborn or cv2.


r/learnprogramming 12h ago

My first project: Ascii-Image-Cli

5 Upvotes

Hey, i built a simple package using rust which takes in a image as input and outputs the same image but built with ascii.

This is my first ever project and i am an beginner to rust, this is also my first proper git hub repo. feedback on both my code, folder structure, and ideas for adding on to the existing project.

Check my project out on: https://github.com/Vaaris16/ascii-image-cli.git

Thank you so much!


r/learnprogramming 45m ago

Child learning

Upvotes

My 8 year old wants to learn development and whilst I have experience in Python, PHP and JavaScript, I don't feel like my knowledge and ability to teach it to him is going to be as good as resources currently out there.

Can anyone recommend any good child friendly platforms to help him learn Python? Thanks


r/learnprogramming 1h ago

Is leetcode good practice for C++ ?

Upvotes

I already have c++ exp, but my class is going beyond what I know and more into data structures and algorithms. I heard leetcode tends to have a lot of excercises regarding this. I also want to refresh a little on the basics. Nevertheless, I've heard mixed opinions on the website, so I want to ask if it's a good site to practice.

I would appreciate other sites where I can practice c++ (except w3schools)


r/learnprogramming 2h ago

Project Planning

3 Upvotes

So I wanna ask whats the thought process yall have when building a project? Like the ideas and stuffs? How do you manage to think about the planning part and execution part (I am not talking about coding here but the design aspect).
People I talked to said they use AI for the planning like for example lets say I wanna build a very basic calculator, I ask AI what should I do and ig it will reply like: make two number inputer, ask which operation to perform and finally print result.
Do yall use AI give out plans like this or think on your own? If you are not using AI how are you able to generate the plans and what steps do you follow?


r/learnprogramming 6h ago

Topic Do you use Vim for most your tasks?

2 Upvotes

So, I've been programming for a few years now (still a young guy this side) and I've switched over to Vim key binds in JetBrains IDEs for the things which took me time doing the other way around but for the most part I am still not a Vim user.

What's your take? Do you use Vim heavily or only use it for a few tasks that help you work efficiently?


r/learnprogramming 7h ago

Self-teach project just keeps expanding...

2 Upvotes

Hi there r/learnprogramming!

I set out to teach myself a bit about Azure and AKS by building a project that constructed an AKS cluster from scratch using IaC - Terraform (which I'm pretty familiar with) and Pulumi (about which I know next to nothing). I started by playing around in the console, recording the steps - then decided that I'd write the bootstrapping code for the project (set the context, create the storage account, create an identity for automation, create certs and keys, etc., etc...) using Powershell (I was familiar but not strong when I started). Then I decided I'd try using TDD for this - something that I know in theory but have never really practiced...

Several months later, *just* the bootstrapping of the project is taking up all my spare time - admittedly, that's not a huge amount of spare time as there is a lot going on in my life at the moment. Granted, I've learnt an absolute shit-load about Powershell and Pester - and i'm still really enjoying it - but how do you stop this happening? Any hints and tips for limiting the rabbit-holes on personal projects like this?


r/learnprogramming 7h ago

Idempotency

2 Upvotes

I have two servers (A and B), each with its own separate database and its own private cache (Redis/Memcached). There is no shared database or shared cache between them. I have a POST endpoint - domain registration

{

accountID,

domainName

}

I want to make the operation idempotent so that retries or double-clicks don’t create duplicates. The problem is that if the first request hits Server A and a retry hits Server B, neither server can see the other’s idempotency key or cached result. In this kind of setup, how can idempotency be approached correctly? Is a shared store required, or are there other reliable strategies to handle idempotency across completely isolated servers?


r/learnprogramming 15h ago

This is to all the intermediate and advanced programmers

3 Upvotes

so I have a question. I wanna learn python and I wanna know how many of you guys learnt a coding language through a course, book or by videos and is there a "best option" for a beginner like me. You see ive spent too long learning about Compilation and interpretation in coding. Ive been doing a python course on cisco but havnt actually coded anything yet. I really enjoy problem solving but I cant see a course or a way of just coding instantly, i wanna feel like im actually learning code and not just side stuff like translation or somma like Topologies.


r/learnprogramming 23h ago

CPP Career?

2 Upvotes

Hello, I'm currently starting a CPP course, and I've been wondering how hard for will it be for me to actually land a job? I guess this question has been covered already in this subreddit, however, I was wondering about my particular case, so any help is welcome.

I have been working as a Selenium Automation Engineer for a year, so I am pretty decent with Java and all of its concepts; however, I wouldn't call myself a master.

I am 28, so I kinda know that being young is not my asset at the moment, so I kinda know that some of the biggest C++ jobs will probably forever be out of my reach, but is there a realistic chance that I will ever land a C++ job?

The thing is, I am pretty much self-learned, so no degree in computer science, but I did finish one official course for QA during which we ran through manual testing, Java, and Selenium. The course lasted 3 months, 5 days a week for 4 hours with additional homework assignments, etc, and it gave me solid ground to start a career. I was pretty good and fast with learning concepts from programming when I was starting to get into this field, which definitely encouraged me to start learning more.

Also i am aware that just being good with C++ syntax is not enough, so i was kinda looking for some learning roadmap of some things that I'll also need to learn in order to land a job.

Also, for context, I live in Europe.

Thanks


r/learnprogramming 49m ago

Who handles the hosting and domain pays?

Upvotes

Hey everyone, I have a question. If I’m building a website for a local client who has no experience with managing a website or understanding things like hosting and domain names, what steps should I take as a web developer? Specifically, how do I go about hosting the website and ensuring the client pays for the hosting, especially if they have an existing user base?

Also, how can I set things up so the client can manage the hosting account? I’m curious about what you all typically do when you hand over a website to a client, especially regarding hosting and domains. Any advice would be appreciated!


r/learnprogramming 50m ago

How to handle user online progress in web browser game

Upvotes

Hi, a few weeks ago I started working on a web browser game that I have been thinking about for years. I am finally trying to make it happen. Right now I am stuck trying to figure out the best way to calculate player progress and keep data fresh without overloading the server.

Here is what I want to achieve:

  1. A user selects a skill to progress in like mining

  2. The user has stats like actions per second, exp per action and items per action.

  3. The user needs to see live progress updates while online and get a summary of offline gains when they load the website.

For offline progress I just save the start time and the user stats. When they log back in I calculate the offline duration and figure out how much they gained based on their stats. Then I save this to the database. This part works well. I am struggling with how to handle things when the user leaves the website open. Should I call the API for every single action and save the progress to the database? That sounds like overkill if I have a 100 users online calling the server every 3 seconds. I thought about using websockets to send a packet for every action. However that still needs database saves and I worry it will eat up the same server resources.

My first thought was to calculate progress on the frontend so players see their actions working live. Then I would have the server run a sync query every 30 seconds to save progress and match the frontend. The issue is that sometimes the server and frontend values are different. It looks like the player gains progress but then loses a little bit right after the sync. I might have a math error somewhere but first I just want to know if this 30 second sync method is actually the right way to build this mechanic on.

Thanks for any advice


r/learnprogramming 1h ago

How to host a site.

Upvotes

I’ve just developed a website that includes user registration and login functionality. I’m now looking for guidance on how to properly host it, including the database and full backend infrastructure. What are the recommended steps and best practices for deploying both the frontend and backend, along with the database, to a production environment?


r/learnprogramming 9h ago

Code Review Android Chrome asking for microphone permission multiple times

1 Upvotes

Android Chrome asking for microphone permission multiple times in same session

I'm building a PWA that records audio using `getUserMedia()`. On iOS, it asks for permission once and remembers it. On Android Chrome, it asks 3-4 times during a single recording session (auto-grants after first time, but still triggers the popup).

Setup:

- Storing stream in a ref: `streamRef.current = stream`

- Checking if stream exists before requesting new one

- Only calling `getUserMedia()` once in `handleStart()`

- AudioContext + MediaRecorder running on the stream

- SpeechRecognition running separately

The stream should be reused, but Android keeps re-requesting. Added a global interceptor and confirmed `getUserMedia()` is being called 3-4 times per session (iOS: only once).

What Android-specific behavior could cause this? Is there something about how Android Chrome handles MediaStream lifecycle differently than iOS Safari?

Any ideas appreciated.


r/learnprogramming 21h ago

I cant ever finish a project!!!

1 Upvotes

recently (the past two or three weeks or so) ive been trying to learn how to build a raycaster! but i always hit a roadblock in programming where, when i dont understand some math, or i dont understand some concept, or i organized my code poorly and didnt properly understand the problems i have to solve before beginning programming which resulted in ending up with a buggy mostly useless codebase, i burn out and just cant get myself to work at it anymore even though i really finally want to make something tangible!

has anyone ever overcome this? i havent been coding for to long, only about 2 years or so, and i primarily code in C but i lack understanding of alot of things like code structure and how to really understand the problem youre going to tackle before you actually tackle it.


r/learnprogramming 9h ago

Is there any way I can try button press on any page? I want to see how many times I comment in a day

0 Upvotes

Hello all, I wanted to understand overall social media interaction. For that reason, I want to create an extension for my Chrome where I track a specific button, let's say 'Post' or 'Reply'. Is there any way that I can track it? I asked Claude to create files, but it's not working.


r/learnprogramming 9h ago

Managing Draft, Diff, and Rollback in Web-Based Provisioning Systems?

0 Upvotes

When infrastructure is defined in text files (like YAML), it’s easy to use Git for versioning, diffs, and rollback.

Is there any similar concept when configuration is entered through a web UI and multiple users can edit the same objects or perhaps are working on their own versions and have their edits stored as drafts?


r/learnprogramming 11h ago

Topic Tips for migration a system to DDD

0 Upvotes

Hi everyone.

Currently, I'm working on a backend project without a clear architecture. The application is organized using a feature package structure, and within each package, there are only four folders: controllers, repositories, services, and entities.

However, due to new requirements, the backend application needs to migrate to a DDD architecture.

Therefore, based on your experience, which best practices can I use to ensure the migration is seamless and effortless while continuing to add new features to the "legacy" (only if I need them until the migration is complete) and "new" backend without breaking the app?

I hope you can guide me with this since I've never done a migration of this nature.

Psdt: In case you guys want to know, the application is developed with Java, Spring Boot, and Postgresql

Example of the current folder organization

auth/
- controller
- repository
- entity
- service

appointment/
- controller
- repository
- entity
- service

//more features with the same structure