Becoming A Software Engineer
While many career paths in the country are facing high unemployment rates, jobs in software engineering are still on the rise instead of the decline. While this sounds like something straight out of a college promotional brochure the fact is that career experts with Forbes and Fortune magazines stand by the numbers and when we see toy companies like Mattel making “Computer Engineer Barbie” it does not take a scholar to see that this is a rapidly growing field.
There are two reasons for this. The first is the high demand for computer software and new applications. The second is that there has been a severe shortage of qualified software engineers. Creating a large piece of software, like a graphical video game or operating system, is an incredibly complex undertaking, in many cases requiring millions of lines of computer code, thousands of separate objects and classes. The video game Rift, for instance, required over 100 programmers more than 3 years to create. In 2009 the Standish Group, in their Chaos Report, stated that far less than half of new software projects could be considered successful, and nearly 25% of them fail completely. Projects are often plagued with late turn outs (a great example is Microsoft´s Windows Vista), cost overruns and many other problems, all of which can ultimately be traced to a lack of engineers and programmers.
Software engineering jobs have increased over 25% during the last ten years and the average engineer is now earning nearly $100,000 a year according to the Bureau of Labor Statistics (BLS), but studies within the industry also indicate the severe need for new coding abstractions and concepts to replace paradigms, some dating from the 1970´s and 1980´s. These ancient procedures simply cannot do the job they need to do to keep pace with today´s huge applications and computing systems. Many of the problems come from the need to store data within the program and while objects like arrays will work they are simply inefficient when confronted with the current mass of data they are now required to store. Modern engineers are now using things like Tuple stores, object databases, graph databases, relational databases and even document stores but more man power in the field is needed to bring these new concepts fully into the industry. Smalltalk for instance is a database concept that uses new concepts like Meta programming and refactoring and has proven to be very successful but without the engineers to implement it the language can easily stagnate.
This is an exciting time in the computer industry. We now have hardware, CPU’s on home PCs with up to 6 cores and game consoles, like the Play Station 3, with nine cores and it is now time for the software to catch up to the hardware as far as speed and size. This means that there will be many new jobs in software engineering for the foreseeable future.
© 2012 How To Become A Software Engineer