What Should a Software Engineer Know?

A Software Engineer applies the principles of engineering to the design, development, maintenance, testing, and evaluation of a softwareenabled system. While this fundamental understanding of what a software engineer does is commonly shared, the journey to understand what a software engineer should know evolves, mostly as a consequence of the rapid pace of technological changes.

[1]  J. Herkert,et al.  Ways of thinking about and teaching ethical problem solving: Microethics and macroethics in engineering , 2005, Science and engineering ethics.

[2]  Les Hatton,et al.  "Lessons Must Be Learned"-But Are They? , 2019, IEEE Software.

[3]  Harald C. Gall,et al.  Software Engineering for Machine Learning: A Case Study , 2019, 2019 IEEE/ACM 41st International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP).