View stunning SlideShares in full-screen with the new iOS app!Introducing SlideShare for AndroidExplore all your favorite topics in the SlideShare appGet the SlideShare app to Save for Later — even offline
View stunning SlideShares in full-screen with the new Android app!View stunning SlideShares in full-screen with the new iOS app!
The Journey to Mastery Recommended by Drum instructor: Practice as often as you can Structured practice of patterns Free-form improvisation to open up creativity Perform live with others in a band Watch as many shows as you can
Applied to Software Development Practice programming as often as you can: Spend time learning mature technologies well Play around with experimental new technologies to open up creativity Read as much code and watch as many presentations by others as you can Use your programming skills on real-life projects
How To Learn Start by playing a pattern slow Speed up very gradually with a metronome Practice inserting the new learned pattern in actual music playing till it is internalized and becomes a part of my "feel"
Applied to Software Development Start learning a new technology by writing tiny programs Gradually expand those tiny programs to do more Look for practical applications for the new technologies and use them in the real-world
Passion and Aspiration The more I learned drumming patterns, the more I wanted to learn new ones Playing the drums at one point led me to aspire toward utter and complete mastery of all the drum styles I like This in turn gave me extreme motivation to enjoy practicing mundane exercises such as marching band drumming rudiments
Applied to Software Development The more technologies/languages you master the more you want to learn new ones At one point, you may realize that it is extremely rewarding to master the entire software development field This will motivate you to master every discipline related to software development including mundane ones like system administration