How to Solve Friction in Your Software Development Job
If you’ve ever disagreed with your colleagues, you will understand this is a pertinent issue for software developers. The way we work with our colleagues and resolve friction can make a difference between a harmonious workplace and a hellscape. Clashes between software developers (and software developers and everyone else) affect both your productivity and the overall harmony of the team and negatively impact the delivery of your features.
“Sure. As software developers, we should focus on creating great software. But even I cannot deny there is a ‘people’ element in software development, and it is something we should work on as we can.
There are people you easily get on with, and people with whom you just can’t see their point of view.
Like anyone who works in ‘the business’ rather than the ‘tech’ in our place. The business just doesn’t get it. You can tell them I said that.
That said this sounds like something my manager should deal with so I can get on with solving problems. Unfortunately, they haven’t spoken to me for 3 months, so the ball is back in my court.”
Here are ways to deal with those more challenging software development workplaces. The techniques are then applied to three real-life situations that software developers often find themselves in at work.
The three-step plan
A clash between software developers? An argument with a project manager or BA? Then enact the following three-step plan and your woes will be gone!
Reflect
Think about the people you are dealing with and their motivations.
Make a plan
Think about what you will do next time.
Avoid making it personal
Working with others is naturally stressful and you need to take a step backward from the situation and think about how to make it better next time.
“For The Secret Developer, this is really a one-step plan. Think about the software and nothing more.”
Communication
If you’re speaking with others, you might get into a communication clash with them.
This can be true for all communication, including email and Slack.
Some people need more time to consider their responses and consider a way forward. Others like to process ideas during a conversation and collaborate in a more extroverted style.
Clashes can occur since those who are more introverted can feel that they do not have the opportunity to speak, and the more extroverted can feel frustrated that others aren’t taking part in decision-making processes.
Reflect
Think about the tool you are using to communicate. If you have a clash over email, perhaps the problem is that you aren’t speaking face-to-face. Perhaps the communication style of your chosen form of communication does not suit either the person or the thing that needs to be communicated.
“I once had a performance review where my manager didn’t even turn their camera on (a remote performance interview). That shows the level of communication within my company at least.”
Make a plan
To prevent the issue next time, think about the communication method, and what needs to happen to ensure that the message comes through with clarity.
“Making a communication plan is much like making a plan for your code. That’s it — write it down.”
Avoid making it personal
It might be stressful to have face-to-face conversations with some colleagues. The situation might be difficult, but it isn’t anyone’s fault.
“I still say that sometimes it is personal. Like that time my boss said I’m negative for saying the codebase is rubbish. It was trash though, and probably still is.”
Culture
Culture presents a large challenge to many people in our working lives, and we work in an organizational environment. It would be usual for our cultures to fit into a wider organizational environment, and it is everybody’s responsibility to make sure that everyone can fit into that wider culture.
“My racist colleague said that all Indian workers were lazy. Such overt racism is intolerable since we are working in a cross-cultural team with members from many birth countries.
Try working in an environment like that. I actually think I need to leave because I’m NOT a racist so don’t fit in.”
Reflect
Think about what you have done in dealing with your colleague. How can you make communication better between you, and make sure that you are being inclusive in your company culture?
“This isn’t about reflective programming. I wish it was but it isn’t.”
Make a plan
You might need to think about how you interact with people, and how the environment can be made to be inclusive.
“If they are catastrophic people the way I might interact with them is by telling them that they are useless.”
Avoid making it personal
Even if one of your colleagues is in some aspect an “outsider”. If this happens, it’s not one person, it’s everyone who will be in that position in the future. It’s not personal, it’s paving the way for people in the future to be their best possible selves.
“Although I do have a personal problem with my boss right now. So I am actually making it personal. Which is a mistake.”
Working Styles
Some might work different hours, favoring the early morning or night. Some might spend more time thinking over their work and others might prefer action!
Creating a harmonious environment means accepting different ways of working and getting things done. Adapting to different working styles is a way to make sure you get the best out of all of those in your organization.
Reflect
We aren’t all the same and understanding that is important. We should think about how we differ in our targets and methods of progressing as well as fitting into our current organization.
“My target is to create great software.”
Make a plan
There should be some non-negotiables while at work. Turning up to necessary meetings on time is important and required. However, changing things so all the important meetings aren’t in the sleepy afternoon is a reasonable adjustment that could be made.
These can be factored into an individual, team, or organizational plan.
“I’m getting really sleepy in the afternoon right now. Even though it is morning.”
Avoid making it personal
People work in different ways and making an organization that embraces neurodiversity is important, and something that we should move away from the individual(s) involved.
“We should judge people on their code. Not on who they are.”
The review
Communication
Consider your colleagues’ differing abilities and communication styles when communicating.
Culture
Understand that others might not have the same background and be mindful of what you say.
Working Style
People work in different ways. Accept it, and change to accommodate.
Conclusion
It’s probably easier if everyone just starts to code, and gets the work done. Meetings should be left to others, right?
“I have no idea why we are expected to even speak to other people. We are software developers after all.”