# How you become an expert in any specific programming language from a # stage where you don't even know how to write "hello world" in that # language? Given how the question is worded, I will suppose you already know how to program in another language. First, write that "Hello World". Good, you have made some progress. Then find a good comprehensive tutorial-style webpage or book and follow it. Then find a toy project in that language and work on it. I advise targeting a few thousand lines of code. It can be anything you like. Suggestions: a LISP interpreter, a video game, a client for a network protocol... Then find reference projects in that language and read their source code. Say about five 5000 to 50k LOC code bases, old enough (at least a year), with reasonable usage and if possible with several contributors. Observe the patterns and code style. Then find a real project to work on. It can be professional or it can be a side project, but it has to be serious and you have to put the effort and collaborate with others. After that you will not need that answer anymore, but I would say: write Open Source code, go to conferences, speak, blog, become part of the community of the language. And finally, read the source code of at least one implementation of the language, to the point where you can understand exactly what happens when you run one of your programs. I would not consider anyone who has not done that an expert. And yes, it means it is easier to be an expert at some languages than others! :) What I cannot create, I do not understand. -- Richard Feynman