For many students, taking a capstone class is one of the final steps before they can graduate. This is the case for post-bacc computer science students at Oregon State such as myself. Your capstone project can be a great time to challenge yourself and learn new technologies and more about the software development lifecycle with a team.
We decided to create a job tracker for our capstone project. Many computer science students use excel spreadsheets or other tools to track their applications during recruiting season. Tracking your applications is useful because you can take notes on where you are in the process, when your next interview is, and when to follow up when you haven’t heard back in a while.
To create this application, we have chosen to challenge ourselves with learning new technologies. We are developing our application using React on the front end and Django on the backend. We’ve chosen to deploy our project to Google Cloud Platform and use a Postgres database. Some or most of these technologies are new to us and have taken time to learn.
Fortunately, there is a lot of documentation surrounding all of these technologies. Google provides documentation on how to set up a Django server and your local environment to develop the project. Many people have developed React projects, encountered the issues are and written solutions online.
Diagnosing problems and finding solutions online is a critical skill during the software development process. It is a given that you are going to run into problems, so you’re going to need to be able to solve them. You should work on your ability to do this, and identify how you want to mitigate them, and communicate when they do occur with your team.
Working on a team when you’re all learning new technology can be challenging. In order to mitigate issues, you should identify a plan for mitigating and solving problems before you begin your project. Then, as you encounter problems, you may identify reoccuring issues and how you want to solve those. You might encounter unique problems and create documentation so that you can teach others how to avoid them, and how to fix them should they accidentally recreate them.
Ultimately, communication is a critical component creating a project with a group. A capstone project is a great opportunity for students to learn how to work in groups and challenge themselves. It is a great stepping stone for computer science students to transition from formal education to the informal education that they will need throughout their careers.