Being good at things
Posted on: 18 September 2011
Something dawned on me today when working on my ongoing project to create a lightweight, completely from-scratch PHP framework (I've blogged about this several times if you care to catch up). When you're starting out at something and learning the ropes, your rate of improvement, success and general productivity in the activity is far greater than when you've grasped it. In my experience, this is true of learning PHP
PHP is a programming language that is best known for being one of the easiest to pick up amongst beginner programmers. It's very lax in its rules and practises and thus it an easy process to throw together some code and get yourself a working application in reasonably quick fashion.
But like anything; you can know PHP, and you can really know PHP. I like to think I'm at the stage where I'm a fairly proficient PHP coder, with it being my primary scripting language at work every day. I rarely run into cases now where I have to think - "how do I do that?" - a question that is usually solvable within a few minutes of Googling. Now, I'm at the stage where I'm asking myself the question - "What is the best way to accomplish this?"
Keeping your code organised, ensuring your code is always DRY, always coding in a concise manner, making sure you've got your separation of concerns in order. The list does indeed go on. And despite it making me a better programmer, adhering to these tried and tested best practises, it doesn't half impede your progress now and again.
And to bring the subject of this entry into the real world, it's true of almost any activity that can be mastered. When you know 99% of something, you don't half obsess over the final 1%. To end: a suitably apt cliché:
"A minute to learn... a lifetime to master"