The ability to gather, analyze and make decisions based on real world data is changing nearly every field of human endeavor. These changes are particularly challenging for software engineers working in a scientific community, designing and developing large, complex systems. To avoid the creation of a communications gap (almost a language barrier), the software engineers should possess an ‘adaptive’ skill. In the science and engineering research community, the software engineers must be responsible for more than creating mechanisms for storing and analyzing data. They must also develop a fundamental scientific and engineering understanding of the data. This paper looks at the many faces that a software engineer should have: developer, domain expert, business analyst, security expert, project manager, tester, user experience professional, etc. Observations made during work on a power-systems scientific software development are analyzed and extended to describe more generic software development projects.
Revised: April 27, 2015 |
Published: October 14, 2013
Citation
Marinovici M.C., and H. Kirkham. 2013.The Many Faces of a Software Engineer in a Research Community. In 31st Annual Pacific Northwest Software Quality Conference (PNSQC 2013), October 14-16, 2013, Portland, Oregon, 231-238. Portland, Oregon:PNSQC.PNNL-SA-97287.