What's been your best investment?

Writing a code generator. It was so difficult that every other programming task since was easy in comparison.

Conventional wisdom advises not to try anything too hard because you might fail. True, but that advice discounts the biggest dividend of all: who you become in the process.

I didn't realize how important this was until I saw how easy it was for me to do most ordinary programming gigs. It was like playing basketball with a regulation hoop when I had already practiced with a smaller one. Other programmers struggled because they hadn't seen that problem before and they had never stretched themselves.

Building hard things on my own made me a much better programmer when I did work for others. By far, my best investment ever.

Original thread:  http://news.ycombinator.com/item?id=1541405