With the rapid growth of software in every device conceivable; the demand for software engineers and technologists is going through the roof. Some pundits (the IEEE) suggest that for every software engineer and technologist that is trained; there are probably three positions to fill in the real world. Many employers aren’t waiting for the students to graduate but are grabbing them while they are still in training.
Oddly enough, countries such as China and India although inundated with human resources in traditional manufacturing; don’t have sufficiently trained software engineering types with a real world perspective. The US Department of Labor has suggested a 30% growth rate in engineering jobs to 2020 (compared to an average for other jobs of 14%). New college and university enrollments in software and related engineering fields haven’t particularly grown much either – thus exacerbating the problem.
What are the Specific Software Engineering Skills Required ?
As we all know with the waning interest in Java; programming languages have a short lifespan. So the trick is not to brand oneself as an expert in only one programming genre such as Java or C# or .NET but to have a wide field of interest.
The ability to understand real world business and industry requirements and being able to translate these into workable software programs is probably the most challenging skill required. For example, taking what a human does in terms of a process and translating this into a workable and practical software program must surely a most demanding skill.
Other useful skills (common to engineering) is the ability to be able to communicate with others simply and effectively. Allied to this is the ability to work in a team especially virtually on a global basis.
How do you gain this knowledge and skill?
By studying and working in the real world and understanding what the real world requires. It is also vital that the would-be software engineer experiments and is not terrified of making a ferocious number of mistakes and is able to think ‘outside of the box’.
Is Certification Valued?
There is considerable debate about the value of certification for a software engineering career. Certainly, the number of certifications is growing but one thing is for sure – certification only gives one an indication of knowledge but doesn’t necessarily show true skill and aptitude.
Software Engineering is a Key Part of Every Engineering Career
Bear in mind; that a skill in software engineering is useful – no matter whether you are an electrician, engineer or technologist. Software is a key building block of every engineering discipline and a good understanding of what is required here is essential in achieving success in your own engineering career – no matter whether it be in mechanical, civil, chemical or electrical engineering.
You drive your life and your engineering career according to Jean Nidetch:
It's choice - not chance - that determines your destiny.
Thanks to the IEEE for an interesting article on Software Engineering.
Yours in engineering learning