Looking Back, were the Predictions Accurate?
In 2009, Justin James blogged about the 10 skills developers would need in the next five years. We're now 4 years into his forecast, lets see if his predictions are on track. Here are the 10 skills that Justin encouraged developers to learn by 2014.
1) One of the “Big Three” (.NET, Java, PHP)
- .NET and Java were built for stability and performance. They are known for running fast and being relatively bug free. PHP, an open-source, scripting language is often chosen by engineers who have a fixed project with known requirements. While newer languages exist, the motto goes, "If it ain't broke, don't fix it," and these 3 languages are definitely still go-to's for enterprise development. Heck, Facebook uses PHP so it must be good, right?
2) Rich Internet Applications (RIAs)
3) Web development
- Developers should know more than just the basics to stay current with today's trends. Web development is going to keep evolving and it's important to know how to work outside of standard frameworks.
4) Web Services
- Web services are essential to effective user experience. The right web services can significantly improve site performance. I'd say this is a necessary skill for todays development community.
5) Soft Skills
- A developer who can speak the right lingo with his tech team, his managers and a customer is a triple threat. The line between tech and business has been pushed aside and it's imperative that a developer can bridge the gap. Employers are looking for the full-package!
6) One dynamic and/or functional programming language
- New grads need to differentiate themselves from their peers. Having a wide range of skills in their toolbox will help to set them apart from the competition.
7) Agile methodologies
- While not all development teams have adopted agile methodologies, it's slowly becoming the standard.
8) Domain Knowledge
- Often developers don't think about the "WHY" but just the "HOW". How will I fix this bug or how will I code this process. If they were to stop and think about the "WHY", there would be an immediate benefit because requirements generally come from managers who aren't versed in the development process and may not know which questions to ask. A developer can add tremendous value by proposing options that can save time and money while providing better functionality. It's a win-win!
9) Development “hygiene”
- A developer who is already comfortable with Source Control Management Systems (SCM's), Integrated Development Environment's (IDE's) and bug tracking systems can save time and increase efficiency. Businesses today worry about checks and balances. Audit trails, work item requests and utilization reports are all essential to development. Process driven teams with documentation tasks built into their development cycle are essential in today's environment.
10) Mobile Development
- I'd say mobile development is still a niche skill. Not everyone can do it, but not everyone needs to do it. Every business should have a mobile presence and should ensure that their web site is mobile ready, so at the very least, developers should ensure that their work will render correctly on the most widely used mobile devices.
Well, Justin seems to have been pretty spot on with his predictions 4 years ago. Tell us what you think and leave a comment.