Venture into software engineering
TECHNOLOGY has created a myriad of career options for students to pursue. Among them is the field of software engineering, which has infiltrated many aspects of our lives.
Dr Imran Ghani, a senior lecturer of software engineering at the School of Information Technology at Monash University Malaysia, shares his insights into the university’s Bachelor of Software Engineering (Honours) programme and its job prospects.
Understanding software engineering
A common question asked is: “What is the difference between a computer science degree and a software engineering degree?”
While the two share common elements, it can be surmised that software engineering is a branch of computer science.
Dr Imran says computer science is a highly technical field where students study subjects such as computing theories and computer-related functions, including algorithms and computer networks.
While software engineers have attributes of computer science graduates, they come with added knowledge and skills, including on quality assurance, software designs and non-technical aspects such as managing client relationships to software teams, time and budget planning. While there is no hard and fast rule on which degree is better, a prospective student’s decision would depend on his or her area of interest.
Computer science graduates often have the title of “programmers” tied to their heads, but this only serves to highlight the subtlety in the difference and interchangeability of their roles.
“There is a tendency for computer science graduates to be called programmers, while software engineering graduates are called software engineers. In reality, both terminologies are used interchangeably,” says Dr Imran.
He says Monash is the first university in Malaysia to offer a four-year Honours programme in software engineering, while its computer science programme is three years.
At Monash Malaysia, software engineering programme is managed by two faculties: the School of Engineering and the School of Information Technology.
Among the subjects taught is the Agile process, a type of software development methodology. According to Dr Imran, the Agile process works by breaking a software development project into chunks.
For example, to develop a software with 100 features, the software programmer would start by choosing its 10 important features before undergoing six phases: analysis, design, coding or programming, testing, delivery and maintenance.
Upon completion, these 10 features are delivered to the customer. But Dr Imran notes that software engineers work with limitations, as there may only be a handful of software engineers within a company to test the developed system. Once the product is handed to the customer and used by others on a large scale, problems may crop up.
This is when software engineers do maintenance works to analyse problems and find solutions. The process continues with the next 10 features until it is completed.
Dr Imran says the Agile process enables software engineers to fix errors more efficiently than if they were to develop 100 features simultaneously and deliver all 100 features to the customer, which is a traditional method known as the Waterfall model.
“Agile process is a heavy subject with many areas,” said Dr Imran. However, the major difference between the Agile process and Waterfall approach is that the Agile environment emphasises team collaboration and is less bureaucratic.
“Agile is in high demand in the Malaysian IT industry and not many universities have expertise in that,” said Dr Imran.
Monash’s software engineering programme is a combination of coursework and research projects, with the latter done by fourth year students. Some of the popular models covered in the university’s Agile class include Scrum, XP, Kanban, FDD and Lean.
Apart from learning to code and gaining experience in the Agile process, graduates are equipped with skills such as quality assurance and software security.
They are also taught how to analyse and solve clients’ problems and improve their interpersonal and intrapersonal skills.
Top performing students from each intake have the opportunity to be selected in the university’s half-year programme, where they gain industry experience and engage in real projects with global organisations.
Future prospects
“There is a great demand for IT professionals, including software engineers, in Malaysia,” says Dr Imran, adding that software engineers are needed by key industries and companies to sustain their growth.
According to a survey by market researcher Ipsos (2013-2017), software engineers are ranked first and second respectively for job titles with the highest vacancies in MSC and non-MSC status companies.
The survey estimated 7,000 vacancies to be filled between 2014 and 2017. Meanwhile, software engineers are also paid well. A study done by Kelly Services 2014 shared that the salary range for software engineers with two to three years of experience ranges between RM4,500 and RM6,000.