« Back

Embrace your differences.

Software development methodologies are many and very varied. If you take almost any two developers in the world they will differ in how they do things at least in some minor way, and quite frequently you will see major differences.

In any development team you will need to try to even out the differences somewhat to be able to work together successfully. You need to have some things you agree on to be able to build something maintainable.

This means that when you start working on an established project you will need to spend some time to change your ways to write code like the other developers that have worked on the project before you and as such give up some of your unique style for the duration of time that you work on this project.

Here comes the crux though. There has to be some reason why you specifically work on the project. There has to be something beyond you just being another cog in the machine who all churn out absolutely unique blocks of code in exactly the same timeframe.

Your unique talents and your methodology are some of your biggest strengths. This may sound like it is in strict opposition to what I said before and that is… because it kind of is, but yet it isn’t.

Basically, it comes down to that as long as you have a common frame then you are fully free to be as unique as you want within that. So the only way you can feasibly be as unique and as free as you want to be is to have very strict rules for which areas you need to always have in common.

The fact that Developer A != Developer B in the way they work is actually something which the team lead should keep in mind at all times when planning out projects to not “swim upstream” too much.

This is a lesson I have learned myself the hard way, and it has taken time before I’ve come to the point where I am now and I can properly play to the strengths of the people on my team and still have everyone get the variation they want to keep things interesting.

Not trying to make everyone work exactly the same way and not making everyone work on exactly the same delivery schedule for the same things will make it easier to see the value of everyone’s contributions and that is when you as a team can get stronger together.