As we enter the last couple weeks of the semester, I came to realize several important lessons throughout the development stages of our senior capstone project. Our team is building an AI-powered web tool called MatchIQ which is meant to help jobseekers through features such as smart job searches, resume enhancement, career path support, company culture matching, application tracking, and more.
What are 5 things you learned from working on your project?
- Know what tasks others have – This may sound like a no brainer but project management softwares like Jira are powerful tools for software development processes. It’s absolutely pertinent that we assign ourselves to a ticket and understand what work others are doing. There were a couple times where there was overlap or someone already completed the work of another. Something as simple as having a name assigned to a ticket can prevent a weeks worth of duplicate work and help ensure we are all on the same page.
- Start Early – It may seem like a week is a lot of time to complete a task. However, we never know when technical issues can arise which hinder our ability to actually work on the task at hand. It’s best to start early in the week in case some software isn’t working or there is a bug. That way if that takes a couple days, we still have the rest of the week to complete our actual work. I’ve realized that projects tend to work as 80% troubleshooting and 20% actual coding.
- Containerize your project – Having everyone on different operating systems and software versions made development a nightmare, as small inconsistencies would cause major bugs. Using containerization helped normalize our environments to avoid issues stemming from discrepancies in our individual setups.
- Ask questions – Being on a team , we all have diverse backgrounds and experiences. When I got stuck, I sometimes wasted hours trying to solve problems alone. Now I know to reach out to teammates right away to get issues resolved more efficiently. Collaborating is so much better than banging my head against the wall!
- Conduct Thorough PR Reviews – Even when swamped with my own tasks, I’ve learned to thoroughly review all code submissions before merging. Once, an overlooked error in a peer’s change broke my copy of the codebase. Now I understand the importance of fully testing all changes to catch bugs before they impact others or merge to main.
Overall, working on this project reinforced for me that team software development is as much about collaboration as it is coding. Building the product itself requires a joint technical effort, but it’s also a process of coordination, knowledge sharing, and tackling issues together. From being proactive in the teams channel, to assigning our names to a ticket – every step of the way counts.