Specialize or diversify? Career advice for a programmer

Specialize or diversify? Career advice for a programmer

I am a PHP/MySQL developer and Linux administrator. While most software people are in either Java or Dotnet, I am novice in both. I love PHP and Linux and I do not want to shift from them. How will staying exclusively in PHP/MySQL and Linux affect my future?

    Requires Free Membership to View

    When you register, my team of editors will also send you resources covering Linux administration and management; integration and interoperability between Linux, Windows and Unix; securing Linux and mixed-platform environments; and migrating to Linux.

    Cathleen A. Gagne, Senior Editorial Director

    By submitting your registration information to SearchEnterpriseLinux.com you agree to receive email communications from TechTarget and TechTarget partners. We encourage you to read our Privacy Policy which contains important disclosures about how we collect and use your registration and other information. If you reside outside of the United States, by submitting this registration information you consent to having your personal data transferred to and processed in the United States. Your use of SearchEnterpriseLinux.com is governed by our Terms of Use. You may contact us at webmaster@TechTarget.com.

This question is as much about your programming career as it is about technology. You know PHP/MySQL and Linux, you love them and you don't want to shift from them. But, things move so fast in the computer world that you can't afford to get comfortable. By all means, get good at what you are doing now, but watch the trends and develop your skills further. Can you develop your Java and .NET skills to the point where you can bridge them with your LAMP skills, and can you see how they fit into the future of SOA (service-oriented architecture)?

One thing to notice is the scale of projects that PHP/MySQL and Java/.NET can implement. Do you prefer larger or smaller projects? Do you see trends in either that relate to scale?

Technology is always changing and surprising us. Ten years ago the Java dream was applets that were supposed to revolutionize the Web. As it turned out they were too heavy for the communications of the time, and Java's strength was found to lie on the server. Java was supposed to be a write once, run anywhere programming language, but this didn't work out as planned, either. The Java Virtual Machine was an early example of what is now a very large trend for computing: virtualization.

Today, Java is large and mature, and it is not going away. But it is unlikely that you will stay in any one corner of the programming world forever, so keep scanning the horizon.

You are on the right track; it's only my opinion, but it seems to me that more advances are being made in joining separate technologies (such as PHP and MySQL) than in further developing large systems like Java. Good luck.

This was first published in October 2007