Hacker News new | past | comments | ask | show | jobs | submit login

A lot of newbies get stuck in what I call a "tutorial loop": They finish some mediocre/hand-holding tutorial, but they don't feel like they can write anything yet, so they go to another one, and another one, etc. They never end up building anything because they preoccupied with being "ready" before doing anything.

I say, stop reading tutorials, hit up the documentation/IRC, and build something. Won't be easy but that's how you learn!




I encounter the same thing when people try to learn to study Japanese -- they keep dancing around it by reading about how other people learned/studied, weighing the pros/cons of various approaches and textbooks, etc.

I call it "analysis paralysis."


I think it is paradoxically a lot harder now to start than it used to be, way back you had basic on your computer (if you started when I did) or maybe turbo pascal (some years later), and that was it, you wanted something you started to write.

Now say you want to put together a web application, you're going to google and immediately you'll get a billion stack options with very opinionated people in each camp, it's hard to choose what to do.

Having some guidance to start is good, otherwise you end up like I did in my teens, where the second program I started writing was a text adventure game where every room was a separate block of code with if/equals text parsing where I eventually ran out of memory due (64k wasn't much) if I had found that article talking about text parsers and data structures it would have saved me a lot of time :)

Nowadays though it's hard to get only some guidance if you want to start on something, and so analysis-paralysis is a significant risk.


I've been a full time developer for 8 or so years now, and I can say, the most complex personal projects I ever finished were when I started in BASIC, before I knew what an array was.

That is partly due to lack of motivation to work outside of work, but partly due to analysis paralysis when I try starting a new project. I get pretty far in, and then realize all the things I should consider and scaffolding I need to build, etc, that I lose interest.

So in other words, I agree.


Yep. The more you learn, the more you realised how little you knew. It's pretty bad actually. Not sure how to get out of it.


There's a trap hidden there as well, one I realized only recently - you not just realize how little you know, you are also increasingly unable to discern the importance of it.

Say you want to make a homepage. You've learned of Node.js, you've discovered Chef and Ansible, you've heard of Docker and Redis, you've seen Heroku and DigitalOcean. Where should you put it? Which tool should you use for automation? Is Grunt enough, or do you need Gulp? Which Yeoman generator should you use? Is LESS better than Sass?

The answer it: it doesn't matter, ignore that stuff. Grab a random hosting (or VPS, if you know your way around Linux), hand-write some HTML and CSS, sprinkle with JS and that's it. You don't need IT infrastructure management, you don't need build tools, you don't need any stack. Just make that homepage, maintain it for a while, and notice which parts are the most annoying. Then think about how you could make those pain points disappear. Then see if any of those cool tools can help. It's much easier to understand them if you know what problem they're actually solving.


Honestly I love this comment. That is such a good way to look at things.

And here I am today. Ostensibly trying to remake my website, but actually dicking around with about 4 different PHP frameworks, switching back and forth every few hours. I think I'm going to go grab the HTML/CSS from it, and go back to basics.


I like your answer but it genuinely wouldn't work. Suspect, most of us know those things already.

I don't think you can tell someone who suffers from analysis paralysis that it's irrelevant.

You can tell them, but it might not matter. I 've come to the conclusion that the only thing works is an "authority". School, parents, work, boss, client. Basically anything that directly controls your life.

Not to diminish anyones experiences, but indecision from analysing things it's like a drug, at least for me. I feed off it, and suck and impacts my life, but not instantly. Over time.

I can't pick a project to finish because I only have 4 days, but then 4 days pass, and you still haven't. Now increase that into a weeks or months.


I'd noticed this for a while before I found out what it's actually called. Maybe this will interest you, too. :)

https://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect


If you know about the dunning Kruger effect and then apply knowledge of imposter syndrome you can power a small turbine with your self-image as it flips back and forth.


Sure guidance is great. As much as I was a 14 year old know it all pain in the ass, my old highschool CS teacher taught me the most important lessons of development: memorable variable names, syntax formatting, and saving frequently.

However, there were at least a thousand programs I'd written before and after that involved huge if/else and case statements because I didn't know better or couldn't anticipate growth. Copy/paste code littered throughout.

All of that 'bad' code was there because I wasn't worrying about making my code good (and barely knew what good code should look like), I was trying to make it work and solve a problem. That bad code made all of us who we are today- someone who starts their coding journey out only trying to write good code will never get finished, and probably give up.

Hell, I'm 33 and have been writing code since I was 9 and am considered a 'rockstar' developer and architect by my peers (which is probably more of an indictment of their judgement) and I often still disregard the ugly for the path to the solution, then go back and refactor/cleanup/make portable after I have large blocks of code written. The only difference now is that my ugly is a WHOLE LOT prettier than my best used to be.


Both of these examples I feel are like the difference between learning as something that increases a person's capacity to do something, and learning as a "sport," to just kind of get some notches on the keyboard.


This is slightly painful reading. As someone on the periphery of coding I've been stuck in that loop for years that are rapidly approaching a decade.

I think more than just doing these things it's vitally important to have people around you that you can ask questions to. While I'm sure there are some autodidacts who can make do with an IRC channel and google I've only ever had things stick when there's a real life person in the room I can keep on asking dumb questions to.


It goes by another name as well https://en.wikipedia.org/wiki/Analysis_paralysis




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: