5 research outputs found

    The changing role of the software engineer

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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

    Get PDF
    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
    corecore