So far, the capstone sequence I am taking has been a very rewarding experience – challenging my existing skillsets by pushing me into technology, frameworks, and tools I had never used prior. A few tools and technologies I was pushed to learn over the course of this capstone sequence are:
- GitHub Projects
- Google Cloud Platform (GCP)
- Java / Springboot
That being said, the more things change… the more they stay the same. Fundamentally, the biggest challenge I have faced over the course so far has been finding infrastructure solutions that work for my team. At the beginning, during our earliest POCs, all of our components were running locally. This was not a desirable long term solution, though… so we quickly began to migrate to school hosted servers.
Unfortunately, software and hardware limitations on the flip servers proved to be detrimental to our application. Early on I had failed to properly plan our application tooling with the Flip servers in mind, so as the application came together we realized (a bit late) that the version of Java / Springboot we were using would not be supported on school servers. Pushed by desperation, we took advantage of school credits to perform an additional migration of our application to Google Cloud Platform (GCP). Now given almost complete control of our infrastructure, we are very confident in our ability to move forward… but we lost a significant amount of time.
In hindsight, I wish I had been more proactive about directing the team towards GCP from the beginning – with clear technology requirements in mind for the platform. I was able to deliver a satisfactory infrastructure solution for my team, but not as quick as would have been optimal. Managing the changing project spec and getting out my solutions in time for the team has been the biggest challenge I have faced so far.