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

I see this effect in all areas of achievement. I call it the difference between intellectual understanding and actual understanding and look for it whenever I'm attempting to learn something new.

One example is programming. (Most) Everyone knows that TDD is good practice. But every time TDD comes up in an HN thread, it's overloaded with people saying the exact same thing. They know they should TDD but they don't.

It took careful and frequent watching of Gary Bernhardt's videos before I could finally TDD. I would watch videos at night, then go to work the next day and try to apply what I learned. I kept running into snags, and I'd have to go back and watch the videos again to get a feel for the technique.

The techniques looked simple, easy even. But actual practice made a giant liar out of the appearance. Proper testing is a tough, complex, pain in the ass to learn. Every time you learn a new programming paradigm, you have to figure out how it's tested. And you have to keep doing this for as long as you grow as a programmer.

It's complexity of a sort that makes it very difficult to properly articulate. When you do, the advice looks simple, boring. Yet the simple, boring advice gets thrown out whenever you try to put it into actual practice, leaving you with cowboy code.

The reason you see so few people who actually TDD is because very few people end up putting their foot down, and digging deep into the "simple" advice to make real progress on the goal of actually TDDing their software.

Entrepreneurship seems awfully similar.



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

Search: