Well, It Work's on My Machine...
Developer 1 pulls the work of Developer 2 into their local repo, but Developer 1 realises that it doesn’t quite work as expected. Developer 1 asks Developer 2 about it, and in turn, Developer 2 responds with the phrase “Well, it works on my machine…“.
I’ve heard this sentence many times working as a Front End Developer, and it’s one of those sentences that makes me cringe every time I hear it. The reasons for this can be summed up by discussing a few crucial factors to working in a team.
1. Be open to feedback
If you’re working in a team then chances are that your team members can give you a lot of feedback, some good and some bad. A team member may even be able to advice on a better, more elegant way of doing something. With certain exceptions, I believe that feedback comes from a place with genuine, wholesome intent.
To hear bad feedback about yourself would naturally put anyone into a defensive state, but it’s important to remember that all feedback in a team can be constructive — it just depends how it is received.
If you’re interested in self-development, then feedback is a very useful tool to improve working relationships and working practices.
2. Be OK with screwing up sometimes
We’re all human, and none of us are perfect. We can make small mistakes and we can make big mistakes that affect things on a large scale, but I think the thing that matters is how you handle that mistake.
Rather than denying that you’re to blame or placing the blame elsewhere in the team, the best thing to do is remove ego from the situation and acknowledge your mistake so that you can work to fix it immediately.
3. Be willing to help team members
Being part of a team means that sometimes you need to drop things that you’re currently working on to help out where possible. Whether that’s to share knowledge, give an opinion, or to be someone’s rubber duck, a team member’s concern is the team’s concern.
4. Take ownership of your work
When you have created something, your name is metaphorically stamped into that work. You need to consider how that work affects other, especially when working in a team.
This might include sharing knowledge, preparing team members with relevant data or helping them when they run into problems when using your work. Regardless of which, you shouldn’t at any stage just throw your work over the fence and disregard your responsibility.
The term “Well, it works on my machine…” is proof of not taking some, or all of these points into consideration. The general take away should be that ego is never helpful when working within a team. A team is the sum of all its parts and careful consideration of how you react to some situations can help to push your team to the next level.