With a combined total of 8 books and three online courses between us, we’re seen as authorities in computer programming and web development. Being a published author has a way of instantly making someone an expert in the eyes of the world.
In truth, we know plenty of people who are better programmers than us. We wouldn’t even consider ourselves in the top 25% in practice of any of the subjects we write about. We do, however, have an extensive fundamental understanding and ability to adapt, learn and communicate a broad range of topics. In the rapidly changing field of computer programming, this is the hallmark of an expert.
It may be surprising that authors and teachers aren’t necessarily always the best at the skills they teach and write about. To be a writer or teacher, and thus to be seen as an expert, requires a completely different set of skills.
One of the things that interests us most, and that we get asked about most in our online classes or on Quora.com is: What is the fastest way for someone who is brand new to programming to go from knowing nothing to becoming proficient?
Here are our 5 tips to becoming proficient in programming or web development.
1. Begin with a concrete goal. Think of a specific project that you’d like to be able to build or complete. This will determine your roadmap.
3. Set a deadline. Once you have a better idea of what you need to know, set a date. The more this date is tied to actual consequences, the better. For example, if your goal is to create an app for reminding the teammates on your softball team about practices and games, you’ll need to have the app done before the season starts.
4. Track your learning time. Every time you work on your goal or learning the things you need to learn to accomplish your goal, write down the date, amount of time spent, and what you worked on in a log of some sort.
5. Practice cutting corners. The best learners, and the best programmers, look for opportunities to cut corners and get the same results. Practice finding faster ways to learn and remember things; to build systems to avoid having to relearn or re-do things.