The software industry is complicated – and as a result – so too is the life of a software developer. Developing apps and supporting users presents many difficult decisions. Peter Wayner of InfoWorld put together a list of the top career issues software developers face. Here are the highlights:
- What programming language to use?
- What projects to take part in?
- Do certifications matter?
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.
He goes on to say a best practice is to become an expert in one with a real demand. A lot of the new programming languages come and go in fads. Become an expert in one that there is a real need in, that won’t fade quickly.
Contributing to Project- Should I?
While they used to be looked down upon, nowadays, open source projects 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 for developers – but are they worth the time and effort? In many ways they can be useful for teaching and testing developers on practical solutions. However, products (like programming language) come in fads or change in version quickly, so some certifications become invaluable after a certain amount of time. Wayner in InfoWorld had 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 — the kind usually provided by automatic tools built into today’s powerful editors. I’ve taken several exams about the Java stack and thought to myself: Knowing that fact is Eclipse’s job, not mine.
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 — unless the company is sticking with XP until the bitter end. You can often find yourself getting certified in versions 1.0, 1.1, 1.2 of a product.”
It seems like a toss-up, but if a certification is vital to your job, then it is definitely worth doing.
Developers face a lot of hard decisions, many which are not covered here. What is your biggest software development hang-up? Share with us in the comments section.