About 4 months ago I have started learning PHP, as my web development job was going to require it. I have never done any PHP programming before, and now that the work-term is over, I wanted to look back and reflect on what I have learned. In short, the experience was packed with large projects, technical difficulties, new syntax and tools, but I walked away feeling empty. Sure, PHP has now made its way on my resume with a solid background, but personally I just did not feel the same as the term I got to work with Ruby.
Even though I had no experience with PHP or Oracle, I was fairly familiar with Ruby and MySQL. My job offer relied on the claim that such web development is logistically similar, having substituted Ruby documentation for PHP. It is true that once you know a programming language, it is easy to pick another one up – I climbed the learning curve in a week and was asking for bigger projects. I think that is where my disappoitment was – I was too quick to familiarize myself with what was supposed to be new.
This co-op term was by no means a loss. I was previously denied a job offer due to my lack of practical PHP experience. Employers want student hires to have the fastest running start possible. Do not get discouraged though, and just try to relate your existing experience to the new requirements. Most programming languages borrow parts from each other, so it is easy to pick up on a schematically similar tool. IFs and LOOPs are the same, even if you write them differently.
PHP itself is useful to know, as most of the web still runs on it. And while it will probably not be my programming language of choice, it is just so much easier to maintain and use someone else’s code now.
Though I wanted to learn something fundamentally new. Ruby was a blast as it was the first time I have jumped into serious Object Oriented design. It was the first time I have seen such clean style of code. It was the first time I have started making web applications. For me, Ruby was a lot of firsts. I have learned so much, and was able to translate that knowledge to similar situations, such as this PHP project. But the PHP experience was just that – new application of old experience, nothing excitingly new.
I am not sure about other developers, but right now I would jump at an opportunity to learn something brand new, over doing more of the same, even with a pay raise.
For those looking to pick up a new language to learn, I suggest to diversify and try something new. If you are familiar with procedural compiler languages like C or C++, try going for an Object Oriented interpreter such as Ruby or PHP. If you are familiar with both, consider functional programming – it will offer you a new perspective.