All software developers are proficient in at least one programming language with knowledge and experience ranging from those who are just out of college to the mastery of the languages’ creators. But there is only so much time in a day and most of us must make a choice as to how we spend that time, including when it comes to developing the skills we use in our professional lives. For web developers decisions have to be made about what to learn, how much to learn, which skills to sharpen and when to use them. I believe that in this field it pays to be well rounded.
To a web developer a programming language should be a tool, not a way of life. Different problems require different approaches. One wouldn’t use a screwdriver to fix a leaky pipe when a pipe wrench is available (maybe you would, in which case you are either confused or ingenious) and likewise one wouldn’t use a programming language lacking features for processing HTTP requests to build a web site. If a developer has access to a large tool set then they also have the ability to solve a more diverse set of problems. Of course, proficiency is required as is knowing when to use one language over another. An analogy here would be owning a Spirit Level and believing the bubble tells you it still needs filled up a little more. Likewise if confusion arises when a jQuery script doesn’t connect directly to a database, further reading is necessary!
Learning new things is the first step to being a better learner. If someone wants to become a software developer that specializes in responsive web design, they must first learn how to use a programming language, which is something they likely had little to no experience with previously. It will likely take a significant amount of time, troubleshooting and dedication to achieve any level of mastery. But once that effort is sowed there will be many benefits to reap. Learning one programming language lays the groundwork for learning new ones, cutting the time required to achieve proficiency with the next language tackled. This is why a book teaching C# aimed at someone with no programming experience is going to be much longer than one aimed at those who already know an object-oriented language like Java. Simply put, learning how to use a tool makes one better at learning how to use tools -- and this benefit is cumulative. Learning how to use an electric screwdriver might take some time but then learning to use similar handheld power tools will be more simple and more fun More Power! Arh arh arh!
I’m not providing anymore fun analogies here - it’s time to follow one of these links and learn something new.
What keeps you from learning new languages or inspires you to continue to learn new languages? Sound off in the comments and let us know your thoughts.