Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It's remarkable how similar this is to learning programming. Anyone remember the lightbulb moment of grokking pointers? And there you were writing C for an arbitrary amount of time t for 0 < t < need for sleep.

React devs probably have a moment when react suddenly makes sense.

In all four cases (bicycling, music, pointers, react) what makes the difference is dogged persistence. One day you'll wake up and things will seem simple -- and the next challenge impossible. Rise and repeat.



Funnily enough, this happened to me just today! After almost two years of studying 6502 assembly in my spare time, the whole mindspace required to be an efficient and productive assembly programmer clicked for me this afternoon.

It wasn't literally sudden, more so a realization over the course of an hour after the usual reading and re-reading of various tutorials and documentation that I had already been doing. I'd say a few hours into programmer flow was when it all came together.

I liken it to when I first grokked Lisp back in high school. A shedding of mental fog leading to a sort of "now I finally get how somebody could program a game in this without being some hack-the-planet-level computer whiz."


> Anyone remember the lightbulb moment of grokking pointers?

Strangely enough, I don't think I do. There was a spectrum where I didn't get pointers, I thought I sorta got pointers, I thought I got pointers, I thought I get nothing, and over time I got a bit better at understanding pointers thanks to C++ and Rust. Definitely more of a continuum.

I did have a lightbulb moment for understanding recursion, though, thanks to an assembly course.


To take that further, this is exactly in analogy with why/how some people enjoy research (or any kind of learning that stretches cognition, in general). Every time you "get" a new concept, it's like you've "leveled up" and your experience in that domain is forever altered :-)


This is still what I tell people in interviews was my most difficult technical challenge. I had nothing but an old 386 and the K&R book -- no Stack Overflow back in those days, and I didn't know any programmers well enough to ask them for help. It was the first time in my life I ever truly grinded on a task. It happened just suddenly, and it was glorious, and I've been chasing that feeling ever since. "Hey, kid, you wanna fly?"


I seem to go through a similar experience every time I need to design a recursive algorithm... after writing and rewriting a bunch of crap code, it finally clicks and I can write the REAL function (which is usually just a few lines and amazingly elegant).


how long does it take for react to make sense?


A friend of mine is a far better webdev than I could hope to be. She knows CSS inside and out, and seems to make it a point of pride to know every little detail. She did it in three years of focused effort, with no prior programming experience. It was one of the most amazing transformations I've seen, but it was only because she worked so hard.

She mentioned the other day that she's a bit sad she can't find any aspect of React she doesn't know. But now she's been banging her head against react native for the past few months, so there's no shortage of challenges. She's the primary architect of a startup's frontend webapp (and now their mobile app). I keep trying to push her to write and post her stuff, but she still feels like she doesn't know anything. But that feeling seems like the main reason she knows so much now, several years later.


To be fair, CSS is nothing like programming. So she wasn't really learning react, she was learning the entire paradigm of programming in the context of react. My guess is that would have been way harder than learning programming in a traditional language and then learning React, because you wouldn't have been able to separate the concepts that are React specific from the concepts that are just programming. It would have been harder to answer the "why do we do it this way" questions, which can be really important to developing an intuitive underatanding of programming.

I would like to add as well, as a career move, total slam dunk.




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

Search: