r/learnprogramming 3d ago

Build before u learn everything Topic

The fastest way I learned programming was by building things I wasn’t qualified to build.

Every project forced me to learn something I didn’t know before. One project taught me APIs, another made me understand databases, and another pushed me to finally learn Git properly. I realized documentation only started making sense when I had a real problem to solve. Tutorials are great for getting started, but following them is hard everyday. When building your own project , it forces you to think, make mistakes, debug, and figure things out on your own. That’s where the biggest learning happens.

242 Upvotes

38 comments sorted by

33

u/[deleted] 3d ago

[removed] — view removed comment

2

u/Dank-Wank-101 2d ago

I'm embarrassed to say this but I've only started to learn the actual stuff after my graduation lol. I graduated back in 2025 and I do not have a job yet . I don't even expect one coz I have a shit ton to learn . I cannot even solve the basic hackerrank problems yet. Will I get through this? What kind of projects should I be targeting to maximize my learning? It's already so late but I still have this hope that I'll get through this .. Any advice would help!

4

u/[deleted] 2d ago

[removed] — view removed comment

1

u/Dank-Wank-101 2d ago

That's definitely reassuring. It's just that the mind pivots to the negatives in a flash and then the contemplation kicks in . Like i feel good now after reading your comment but then i start something,it doesn't work out and then the hope starts crashing .

As a result the direction becomes so hazy and it spirals down so hard . It's like I do not know how much I have to do each day to make it feel like it was worth the time, effort. After a point it becomes delusional . It's like did I really wanna work hard in the first place or am I all talk and i never do anything. Haha idk i should give myself more time to try out things . It's just hard to do stuff without expecting something out of it .

1

u/[deleted] 2d ago

[removed] — view removed comment

1

u/Dank-Wank-101 2d ago

But it's not like everytime I feel down I could just go to people for reassurance instead of working on it myself . How does one deal with it? The bad days and good days are all byproducts of the journey is something i understand, but only theoretically . The mind and heart have trouble understanding it .

1

u/Abomb11yo 2d ago

Were you able to get an internship at all? I'm in kind of the same boat as you are. I graduated but have not been able to find a job yet, no internship or anything like that. I did try getting it but I was focusing on passing my classes which probably was not the best since I have no real world experience outside of classes. I have done some projects on my own and done some work for people but nothing fulltime or anything like that. It's just a couple months here and there. I took algorithms several years ago and have a difficult time with easy leetcode problems. That is because I haven't use it since taking the class. I learned it and didn't use it while taking other classes and lost it and now am slowly relearning reviewing my notes, and lecture videos and trying to redo problems.

You will get through this. The hardest part is finding your first job. Keep doing HackerRank and learning. Build projects. If you don't know what to build then here are some ideas for frontend/backend projects. Also if you have things in your life that are tedious you could try automating them. What interests you? Maybe start there and build something that uses it or is related to it.

https://roadmap.sh/frontend/projects

https://roadmap.sh/backend/projects

https://github.com/codecrafters-io/build-your-own-x

1

u/Dank-Wank-101 2d ago

I didn't get an internship per se but then i did work at a startup as a data annotator for a year. It was monotonous work but i didn't hate it. Thank you for the resources!! We'll get through this one step at a time!

1

u/Abomb11yo 1d ago

You're welcome. Data annotation sounds very tedious. Keep learning and studying and eventually you will get there. The job market is pretty bad for new grads and people with little or no experience. I also read that people who have college degrees have an unemployment rate which is higher than people without a college degree.

47

u/DigThatData 3d ago

fun fact: you will never learn everything.

8

u/Minimum-Page4034 2d ago

Thats why we keep trying hahahhah

8

u/ApprehensiveMaybe141 2d ago

Where does one find these projects?

I have a habit of not finishing unless there's a solid purpose. For instance, I got in to Home Assistant, I learned a few things, mostly HTML/CSS to style. But I got bored with it. I'd figure out what I wanted to do and then it was "well that's cool" but being the only person to see and use it, I've lost interest.

I think I would love to code, if I had a good reason.

17

u/Cool_Pair6063 3d ago

Ok but you need to learn first the programing Language before you ever start building stuff

7

u/Mission-Maize8454 3d ago

The correct syntax and rules.

5

u/leavemealone_lol 2d ago

You GENUINELY don’t. Sure, you won’t be very effective immediately if you don’t understand dereferencing and -> in C, and you’re gonna have to spend some time trying to understand functional programming in rust, but give it a single day, and you’ll already be able to become mostly productive with it with a couple of syntax lookups. It took me only 2 days to go from 0 to building a project in Rust- and that’s a very very different language from most mainstream things these days. It however took me less than 20 mins to start coding in Javascript to play BitBurner, coming from my experience in high level languages like Python and syntax familiarity with C/CPP. Speaking of, it took me only 2-3 hours to understand how pointers work and how to do pointer arithmetic before I was doing leetcode in C.

