I was working as a freelance php developer for a while, and handled all programming aspects alone. Although I worked with a graphic desinger, all coding was done by me.
These days I get a job with a team to program some project.
So, I'm afraid of this new development. How to manage a team and divide the work, track the change.
I'll look for complete solutions.
This is a good question; I'm sure it's one that many people face as they transition from freelancer back into a team environment.
First of all, don't be scared! Your peers will make you a better programmer just by exposure to their unique ways of doing things. And, you'll now have great resources to fall back on when you just can't seem to find that typo that's had you puzzled for hours.
Working together on the same project doesn't have to be hard. Break it down into modular chunks. Start by setting up an outline, define the I/O between different functions / methods / code segments, and then give each person a "black box" to fill in with code.
As you learn eachothers' strengths & weaknesses, you can delegate tasks to people based on their strengths to meet important milestones, or based on their weaknesses to help them develop their skills.
Adopt version control as soon as possible, and invest as much as it takes in learning how to use it well. Make sure you understand how to create, use, and merge branches. Any versioning control system will work... I recommend either SVN (Subversion) or CVS. I prefer Subversion.
Develop a system for bug tracking, and for keeping track of to-do lists for new features. It doesn't have to be fancy to work. If you're a new, small operation, you can do this in something as simple as a shared google doc spreadsheet. If you've got cash to spend, Atlassian JIRA and FogBugz are both great issue tracking systems.
Most importantly, listen and respect what your new peers have to say, even if they're dead wrong. Never forget that they are allies and not adversaries.
Have fun! And, good luck.
The Joel Test serves as a decent outline of team management best practices
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With