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.

Wikipedia

wikipedia logo

Get a high level perspective of the technology by reading its Wikipedia page.

http://en.wikipedia.org/wiki/Haskell_(programming_language)

Hacker News

Hacker news search screenshot

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.

Stories: http://www.hnsearch.com/search#request/submissions&q=haskell&sortby=points+desc&start=0

Comments: http://www.hnsearch.com/search#request/comments&q=haskell&sortby=points+desc&start=0

StackOverflow / StackExchange

stackoverflow logo

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.

http://stackoverflow.com/search?tab=votes&q=title%3ahaskell

http://stackoverflow.com/questions/tagged/haskell?sort=votes&pagesize=15

GitHub

github logo

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.

https://github.com/search?langOverride=&language=Haskell&q=language%3Ahaskell&repo=&start_value=1&type=Repositories

IRC

irc screenshot

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 irc technology-name.

https://www.google.com/?q=haskell%20irc

Conclusion

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.