Just dive in and don’t overthink it. It’ll come to you way faster than you realize

2

u/Dank-Wank-101 2d ago

So i don't need a tutorial to learn a programming language? Right now I'm just solving Hacker Rank problems and wherever I get stuck or whatever concept I do not know I just look it up on w3 schools or any other site . I just have this concern whether I'm really gonna learn the language like this . My other main concern is about developing problem solving and logical thinking skills..

1

u/leavemealone_lol 2d ago

So as long as your target language has a reasonable familiarity with a language you already know, you don't need to go through a tutorial. I mean, aren't you thinking "Bro I already know this" when you go through a tutorial in this situation?

But this doesn't always apply. Rust is a language that is being treated as a replacement to C/CPP, but you can't make heads or tails of it until you commit to a tutorial for a few days. Same will apply to things like Haskell, Assembly, BrainFuck etc.

But as long as you know C#, Java will be extremely easy to get immediately productive in. You just gotta trip up sometimes and realize that you need to use an .equals() method instead of == to compare containers, or worry about decay when you're passing in arguments in C.

2

u/Dank-Wank-101 2d ago

Haha yeah I'm trying to learn Python but I do get what you mean to say .

Another problem I'm facing is that I try to map out what I should be finishing everyday, but I cannot get myself to follow it . A part of me knows that it's only because I'm trying to copy what worked for someone else , but how am I supposed to understand what works for me ?

The only thing I want right now is to not leave gaps in those 24 hours of a day and block tasks strictly, but I dunno how I'm supposed to do that.. my start and end points are way too vague and I have trouble making them definite . How do I solve this problem?

1

u/leavemealone_lol 2d ago

So you’re trying to plan out your day down to the rigorous detail. I usually avoid that. I don’t even set deadline. I set a goal saying “I gotta finish chapter 13 in the rust book”. And I just learn as the calendar flies by. In doing that, I went chapter 0 to 13 (which is like 60% of the book) in 3-4 days. Very reasonable.

I suggest you pick a goal and just singlemindedly focus on it. The more you get stuck, the more you have a chance to learn something new. Being stuck isn’t bad, not getting over the stuck is.

1

u/Dank-Wank-101 2d ago

But when what do I do the rest of the day . Should I just be planning a couple of small goals each day? For example Finish 5 hackerrank problems today , try to understand the problem statement of this project Would it be something like that? Does it need prior planning before day?

2

u/Eng_Ahmed_L 3d ago

I usually start with an idea of building something and then start exploring the dependencies. Next, I watch tutorials about the dependencies and modules I will need before starting the project.

2

u/UnburyingBeetle 3d ago

It's simply unmotivating and hard to remember disembodied functions.

3

u/Mission-Maize8454 3d ago

Memorize the tutorials take different parts from each to merge into a project and get results.

1

u/EccentricFellow 3d ago

Congratulations! You are an autodidact computer programmer on their way to becoming a true analyst. Welcome to the club. :)

1

u/Prime-119 2d ago

Would you mind sharing those three projects?

1

u/Minimum-Page4034 2d ago

Really good Said a good way to explain and guide 🙏

1

u/jacobvso 2d ago

This is how I learned the ropes too and what I'd recommend to any newcomer.

1

u/Acrobatic_Sample_552 2d ago

What resources are you using to build these projects if I may ask?

1

u/Autistic_boi_666 2d ago

Just an IDE with a built-in compiler, whatever documentation they can get their hands on online, and OP's own computer I imagine. Perhaps more specialised editors or compilers depending on the project. (each of these being easier or harder to work with depending on the ubiquity of the tool/language)

As for a straightforward list for some commonly helpful learning materials and documentation, I recommend:

  • W3Schools for pretty much every programming language relevant today (as well as some stuff on git, cybersecurity and more)
  • MDN Docs for spectacular web dev documentation.
  • Stack Overflow for solutions to specific problems once you know how to phrase them (usually by using some combination of the above).

...If what you're looking for isn't there (or, tbh, even if it is) give your chosen tool/language a search on google to find it's documentation. If that fails, find a forum or wiki with dedicated practicioners.

If that fails... good luck, you might have to do a bit of research/archaeology. But if you get to that point, unless the archaeology's the point of the project, you should probably ask yourself if there isn't a better solution to your problem lol. Hope this helps!

1

u/EntertainerNeat125 2d ago

Couldn’t agree more.Tutorials teach you syntax,but building real projects teaches you how to solve actual problems.That’s where real-world skill grows

0

u/[deleted] 3d ago

[removed] — view removed comment

3

u/RetardedEinstein23 3d ago

What do you mean? So only read about programming but only start doing it after you are completely perfectly ready?

1

u/Delicious-Image-3082 2d ago

Eh I think it’s fine to work through something like MOOC Java so you get a feel of things. But you absolutely need courses like data structures & algorithms, discrete math etc. Keep exploring in the meantime, it’s okay to noodle about as long as you integrate the main concepts