The second year started, and now I'm no longer a freshman, I'm a sophomore ᕕ( ᐛ )ᕗ, which means that I will have an "Application Development Lab" class where the professor is here to give a grade on final project.
We are divided into teams of juniors and seniors that should deliver two projects by the end of the semester. Just choose any project and make it. The purpose of this class is to teach you how to work in a team and the different flows that a project can take (as I had another class called "System Development Technologies" that teaches application development life cycle, mainly how to be a good software developer)
The first project we chose was a music library, something like Genius but on smaller scale.
#What did I learn?
As much as how to work in a team and split the work (not to be a one-man army),
- Kanban-style workload distribution in teams, with four main boards for tracking the progress of new features.
- GitHub as a version control system.
- Different project management methods. For this one, we went with the waterfall method.
- Testing to report the project and check what is written in "function specification" is what delivered or not.
My part was mainly front-end, writing in HTML, CSS, and Bootstrap, but sometimes I had to work on the backend (which I enjoyed more).
I would say the part that took most of the effort is learning the new technologies like github and not to mess between push and pull. Also, the goal wasn't to get high grades in the project as much as it was to know how the things are done under the hood. Not everyone knows what to do in a team and all of us are confused until the deadline.
Something worth mentioning, during the development process, I was watching the "Silicon Valley" series. The main character is developing an app for compressing files. He called it "Pied Piper", and this is where the name of this project came from.