Want to be a great Developer…..Practice Practice Practice….
In Malcolm Gladwell’s book Outliers he talks about the 10k principle. The principle holds that 10,000 hours of “deliberate practice” are needed to become world-class in any field. In Malcolm’s book he even talks about how microsoft founders Bill Gates and Paul Allen had thousands of hours of practice developing software from their time in high school.
In my opinion there is a difference between working and practicing. Often times when we are working we have deadlines and we may just be focusing on getting things done and not really understanding how they work. Practicing is when you repeat an activity regularly with the goal to improve one’s proficiency.
A colleague at Solution Street Jeff Schuman recently found a fun site where you can practice your development skills – CodingBat (codingbat.com). The CodingBat site is run by Nick Parlante a computer science professor at Stanford. The site offers practice problems that focus on fundamentals at varying degrees of complexity. If you want to code in Java or Python, you can do it right on the site and test your code out there. You can also practice other programming languages with the same problems, but you will need your own place to run and test them.
Another way of practicing is by teaching others. I find many times I understand my code better when I explain it to someone else a few times or have to prepare a presentation on how something works. Practicing your coding with others is fun!
At Solution Street we think all developers should understand fundamentals like conditionals, looping, variable scoping, and data structures like Arrays, Hashes and Strings. If you aren’t world class at these, it’s time to practice!