This will be the final blog post for this series and course. Since there are still a couple more weeks until we submit/compelete our app, this post will be more focused on my experience thus far, and thoughts about the course itself.
My Experience
I am using this final project as some sort of barometer for my 2 year experience in this program – I get to see what I have learned from all the previous courses, projects, and an internship, and see what I can accomplish. About two years ago prior to entering the program a for loop was something that took planning, and now I am helping write a full MS Teams bot in two languages and middleware I have not worked with before.
It’s great to work on a project with skilled teammates as it also shows where I can grow. My teammates have challenged me to be better with honest code reviews, getting work done timely, and ability to handle bugs or brainstorm ways around a blocker. It is obvious they are going to be really good software engineers after this program.
I wish I had involved myself in more projects or took the initiative to take on projects on my own instead of focusing strictly on courses. It is in these scenarios I get a taste of what being a software engineer beyond school. The challenge of actually building something is satisfying and I find after finishing a project I feel that I have learned even more quickly if I strictly followed a course.
The Course
This course is admittedly hand-off and it makes sense for the most part to be structured as such, we are attempting to simulate what it’s like to work on a team with sprints as opposed to test dates. As with many courses in this program, the experience is what you make of it – the blog posts and standup discussions can be treated as “things in the way” and pushed to the side easily, or it can be taken as a learning exercise or a chance to reflect. Because most of my blog posts were reflective on my experience as an engineer, it ended up being somewhat cathartic to make an honest assessment of where I stand at graduation and where to grow my skills next. Standups give a quick chance to take a high-level look at the Project Plan and see where we are/aren’t on track.
This course could use more involvement with instructors to help simulate the real-world experience of a client coming to us (the development team) with an abstract idea and a handlful of requirements and we make the app come true. For instance, having more more advisors (not just a single instructor for the whole course) be available for bi-weekly check-in meetings would give a mentor-like perspective when dealing with blockers and their feedback would help clarify the vision for the app being developed. The course starts in Week 1 as “Hey! Let’s come up with a idea and there are even some companies that have cool ideas, tell us what you got!”, ideas get approved via email, and then its “Ok, bye see you at the end of the quarter when the app is done, hope its figured out!”. Some feedback in between would be nice!
Conclusion
Overall, this Capstone project has been a fun ride as I work with skilled teammates to learn from on an app of our collective idea, which adds some personal enjoyment during development rather than hitting requirements of an assignment. While having access to a consistent advisor would add a level of mentorship and guidance throughout the app, the reflective blog posts and standup assignments are appreciated. Excited to finish out these last few weeks, hopefully have a presentable app to be proud of, and most of all have finished this program!