Developer Efficiency: How Operational Tools Streamline Software Engineering; Closing the Gap Between Engineering Education and Engineering Practice: An Analysis with Respect to Computer Science & How Trade Schools Could Be Looked to for the Solution
Batra, Rohit, School of Engineering and Applied Science, University of Virginia
Neeley, Kathryn, EN-Engineering and Society, University of Virginia
Graham, Daniel, EN-Comp Science Dept, University of Virginia
The STS topic I chose to explore and the technical project are related in the sense that the STS topic dives into the educational aspect of what an average computer science student experiences during their time at university while the technical project dives into what that same student would experience in a professional workplace environment. The STS topic is a discussion of the gaps between what is expected from professional engineers and what is taught to engineering students in university with a specific focus on computer science. The technical topic discusses a specific project experience at a large software company (Amazon) which showcases how the skills which are learned in a computer science degree program are applied in the workplace and the impact which they can have when applied correctly. Although the projects are not directly related, they both discuss relevant aspects of the pursuit of a computer science degree with the intention of going into industry.
In my STS research, I researched and discussed the gap between a typical engineering education and what is expected of engineers in the workplace and how to address this gap. My research focused specifically on Computer Science and the degrees translation to the work of a software engineer as one of the fields which a computer science enters upon graduating. The research discussed this in two specific aspects: what is the gap exactly and what specific actions can be taken to close it. The result of my research yielded concrete suggestions which could be implemented in the common engineering education to better prepare engineering students to enter the workplace.
The technical portion of my thesis discussed a specific project experience and goes into how software is developed at a large company, how software is debugged at a large company, and how software developers have impact at a large company. Specifically, it discusses an operational tool which was developed as an intern project with the intention of improving developer efficiency. It goes into depth on how the tool was developed, and how it would save the teams’ developers hours of time debugging, therefore streamlining their software engineering pipeline.
Completing both aspects of the thesis research simultaneously allowed me to learn a lot about what it means to get a computer science education at an engineering school and how it translates into industry. The STS research portion of the thesis allowed me to gain a better understanding of how computer science curriculums attempt to adequately prepare students to become engineers who practice engineering with ethics in mind, whereas the technical portion of the thesis allowed for me to reflect on an experience in which I acted as an engineer with autonomy and look at the implications of what I had learned in said curriculum. The thesis as a whole showcases not only the ethical and social responsibility which an engineer has as a student but also the ethical and social responsibility which they carry into the workplace as they enter industry.
BS (Bachelor of Science)
School of Engineering and Applied Science
Bachelor of Science in Computer Science
Technical Advisor: Daniel Graham
STS Advisor: Katherine Neeley
All rights reserved (no additional license for public reuse)