Software development is a lot like politics

By Kristofer Palmvik ·

Whatever you want to make happen, you have to convince other people it is in line with their interests. You have to build support for your case, and sometimes be willing to compromise to find common ground.

🏝️ The obvious exception would be if you are the sovereign ruler of an island nation of one. That is: building a product by yourself for yourself.

Otherwise both your team members and other relevant parties must agree that the change makes sense and is worth the effort.

🏛️ Sometimes the change is fundamental.
🧬 Sometimes the change is very detailed and technical.

🧐 Sometimes they care deeply.
🤷 Sometimes they are indifferent.

For example, as a software developer writing code you could gather support for a solution early on by discussing and working closely with your team. Together you refine and figure out an approach that everyone find reasonable enough to turn into a reality.

Alternatively, you can make the change yourself and then try to gather support. This could for example be during a code review process, or perhaps even after the change has made it into the product. You trade initial speed for the risk of being challenged later and the potentially wasted effort.

Sometimes you have a title (like senior staff architect, or president…) that makes it possible to ignore certain objections. But you might find that abusing the power erodes your long term trust and support from others.

Having built trust with people earlier could on the other hand make it easier for you to make changes. You leverage your reputation of making wise decisions. But remember that your reputation is at stake depending on how you use it.

And to be successful in the long run you ultimately have to convince actual customers to both accept and pay for the changes you make.