IMPLEMENTING AND DEPLOYING DJANGO WEBSITE FOR A NONTECHNICAL CLIENT;AN INVESTIGATION OF THE TRANSITION OF A COMPUTER SCIENCE MAJOR TO A SOFTWARE ENGINEER

Author:
Ho, Crystal, School of Engineering and Applied Science, University of Virginia
Advisors:
JACQUES, RICHARD, EN-Engineering and Society, University of Virginia
JACQUES, RICHARD, EN-Engineering and Society, University of Virginia
Abstract:

I have learned a lot this year through working on my technical project and my STS research paper, however these works are not related to each other. My technical project is my Capstone project, which consists of several separate topics. My STS research paper is about what it means to be a software engineer, and how UVA should do a better job preparing computer science students for software engineering roles. I detail my experience designing a website for a nontechnical client in this paper to support my argument. I chose this STS topic because it ties into what I have learned in STS: engineers cannot only know how to code; they also must understand how to work in teams, have good ethics, and develop interpersonal skills.

For my technical project, I worked on several distinct tasks for a professor. For example, I developed an algorithm with Python and Numpy to automatically create over one hundred graphs displaying different parameters that were affected by network delay. By using an algorithm, I avoided having to manually hard code each graph. Also, I am currently researching digital twins in the medical field. I have been compiling references, which we’ll eventually use to write a paper. Through this research, I have become familiar with using databases like PubMed and search engines like Google Scholar. My technical project has given me a taste of what various aspects of engineering look like, and I’ll use these experiences to carve out my career path.

My STS research paper focuses on how UVA could make its computer science curriculum more relevant to aspiring software engineers, like myself. To support my claim, I wrote about my experience coding a personal website for a nontechnical client who is a writer. Something I realized through this project is the importance of communication, even as a coder. To understand what my client wanted, I had to listen to all her ideas, even if I thought I had more experience designing websites. I learned the hard way: my first prototype was not at all what she wanted, and I had to scrape my work and start over. At UVA, I have never had to collaborate with a nontechnical partner during a coding project, so I have never had this experience before. Another issue with coding a website on my own was that I did not have professors to rely on to answer my questions. Being a student at UVA made me comfortable using professors as a crutch: every time I got stuck in an assignment, I could join office hours and get my problems resolved. However, this does not work when you are doing a personal project. I had to take the initiative to research ways to solve my own problems and reach out to coding professionals to help me. I wish that UVA made us work more at making creative projects on our own, so I would not have had this issue with my website.

My technical project and STS research paper, though quite different from each other, enhanced my education as a coder. Through my technical project, I got a taste of several areas of engineering research. This made me realize that just because I am a computer science major, I do not need to be a software engineer forever. There are many interesting fields of research within computer science that I would love to explore later in my career. Through my STS research paper, I got to analyze my experience building a website and understand what I could do in the future to become a better software engineer. Thinking about the lessons I learned while I was authoring the paper makes me more confident that I will fix these mistakes in my next project. Ethics is crucial in the engineering world because it is so easy for coders to copy other people’s work. Through my STS research paper, I thought about how difficult it was to make my website, and how it would upset me if someone used my code and claimed it as their own. It made me take ethics more seriously because it is so important to give credit to coders who work hard on their designs. Through my technical project, when I found 200+ sources for my research paper on digital twins, I thought about how much work went into each of these sources. I thus made sure I cited every researcher diligently, because I did not want to accidentally quote a researcher and not properly credit them—that would be a breach of ethics. I am glad that I had the opportunity to work on both my technical project and my STS research paper this year, and I look forward to bringing the lessons I learned onto my future projects.

Degree:
BS (Bachelor of Science)
Keywords:
Django, Software Engineer, Nontechnical Client, AWS Elastic Beanstalk
Related Links:
  • caitlingerrard.com
  • Language:
    English
    Rights:
    All rights reserved (no additional license for public reuse)
    Issued Date:
    2022/05/12