5 research outputs found
The changing role of the software engineer
In this paper we will discuss the changing role of a software engineer.
We will examine this from four major standpoints, the software development
life cycle, the influence of open source software, testing and deployment and the
emergence of new technologies. We will first analyze what the role of a software
engineer was in the past. We will examine limitations associated with software
development life cycle models, and software failures that catalyzed increased importance for quality assurance. We then outline the current role of a software
engineer. We discuss the impact of agile software development and automation
on the software development cycle, the influence of open source software and
how new technologies such as Function-as-a-Service and machine learning may
impacted the role. Based on our research, we analyze why the software engineer
role has changed and postulate prospective changes to the role of software engineer, and in particular how new responsibilities may affect the day to day work
of future software engineers. We ultimately find that the role of a âsoftware engineerâ is nowadays widely varied and very broad, and it only generally indicates
the type of work that the software engineer may undertake
Modern Data Mining for Software Engineer, A Machine Learning PaaS Review
Using data mining methods to produce information from the data has been proven to be valuable for individuals and society. Evolution of technology has made it possible to use complicated data mining methods in different applications and systems to achieve these valuable results. However, there are challenges in data-driven projects which can affect people either directly or indirectly. The vast amount of data is collected and processed frequently to enable the functionality of many modern applications. Cloud-based platforms have been developed to aid in the development and maintenance of data-driven projects. The field of Information Technology (IT) and data-driven projects have become complex, and they require additional attention compared to standard software development.
On this thesis, a literature review is conducted to study the existing industry methods and practices, to define the used terms, and describe the relevant data mining process models. We analyze the industry to find out the factors impacting the evolution of tools and platforms, and the roles of project members. Furthermore, a hands-on review is done on typical machine learning Platforms-as-a-Service (PaaS) with an example case, and heuristics are created to aid in choosing a machine learning platform. The results of this thesis provide knowledge and understanding for the software developers and project managers who are part of these data-driven projects without the in-depth knowledge of data science.
In this study, we found out that it is necessary to have a valid process model or methodology, precise roles, and versatile tools or platforms when developing data-driven applications. Each of these elements affects other elements in some way. We noticed that traditional data mining process models are insufficient in the modern agile software development. Nevertheless, they can provide valuable insights and understanding about how to handle the data in the correct way. The cloud-based platforms aid in these data-driven projects to enable the development of complicated machine learning projects without the expertise of either a data scientist or a software developer. The platforms are versatile and easy to use. However, developing functionalities and predictive models which the developer does not understand can be seen as bad practice, and cause harm in the future
To work from home (WFH) or not to work from home? Lessons learned by software engineers during the COVID-19 Pandemic
This research investigates software engineering during the COVID-19 pandemic with a focus on the lessons learned and predictions for future software engineering work. Four themes are explored: Remote work, Team management, Work/Life balance, and Technology/Software Engineering Methods. Our research has demonstrated that software companies will derive tangible benefits from supporting their employees during this uncertain time through ergonomic home offices, listening to their concerns, as well as encouraging breaks and hard stops to boost long term well-being and productivity. It shows that communication and collaboration tools, critical to project success, have been utilised. The hiring of new talent has been reimagined, with managers playing a vital role in the process. The insights gained are significant as they will assuage some pre-existing concerns regarding remote work, creating a new understanding of its role in the future. Looking to a post-COVID-19 future, we envision the rise of hybrid software development working arrangements, with a focus on the Working-From-Home to Not-Working-From-Home ratio - WFH: NWFH - perhaps colloquialised as Home: Not Home (HNH). For many this ratio will be neither 100:0 or 0:100, the former would lead to team breakdowns, developer isolation, difficulties onboarding and too many communication gaps, the latter would lead to disaffected employees. We identify plausible future software engineering working arrangements, noting that there are challenging times ahead for employers and employees as they navigate this HNH future, but there are benefits for both parties in getting the balance right
Engineerings curriculum quality management using artificial intelligence
This study investigated alignment of industrial engineering curriculum
at the University of South Africa, to the skill and knowledge needs
of industry. The study developed a curriculum management system
that utilises artificial intelligence to interpret the skill/knowledge
requirements of the industry from job advertisements, and then takes
the approach of decomposed (atomic) curriculum management to
align curriculum to industry. The concept of âatomisingâ curriculum
is characterised by decomposing program courses or modules into
distinct micro-curriculum elements which although highly complex to
manipulate, provide unmatched robustness in curriculum alignment to
industry. The study contributed a blend of reforms and improvements
to the industrial engineering curriculum in the UNISA context and
developed an intelligent management system to manipulate curriculum
to better align to the needs of industry.
The main objective of the study was to develop a system to support
decision making in bridging the gap between higher education and
industry needs, in view of the graduate engineer. The problem
is misalignment of curriculum to industry needs. One reason for
misalignment is that in some cases, teachers interpret and accept
curriculum in different ways, according to the unique individual
strengths, weaknesses, experience, personality and background of the
teachers. Regardless, the result is curriculum misalignment, which was
shown to ultimately contribute to problems such as graduate youth unemployment, skill underutilisation and low innovation. In this study
therefore, the intention is to develop an intelligent and automated
system which can support the management of curriculum for improved
alignment to industry needs.
The methodology begins with a survey carried out to map the
needs of industry in terms of skill and knowledge requirement,
vi
from a graduate industrial engineer perspective. The curriculum
management system is designed to align curriculum to industry,
based on the needs presented by both the employment avenue
and the entrepreneurship avenue. Control data is obtained from
on-line job advertisement platforms, which after the necessary
preprocessing, is fed into the management system. The curriculum
management system maps industry needs to curriculum specifications
by interpreting the qualitative job advertisement information into ranked
quantitative curriculum elements by first converting job functions from
the advertisements into some curriculum molecules then from the
molecules into curriculum atoms (curriculum elements). These final
curriculum elements become the means to curriculum adjustments,
allowing curriculum manipulation across the entire program course.
The complexity of the mapping process is proportional to the volume
of control data. Results show that artificial intelligence (artificial
neural network) sufficiently delivers satisfactory control. Results show
that atomic curriculum manipulation, compared to the conventional
molecular-type manipulation, presents a more meticulous and holistic
approach to aligning engineering curriculum to industry.
It was concluded from the study, that atomic curriculum manipulation
not only improves the effectiveness of curriculum alignment, but also
promotes curriculum integrity. Atomic curriculum manipulation, as
proposed in this study, decentralises curriculum management to the
teacher level, rather than the institutional level. This encourages
improved teacher-student and teacher-teacher interaction. Further
studies will adapt the proposed solution to any particular program of
study