In this post, I’ll share some tricks I use before diving into a new technology. Technology could mean anything from programming language to an operating system (note that some steps are specifically for programming languages/frameworks).
For the sake of demonstration, I’ll pretend that I want to learn the Haskell programming language.
Get a high level perspective of the technology by reading its Wikipedia page.
Get hands on feedback from people who have previous or current experience with the technology through comments. Find interesting articles about the technology (by popularity or date) through stories.
StackOverflow / StackExchange
Find out the highest voted questions relating to the technology. It is very likely that you’ll have those questions as well when learning the technology so why not find out the answers right now. There will also usually be a question about the best resources to learn from. This can be a good starting point for your own learning process.
Find out the most popular open source projects that relate to the technology. This is especially helpful when you start a project with this new technology and aren’t sure which are the latest and greatest libraries to use. It’s also a good idea to study the codebase of open source projects to get familiar with common idioms and coding styles.
Find out if the technology has an IRC channel. You can usually
find that out by simply connecting to Freenode and joining
#technology-name or Googling
Don’t forget many people have gone through what you are about to go through. Don’t repeat the same mistakes they did and leverage every piece of information you can from them!
I’d love to hear more tips and tricks in the comments below.