Go to college parties.
Ask HN: What are things a programmer should do at least once?
11–16 of 16 posts
Too late if you're out of college I'm afraid.
Re: Ask HN: What are things a programmer should do at least once?
#12Re: Ask HN: What are things a programmer should do at least once?
#13Rewrite the same program at least five times, trying each time to improve it. You can use different languages.
Re: Ask HN: What are things a programmer should do at least once?
#14Write a compiler. It gives you great insights into parsing/tokenizing, building syntax trees, implementing syntax and Symantec checks and code generation. Obviously, you would have to pick a toy language (typically a subset of a known programming language) and your generated code will be inefficient. Still, you would learn a lot.
I'd add writing compiler optimizations as well. Common subexpression elimination, dead code-elimination, copy propagation, register allocation to name a few.
Re: Ask HN: What are things a programmer should do at least once?
#15Supporting and extending other peoples code, however old the code is. Greenfield projects with new libraries and frameworks get all the limelight, yet you will learn a lot more by developing and supporting existing software in an organisation.
Re: Ask HN: What are things a programmer should do at least once?
#16Ask why and understand the reasons for a feature so well that when you explain it back to the business user requesting it, they nod, say "exactly" and their eyes sparkle.
Then change how the feature works, or eliminate it, or address the business reasons using a completely different implementation and sell it to the same person in a way that has them enthusiastically agree and sign off on it.