I recently watched a video about a young programming prodigy, who was obviously brilliant. I was thinking about things I have learned over my career which started back in 2003, that I wish I could share with this young man, and thought I would share them in my blog, so here they are, and I know I probably am missing a couple. They listed in the order in which I thought of them, not necessarily by importance. Hopefully some young technology folks will find them helpful.
1. Learn high level and low level programming languages in multiple paradigms, and use the language that fits the problem.
2. Know not only how to build the apps, but how the whole system you are building fit and interact together in the infrastructure as a whole, and what organizational impact the whole end-to-end system has where it is running. Know the big picture.
3. Socialize, even when you don’t want to, even when it exhausts you. People matter.
4. Don’t stagnate, ever; because technology never will.
5. Shut off once in a while, and pursue something fun or spiritually satisfying, in my case I enjoy nature, my family, movies, and gaming.
6. Don’t chase fancy and trendy new things unless they improve something. Read about Ken Thompson and Dennis Ritchie, their work is in literally every piece of technology. Master a language in each paradigm, and be proficient in more. The key here is never spread yourself too thin. Be well rounded, but be a master in the space you enjoy.
7. Work on multiple operating system and database platforms. Embrace a heterogenous approach.
8. Always be genuine.
Here is the video: