What does true language mastery look like?

« »

This week, my wife and I are enjoying a well deserved vacation in Paris, France. Though many Americans are convinced the French speak English, this is not always true; this has meant two things for us. First, my wife has had to practice her French from years ago. And I have begun learning a bit of French, just enough to order a croissant and a coffee. But all of this learning has led me to think about the relationship between communication, languages and the level of mastery involved in each. And it’s got me thinking: what does it look like to truly master a language, whether it be a foreign language or a programming language like PHP?

I think there are three levels of mastery in languages.

First level: asking for what you want and need.

The most basic level of language mastery, the level that most of us have to begin with and that small children master very early is the ability to ask for what you want and need. This is a simple matter in French: “je voudrais” + string of nouns and pronouns + “s’il vous plaĆ®t”.

It’s not much different in PHP. Mastering the basics means little more than being able to say “hello world” and use basic database commands to do the simple CRUD actions we’re all familiar with.

As children grow out of simply expressing what they want and need, programmers quickly outgrow the process of writing simple CRUD apps. They move into the second level…

Second level: describing what we think or feel

Children head off to school and learn more formal language skills, including how to express their thoughts and feelings. They learn to share opinions and write justifications. These skills are important components in understanding and mastering a language because they are crucial skills for making friends and understanding the world around us.

As programmers we move past the basic CRUD into more advanced concepts like validation, basic OO design, performance, and application architecture. We learn to describe how a program should be designed and how we plan to organize it. We’re familiar with the specifics of the core and many of the libraries available for our use.

The problem in language and in programming is that many people stop here. They never move to level three, which represents true mastery.

Level three: expressing hopes, dreams, the technical and the theoretical

There’s a difference between being able to express an opinion about the local boulangerie and reading (or writing like) Voltaire. The difference is language mastery past the point of wants, desires, needs and feelings. It requires being able to think in the language.

For programmers, this means a deep understanding of the core, of how the language works under the covers, of being able to use advanced features like interfaces and the SPL. It requires that a programmer be a true master of the language, able to capture the essence of the language and write applications that feel pure and express the highest ideals of the programming language.

Programmers at this level are truly masters of their language. This experience doesn’t come overnight. But with steady progress, any qualified programmer can reach this pinnacle.

Looking to reach this level?

The Object Oriented PHP Masterclass begins this weekend! This class will be the last time this specific iteration is offered so don’t miss out! Applications close Friday at 5 pm Eastern!

Brandon Savage is the author of Mastering Object Oriented PHP and Practical Design Patterns in PHP

Posted on 9/3/2013 at 8:00 am
Categories: PHP

There are currently no comments.

« »

Copyright © 2024 by Brandon Savage. All rights reserved.