Week 8 – CST438 Software Engineering
List the 5 most important things that you learned in the
course, and why you chose them.
This course provided us with a comprehensive list of modern
tools and practices for software engineering. We covered topics ranging from development
methods to cloud deployment. The five most important things I learned in this course
include Agile development, Plan and Document development, using GitHub for version
control, using Spring and React along with Selenium for writing software, and AWS
deployment.
Learning how to apply Agile project development along with Behavior-Driven
Development and Test-Driven Development gave me a deeper understanding of how
to design software with the user in mind and ensure proper functionality through
early testing. BDD helps ensure that the final product meets the expectations of
stakeholders and TDD helps build confidence in the project by writing tests
first. These practices encourage maintainability and reduce the number of bugs
over the life of the software.
Although we mainly focused on the Agile method, the last
assignment about Plan and Document project development helped me understand how
it differs from Agile. It is important that we are familiar with both methodologies
since we are likely to work using one or the other or a mix of both in our
software engineering careers.
Using GitHub for version control on group assignments was a
great learning experience. I became more familiar with using git commands like
clone, commit, branch, checkout, merge, push, and pull. As software engineers,
being familiar with Git and GitHub is essential especially for those of us
looking to work remotely.
Using Spring to develop a REST service taught me about URL
conventions using methods GET, POST, PUT, and DELETE. Writing a React frontend
exposed us to state variables and the proper way to update them as well as how
to implement a return statement of a React component. Also, using JUnit for
unit testing and Selenium for system testing gave us a greater understanding of
not only how but why it is important to test your code thoroughly.
Lastly, the final lab to deploy our group project in the cloud
using Amazon AWS was another great learning experience. Seeing our group
project application hosted and running in a production environment exposed us
to the connection of software development with operations and deployment. This
lab showed us basic AWS skills which are highly valued for cloud computing jobs
in the software engineering industry.
I thoroughly enjoyed this class, and I plan to continue building
on the foundation laid by all the topics we covered.
Comments
Post a Comment