Working in a team vs alone
Dude, did you just push your changes in? All my code is crashed when I pulled it!
There is a huge shift that happens when you start working in teams. You get to learn a lot of skills and from each other as well. After working in teams for around six months till, I realized the potential that a team could achieve over what an individual can perform. I try to illustrate what I have learnt over this period.
I used to take up solo projects and work on them myself. This was my situation for more than 2 years. After that I got a job, and with that, a chance to work in a team of amazing people. When I look back, there is a humungus amount of work that we put in.
I know and believe that we can learn a lot when work alone. But it cannot be matched with knowledge gained by collaboration with a team and learning from each other. Also, your team can be a source of your motivation. It can provide you a lot of positive energy.
For an application to be built, it requires many aspects and domains to be covered which is hard to get done when working alone. As a team, work gets shared and can be accomplished. There are a few things, which I felt are new, that I want to share with you.
When working on projects, its obvious that you have to share code. I wonder if you haven’t come across the words Git or Github. Many teams use git, or some other form of VCS to share code and work together.
There will be a lot of things that we might want to accomplish as teams and those might be lost and out of track. Teams use tracking tools like Trello, which I am big fan of, Base Camp, Jira etc, or even a spreadsheet to keep a track of things.
Code quality & Best practices
When working in real time projects, people care about code quality a lot. The software has to perform at its best. When there are amazing people in your team, you can learn a lot of best practices and coding standards which improve the performance of the software.
Writing from scratch vs Understanding a codebase
This was a huge thing for me and it took time to get used to. We generally start writing code from scratch when we work alone. But when in teams, you should have the ability to understand what the other person wrote. Iterating through a unknown codebase is a crutial skill that we have to put on.
The best way to develop them are contribute to a open source project. You can experience almost everything I mentioned above when you work on open source projects. Rather, you work with more or less a community than in a team. They can be found easily on Github.
Skills to build up if you are up for teams
This will be like summary of the whole article.
- Learn how to use Git / Github. Yes, both of them are different.
- Use Trello, even for your personal work. I have a travel diary on Trello.
- Learn about design patterns and Agile methodology.
- Contribute to open source.
Have a good day.