Three Tough Decisions Developers Face
The software industry is complicated, and as a result, so too is the life of a software developer. Developing apps and supporting users present many difficult decisions. Peter Wayner of InfoWorld put together a list of the top career issues software developers face. Here are the highlights:
Programming Languages—What to Use?
The important thing to remember is that you don’t always have to stick to one. According to Wayner:
A good developer can program in any language because the languages are all just if-then-else statements wrapped together with clever features for reusability. But every developer ends up having a favorite language with a set of idioms and common constructs that are burned into the brain.
The challenge is to choose the best one for the marketplace. The most demand will be for languages that form the foundation of the big stacks. Java, C++, PHP, and JavaScript are always good choices.
It’s best to become an expert in a language with real demand. A lot of the new programming languages are like fads—they come and go. Focus on a language for which there is a real need, one that won’t fade quickly.
Contributing to Projects—Should I?
Open source projects used to be looked down upon, but they now are becoming vital to a developer’s career. As explained by Wayner:
The most obvious advantage to working on an open source project is that you can share your code with a potential employer. There are no nondisclosure agreements or proprietary restrictions that keep you from sending out a pointer to your corner of the project and saying, ‘I wrote that.’ Anyone can look at it. If you’ve achieved committer status, it shows you work well enough with others and know how to contribute to an ongoing project. Those are valuable skills that many programmers never develop.
Taking part in other projects can never hurt—just make sure the project you contribute to is going to undergo testing. You don’t want to put your reputation next to a buggy product.
Certifications—Are They Important?
There are countless certification programs—but are they worth your time and effort? In many ways they can be useful for teaching and testing developers on practical solutions. However, topics and skills may be fads and change quickly, so some certifications become worthless after a while. Wayner has mixed feelings on certifications:
…When your certification and the employer’s needs align, everyone is happy.
But developers need to choose carefully. Preparing for exams takes a fair amount of time, and the questions often test trivial knowledge. …
Certificates often have a limited window of usefulness as well. Being an expert on Windows XP was great 10 years ago, but it won’t help much today.
Developers face a lot of tough decisions. What is your biggest software development hang-up?