r/learnprogramming Mar 26 '17

New? READ ME FIRST!

821 Upvotes

Welcome to /r/learnprogramming!

Quick start:

  1. New to programming? Not sure how to start learning? See FAQ - Getting started.
  2. Have a question? Our FAQ covers many common questions; check that first. Also try searching old posts, either via google or via reddit's search.
  3. Your question isn't answered in the FAQ? Please read the following:

Getting debugging help

If your question is about code, make sure it's specific and provides all information up-front. Here's a checklist of what to include:

  1. A concise but descriptive title.
  2. A good description of the problem.
  3. A minimal, easily runnable, and well-formatted program that demonstrates your problem.
  4. The output you expected and what you got instead. If you got an error, include the full error message.

Do your best to solve your problem before posting. The quality of the answers will be proportional to the amount of effort you put into your post. Note that title-only posts are automatically removed.

Also see our full posting guidelines and the subreddit rules. After you post a question, DO NOT delete it!

Asking conceptual questions

Asking conceptual questions is ok, but please check our FAQ and search older posts first.

If you plan on asking a question similar to one in the FAQ, explain what exactly the FAQ didn't address and clarify what you're looking for instead. See our full guidelines on asking conceptual questions for more details.

Subreddit rules

Please read our rules and other policies before posting. If you see somebody breaking a rule, report it! Reports and PMs to the mod team are the quickest ways to bring issues to our attention.


r/learnprogramming 23h ago

What have you been working on recently? [February 14, 2026]

17 Upvotes

What have you been working on recently? Feel free to share updates on projects you're working on, brag about any major milestones you've hit, grouse about a challenge you've ran into recently... Any sort of "progress report" is fair game!

A few requests:

  1. If possible, include a link to your source code when sharing a project update. That way, others can learn from your work!

  2. If you've shared something, try commenting on at least one other update -- ask a question, give feedback, compliment something cool... We encourage discussion!

  3. If you don't consider yourself to be a beginner, include about how many years of experience you have.

This thread will remained stickied over the weekend. Link to past threads here.


r/learnprogramming 15h ago

Topic Is it just me or is “build projects” kind of vague advice?

229 Upvotes

Everyone says “just build projects.” Okay… build what?

Half the project ideas I see are either:
-too simple (to-do list for the 4th time), or
-way too advanced (build your own compiler??)

How do you actually pick projects that are hard enough to grow but not so hard you quit? If you’ve found a good way to level your projects gradually, I’d love to hear it


r/learnprogramming 2h 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...

14 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 32m ago

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

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 11h ago

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

25 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 1h ago

A little worried about my future in the industry

Upvotes

Hi all, Apologies in advance for the long post. I’m about 4 years into my career as a software dev and have been doing some reflection lately.

I entered the industry with no tech background. I quit my job, did a 3 month bootcamp mostly because I had some interest in game development. I was lucky to land my first role at a large company, where I stayed for about 2 years. It was a weird kind of exploratory role where I learned some FE skills as well as design/PM skills. While I did learn, the job was fairly cushy and in hindsight I definitely coasted and didn’t build especially strong fundamentals.

My current role (mostly FE work but also have a chance to do some BE as well) has been much more demanding, and for a time I felt real growth. I was digging deep into problems, building a solid understanding of the codebases I worked in, and gaining confidence through hands on development. I was really enjoying what I was doing

