Modern developers have to learn more than one or two languages during their career.  Thus, any steps that can improve your ability to ramp to a new language will add value to your resume.  In my time spent learning dozens of languages, I have found a few steps that help.  Everyone learns a little differently.  However, these help add a language as a tool rather than master the syntax.

What is The Purpose?

Nearly every language has a primary purpose.  For example, HTML and PHP are for building web applications.  Java is for cross-platform development.  There are a few general purpose languages (C, C++, and the like).  However, there tends to be a problem or family of challenges at which each language excels.  Much like learning to use a hammer, saw, or another tool, the best use of a language is the first step in mastering it.

Pick a Model Project

Early on in learning languages, syntax and basics matter.  Once there are a few mastered, then the details of a language are less important.  Thus, a focus on learning new syntax is not as important as learning how to solve X in the new language.  Therefore a project is an excellent way to add a new language to your resume.  The project not only will help focus on solving problems in the new language, but it will also provide a reference project.  This approach is better than the old “Hello World” application as it becomes a way to see how various problems are solved.

Look For Common Problems

There are any number of issues that have to be solved in most languages.  These include tasks like connecting to a database, writing output to a file, gathering input (from a file or a user), and application flow.  It is hard to claim knowledge or familiarity with a language if these everyday tasks have not yet been tackled.
This lack of a reference points back to the model project.  A well-chosen project will have these standard features and be a proving ground of your knowledge.

Create a Foundation, Then Grow It

When you start simple, there will be a lot of examples available.  Build the basis for the model project, so you have a starting point.  This may be a simple page and menus or a few steps that only output log messages.  The hardest part often is the setup of your development environment.  Once a simple foundation is built and can be run successfully there will be something to build on.  This is important as you will have a working baseline you can always return to.  As the features are added, make heavy use of a version control tool to save work.  The versioning will also provide a steadily improved foundation for future projects.

Rob Broadhead

Rob is a founder of, and frequent contributor to, Develpreneur. This includes the Building Better Developers podcast. He is also a lifetime learner as a developer, designer, and manager of software solutions. Rob is the founder of RB Consulting and has managed to author a book about his family experiences and a few about becoming a better developer. In his free time, he stays busy raising five children (although they have grown into adults). When he has a chance to breathe, he is on the ice playing hockey to relax or working on his ballroom dance skills.

Leave a Reply