Software Engineering part 2
According to a new 2014 report, Software Engineering is one of the best jobs in the world today. Software Engineers get high pay, good benefits for just four years of college as compare with Medical doctors who need eight years of schooling but making only a few thousand dollars more.
Software engineer is a broad term that describes people who develop and maintenance software. This includes positions such as programmers, testers, developers, designers, architects, analysts etc. Today software is everywhere and control many things from office computers to factory’s machines, from websites to smartphones so the demand for skilled software engineers is high in every country and the number of college students enrolling in software fields begin to increase but the trend in software is also changing from generalization toward specialization.
Today cloud computing has change information technology dramatically as companies are moving everything to the cloud. Instead of buying hardware, software, establish data center which add to operation costs, companies can let cloud computing provider to do all the technical works and rent services with relatively low per usage. Therefore generic software works such as general programming, installing software, updating software and system maintenance are no longer needed because they can be done by Cloud computing provider. It also means small companies can get the same level of service in the cloud as big companies so they can compete quickly and fairly. It also means either workers will have to be specialized in particular area or there will be fewer jobs for them. The key issue now is getting software to customers as quickly as possible so beside technical skills, software engineers must be able to work well with users to understand their needs. By having soft skills, software engineers can develop the right software that users will use. This also means that university’s training must also include soft skills such as communication, presentation, listening, collaboration, teamwork, leadership and time management etc. By having these soft skills, software engineers will make sure that what customer’s expression of need is what actually gets built.
- Blogs of Prof. John Vu, Carnegie Mellon University