Looking back…

There were many challenges at the begging of my capstone project. Some students left the team, and new ones joined. We settled on a programming language, but then that changed once requirements became clear. We started with NodeJs, but ended up using a mix of Go and NodeJS. There were many things that had to be changed, and that’s mainly due to my team’s and I lack of technical knowledge when it comes to setting up a development project from scratch.

However, I never viewed changing requirements as a downside. Our initial design and requirements document served as a good starting point and reflected the limited knowledge my team had in software development. Every time something in the original plan had to be changed it was because someone in the team learned enough about a new technology, and how it relates to our project, that they understood we had to pivot to something better.

Reading, practicing, and debugging is the best way to learn a new technology. Reading or viewing tutorials is not enough; to grow as a developer you need to try building a new project and struggle through the process of debugging your project. Our initial design and requirement documents laid the foundation that allowed us to start building basic functionalities for our application. This process allowed us to identify areas in our original plan that had to be changed.

I chose this project because I had internship experience as a DevOps engineer that I really enjoyed. I saw that this project would allow me to build CI/CD pipelines and configure a custom git plans for my team. I also had experience with Azure DevOps and I wanted to see if those skills transferred over to AWS (they do).

Overall, I wish my team would have made more progress on the application, but lack of technical knowledge really held us back initially. I’m hopeful that the rest of the year will be productive.