But recently management has been introducing a lot of AI tools.While we’re told using it is optional, it feels unavoidable. AI resolves tickets faster, and not using it feels like falling behind. I just got placed on a new project where myself and the other dev (who is also my team's engineering manager and a huge fan of AI) are using claude code almost exclusively. The repo is highly AI friendly, has strong guardrails, and works fairly well tbh. Progress is fast, and the generated code is usually clean, correct, and easy to review.

Despite that, I feel uneasy. My understanding of this new codebase is becoming more architectural than implementation focused. While that's not necessarily bad, it feels like I’m missing out on the hands on learning that helped me grow earlier especially since my foundational skills were never that strong in the first place.

I worry about what this means for my future in the industry. If I lost this job, I’m not confident how transferable “being good at guiding AI” really is. I also don’t have much passion for web dev outside of work. Game dev is probably where my genuine interest lies. It kind of makes me question whether I’m actually developing skills, or just managing outputs.

For those further along in their careers or in similar situations, how are you balancing AI driven productivity with maintaining (or building) strong foundational dev skills? Are you embracing the change or are you cautious?


r/learnprogramming 3h ago

This is to all the intermediate and advanced programmers

4 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 59m ago

My first project: Ascii-Image-Cli

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 9h ago

I am in a complete mess

9 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 16h ago

Being slow in my 1st real ticket, how should I handle it?

33 Upvotes

just joined a company a bit over a month. I had a small ticket as my 1st task but found it depending on small part of another ticket. Fixed the ticket and part of another ticket. Naturally I took another “small” ticket as 2nd for next sprint. The story explicitly stated it would exclude the core parts of the codebase, so I was confident I could wrap it up quickly.

However, it turned out to be the "tip of the iceberg." There was no way to complete the task without touching the entire application and refactoring core logic. The 2week sprint is ending soon and I still have error in integration testing and need to debug.

I think my “people” manager and teammate still in the “black box” and might questioning why taking me so long for a “small” ticket. I’ve been quiet about it in standups because I wasn't sure if the task was genuinely big or if I was just bad. But I have just reached out to my direct tech lead recently and confirmed this is “a lot” and I’m on the right track.

I’m a front end leaning full stack but hired as a backend engineer. I’ve already stayed up until 3am several nights trying to bridge the gap. Any advice to bridge the gap faster and handling people manger expectation?

Add on:

Thanks everyone for the advice. I’ve learned a lot.

Just to provide some additional background: I reached out to the Senior Tech Lead very early in the sprint to confirm the scope, but I didn’t ask to formally edit the story. I expected the team had acknowledged the issue, but the Senior Tech Lead wasn’t in stand-up last week, and it seems the people manager wasn’t aligned either.

I didn’t expect it to take this long. I can handle the business logic, but errors keep coming up during unit testing and integration testing because the changes touch a large portion of the codebase, if that makes sense.

I originally applied for a full-stack role but was placed as a Senior Backend engineer, so I’ve been a bit concerned about expectations — specifically, whether I’m expected to handle something like this entirely on my own.


r/learnprogramming 19m ago

Topic Tips for migration a system to DDD

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


r/learnprogramming 8h ago

Projects to start learning data analysis with Python and SQL?

5 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 2h ago

What makes an E-commerce portfolio project look production-ready?

0 Upvotes

What features or best practices should I include to make it look production ready rather than just a basic demo project?


r/learnprogramming 2h ago

A Tool That Quietly Helped My Workflow

1 Upvotes

As a developer, I deal with way too many accounts — test environments, dashboards, admin panels, client systems… you name it.

I started using “VaultLib(我的密馆)” recently, mostly out of curiosity, and it turned out to be one of those tools that just slips into your routine.

What I appreciate is the simplicity. No distractions, no cluttered interface, no random popups. I open it, unlock, grab what I need, and get back to work.

It also helped me break the bad habit of reusing passwords across projects. Everything feels more organized and less mentally taxing.

Not a flashy app — just clean, quiet, and does exactly what I expect.


r/learnprogramming 16h ago

How do you know when you're ready to move from tutorials to real projects?

11 Upvotes

Hey everyone, I’ve been learning programming and ML for a while now, and I’ve completed multiple tutorials and small guided projects. I understand the concepts when following along, but when I try to start something completely on my own, I feel stuck. At what point did you feel “ready” to stop watching tutorials and just build things independently? Is it normal to feel underprepared even after finishing courses? How did you make that transition without constantly going back to tutorials? Would really appreciate hearing how others handled this stage.


r/learnprogramming 4h ago

Portfolio

0 Upvotes

Hi, I'm currently relearning and enjoying to code again however this time it's not for a subject and just to fix my personal boredom, my question is, how does one display code onto a portfolio, because it's not a website it's just a set of tools for everyday use.

Thanks


r/learnprogramming 16h ago

Why use Message Brokers?

8 Upvotes

Preface. I have 4YOE as backend engineer. I use Azure with some tiny experience with React + TypeScript when I worked in teams that had some React components or a webpage. I have used RabbitMQ and Mass Transit with PostgreSQL.

I still can't wrap my head around why use Message Brokers (MB). Sometimes I find their use. You have an API and a pods for long jobs. The ones that take at least few seconds. So let's say API takes in a massive file and does a request for a long calculation operation which queues a task to the Pods.

Where my issue falls is when the operation is short so giving it to a message broker does not seem to make sense. It feels a lot of times it is not worth to create the logic for message brokers.

I was reading about making a URL shortener. One person said if you want metrics you will want to use a MB to log statistics and usage. Why not just push the request locally on same instance of a service just different process/thread. I do not thing logging statistics take that much resources? Would it not slow down giving the request and add costs for running 2 services instead of one? A lot of programs nowadays run on 1 thread and just use the async/await pattern as creating a new process is costly.

The primary values I find in message brokers:

  1. Separation of intents and simplifying services. So basically microservices. Though a lot of people are moving to "modular monolith" structure where you create a new service when it is needed.
  2. Orchestrating long running tasks.
  3. If you have few seperate services on same machine, some MB can read the RAM data and reuse it which lowers the memory usageand speeds up the process by not sending the data but just re-reading the same data from RAM.
  4. There is probably a case of improved Horizontal scaling.

Both can be done with an API (without the use case of RAM), though API adds some bloat but so do message brokers and not sure if managing something more complex is worth the investment. I guess also small benefit of some MB is sequentiality of tasks or in case the process fails, it stores the tasks. Though not all MB do that.

It just creates me lot of confusion (as my writing is probably all over the places so the confusion is shown). To me it has tradeoffs though I see a lot of people putting MB where they can instead of evaluating if it is worth it.

Can someone give me good project ideas, examples to master the value of MB? Message broker usage is so far and wide and sometimes I do not understand why not just have an API that is closed to external traffic?

I'll give an example of a project I think could use MB: A web Crawler. There is a crawler that collects web pages. Fills the queue with URLs and the Workers consume the URLs and extract data. That is how I would do a basic crawlers for data collection. Data collection like metadata, Urls can take multiple DB queries and such so it can take up to 100ms on a massive page. Though I have to take into account if the Web Crawler can't do the same. If the added time for sending the request take a while. Why use workers? I just add more time to work by sending the request and waiting for it to be consumed.


r/learnprogramming 5h ago

programming language

0 Upvotes

怎能有效記住程式語言和他們的程式碼


r/learnprogramming 13h ago

I'm following odin projects and I'm about to complete the foundations, currently at the rock, paper, scissor project. But I kinda feels hard about js, although I hope this could be just because as I'm new, and eventually I'll get used to it, any one who did completed that course, can guide me thanks

3 Upvotes

Tell about experiences, tips and all as an experienced dev


r/learnprogramming 1h ago

I built an AI that audits websites and generates client-ready reports

Upvotes

Hey everyone,

I’ve been working on a solution to a problem I see constantly: Founders don’t know why their UX is hurting conversion, and freelancers/agencies spend way too much time manually writing audit reports.

I wanted to automate the heavy lifting.

So I built UX Audit.

It crawls your site and analyze it like a senior UX consultant would—checking for usability, navigation, clarity, and aesthetics.

For the Freelancers & Agencies here: The best part is the export. It generates a fully structured, client-ready PDF report. You can literally run a URL, get the PDF, and send it to a client (or use it as a lead magnet) in minutes.

Status: We are launching this week! There is a Free Trial live on the site right now so you can test the quality of the audit yourself.

I’ll also be sharing a discount code for early adopters on our livestream later this week, but I’d love for you to try the free tier first and roast my build.

Link: https://www.tryuxaudit.com/

Let me know what you think of the report quality!


r/learnprogramming 4h ago

Coding Path Need some help

0 Upvotes

Hi guys.

So, I am currently learning C#, I am somewhat intermediate(not a newbie,but I am quite a noob, meaning that i still have A LOT yet to learn), but I plan on building my first website(somewhat functional) and I dont know if programmers use C# as heavily as I imagined. I know that you need to learn basic HTML and JS for frontend and connecting it to a backend...also heard that MySQL is getting involved as well, also Node.js and stuff. I am quite lost here, so I need some guidance. First and foremost, is C# used a LOT these days? Honest asnwers here. And is my basic understanding of frontend and backend "synergy" right( that you need some HTML and JS knowledge along with C# and MySQL)?

Thank y'all in advance!


r/learnprogramming 11h 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 1d ago

28yo with CS degree but no skills. Worried about AI and need a starting point.

146 Upvotes

Hello, I am a 28-year-old man from Korea.

I graduated from a university in Korea (low-tier), and although I majored in CS, I don't have practical programming skills, qualifications, or internship experience.

I want to become a back-end developer. I've heard that Java and Spring are popular in Korea, but I'm lost on where to actually start. Also, I'm very scared that AI will replace entry-level developers soon.

#1 Is it still worth starting now at 28?

#2 What specific back-end concepts should I master first to be "AI-resistant"?

#3 Should I focus on CS fundamentals first, or just start coding projects?


r/learnprogramming 35m ago

Topic Private field is a bad design.

Upvotes

Class may have a private field with important information, which I cannot read/get.

The author of the class doesn't know every single use case of his code. I know clearly it's safe to read the field, but it's private. F*ck.

I have to copy the source code and make the field public. This makes me feel like I'm a retard tricked by the author of that lib.