With the flurry of press coverage on PHP recently, I'm often asked, "Will learning PHP enhance my career?" My answer depends on where you are in your career. What makes you valuable today? Let's say you're a business developer with RPG/Cobol skills. Your salary is probably around $80,000 per year (depending on geography), and you have more than 20 years of experience writing business applications that work. So let's say you dedicate two to six months of your free time to learning PHP, and then you go on an interview. I can guarantee you that they'll ask you what applications you've written in PHP. What they really want to know is how your web applications gave a company a competitive advantage. But you don't have that experience. You just wrote toy PHP applications so you could learn syntax. The interviewer will then compare your PHP skills with those of other applicants. Understand that many of these other applicants are half your age, and they'd be happy with $50,000 or $60,000 per year. Many of them will have a couple of years of solid PHP experience. In that scenario, the answer to your question is, "No. PHP won't enhance your career." So don't put yourself in a situation in which you'll be compared with a twentysomething based only on your knowledge of PHP syntax.
Now, let's put that twentysomething's career in perspective. Has he or she written real-world business applications for inventory, accounting, or sales analysis — applications that contain complex business rules and interactions with other systems? Probably not. They might have created an online sales application that writes to a simple MySQL database. Let me be clear: It's more important to be able to leverage the wealth of web technologies and web development tools than it is to be a PHP wizard. Here's a short list of web tools and technologies: HTTP, HTML, CSS, XML, SMTP, web services, SOAP, REST, JSON, SQL, JavaScript, SSL, encryption, regular expressions, CVS or Subversion, editors, debuggers, IDEs, HTTP servers, and application servers. If you can clearly define how these technologies can be used to make a company gain a competitive advantage, especially with your business experience, you'll have a distinct advantage over a twentysomething PHP hacker. So that's the "yes" answer to your question. PHP is a highly approachable web language that lets you paste together Internet technologies to construct a business application. PHP has great facilities for most web technologies, but you need to truly understand a web technology to be able to effectively use it in a PHP application.
To develop web applications, you need to be able to transfer your core skills at developing business applications to web development. You'll need to write applications in languages other than RPG (or alongside RPG), use SQL as the data-definition and data-manipulation language, and make the applications deployable to a variety of platforms. Does this sound familiar? In addition to learning PHP, you'll need to learn the web tools and technologies that I listed earlier. So how do you get skilled in these technologies? First, study each in a nutshell. Second, get real-world experience in that technology.
Studying a technology in a nutshell requires you to rip it apart and look inside. Immerse yourself in that technology. When your friend Dave sees you and says, "Hey, Bob, what's up?" Instead of saying, "Nothing much," answer, "CSS." Another time you might answer, "web services." You need to examine each web technology until you understand how to leverage it in a business application. The time required to get to that level of understanding depends on the technology. HTTP and SMTP might take you one week. HTML and CSS might take a couple of weeks. Web services, SOAP, and REST could take several months. You probably will be side tracked with tooling setup for things such as IDEs and HTTP servers. But don't just shuffle through getting those tools working; make a study of it — as if you'd be in charge of installing, configuring, and training others on that tool.
Many people feel that getting real-world experience on a technology is difficult. Balderdash! Are you telling me that your church, your sports organization, or your company has no need for a web application that uses at least a few of these technologies? And even if none of your organizations needs a website or you're reluctant to volunteer your time (even though it will enhance your career), you can try putting your own application on the web as a mini-startup. It costs as little as five bucks a month to have a PHP or Java application run on a hosted server. It may not make you millions, but it could boost your career. It's also pretty cool to put your website on a résumé.
It's a little naïve to think that simply learning PHP will enhance your career. But being able to leverage your core business application development competency to create applications that take advantage of the wealth of web technologies is smart, real smart.
Don Denoncourt is a System iNEWS technical editor.