Beginner Learner, Overwhelmed by Programming Resources

4 points by asoli ↗ HN
I want to be able to program web apps. My goal isn’t really to find a higher paying job; I’m just fascinated by programming and want to create apps that accomplish something, like a simple bookmarking tool.

Have been trying to organize my learning process for a long time and I still can’t make sense of what I’m trying to achieve here. There are a wealth of resources out there for beginners like me, but it can be so much noise that it gets overwhelming and discouraging for me.

How to go about learning web apps development? I don’t have a preference for a particular language. I just want to tune down the noise and stick to one thing.

2 comments

[ 3.0 ms ] story [ 17.0 ms ] thread
Well, I can tell you my experience. Over the last few years I've taught myself just enough PostgresQL / Go / JS / CSS / HTML to be able to put together a rudimentary CRUD type taskmanager app.

Because there are no real learning resources unifying all of these elements properly, I tried finding resources that taught me as many elements at the same time as possible.

For JS I found the modern Javascript tutorial to be the best: https://javascript.info/

For CSS and HTML I used this course by Todd McLeod: https://greatercommons.com/learn/how-to-create-a-website

For Go (which is what I started with after learning Python. I only knew basic programming concepts then and the course was in-depth enough) I also used a Todd McLeod course: https://greatercommons.com/learn/golang

For a combination of Go, PostgresQL and HTML / CSS (but very little of the latter two, really), I tried Jon Calhoun's excellent course on web development with Go: https://www.usegolang.com/

If you are anything like me, be prepared to spend months on this one. He is very thorough and doesn't do a lot of hand holding

Once you've worked through all of those, you need to just keep throwing shit at the wall and see what sticks. Try to make something, find out the billions of specific cases none of the tutorials you used so far covered, read a ton of stackoverflow, realise your app sucks, start again. Rinse, repeat, for years, if you are working full time next to this.

Most rewarding thing I've ever done, but there are times when it gets so frustrating. You'll be struggling with some concept for absolute ages, until you find some no-brainer solution that nobody ever mentions on Stackoverflow. It's quite bizarre how that happens.

I'd also stay away from JQuery, ORMs and any of these big convenience tools. You need to learn the things they abstract away first. After that they can be useful for quick prototyping.

I understand your desire to tune down the noise, but it's very hard to do that when you are trying to develop a web app. It's so easy to just say the word web app, but when you say "PostgresQL backed, Golang, Javascript, CSS, HTML app" it suddenly sounds a bit different, doesn't it :)

Obviously that's just the stack I learned. You can just go Node.js all the way through the stack, but that never sat right with me, I had a broader curiosity about the different programming languages working in unison.

It's also worth noting that I am still absolutely terrible at any coding and just can't believe the kind of solutions people come up with online all the time. The learning curve is endless, but once you get something working, it's the most rewarding thing in the world.

Oh and lastly, don't trust everything people say on Stackoverflow. A lot of solutions are incredibly specific and often not even the best way of going about it. It's worth comparing a few posts each time.

This is what courses are for. The instructors choose the technologies and instructional materials (books or websites or...) and present them in a meaningful order. It doesn't matter so much which technologies and materials they choose -- there are many alternatives that would work -- what matters is that experienced people make the selections and shape them into a coherent story.

If you aren't able to take a course (or don't want to) you might still be able to get some of the benefits by finding a course with a published syllabus (including assignments) and following it on your own.