Nice Developers Finish First
Help yourself by helping others

Alone we can do so little; together we can do so much. — Helen Keller
Software development is a team game to create software but developers compete with others for positions and promotions.
What approach should you take, hoard information, and go it alone? Will helping others hurt yourself?
Should a developer spend more time writing quality code and other developers crank out low-quality code faster? Gresham’s Law — Why Bad Developers Push out Good Developers
Do you spend more hours on the project or learning new skills for your career?
Collaboration
No one can whistle a symphony. It takes a whole orchestra to play it. — H.E. Luccock
The book Complexity: The Emerging Science at the Edge of Order and Chaos (affiliate link) discusses evolution, emergent complexity and adaptive dynamic systems in the book.
Nature doesn’t comprise a world where everything competes against each other, it's full of collaboration. You don’t compete with everything; you many species are complementary. E.g. flowers and bees.
The species that collaborate spends less time and resources on attacking/defending each other.
Peter Thiel puts forward the idea of competition is for losers. Companies that have compete waste time, resources and money fighting their rivals and they all lose. Companies lower prices, copy each other and have reduced profits.
Monopolies focus their money and resources on creating value for the company.
Collaboration avoids wasting resources, focus and time on competing with other people, instead, you pool resources and work with them.
In the simulation, he added a trading feature to see if other entities were friendly and if they could trade. There is a risk because when you give something away for free, the other side could take it and give you nothing back.
You work with developers who only do things for themselves and nothing for the team, e.g. they don’t
- Fix the build
- Share knowledge (via meetings, chat)
- Volunteer for nothing
- Never create instructions or documents
- Rarely share code
When you do activities that help others, you do so in the hope other people will do similar activities.
The danger is you do work for others and they don’t reciprocate. They benefit from your generosity and you lose out by doing extra. You work harder for less benefit.
Developers Dilemma
Development is too hard and technology changes too fast to do everything yourself
The prisoners developer is a great way to assess the long-term benefits and disadvantages of collaboration.
In the first world war, soldiers on both sides had a live and let live unspoken rule. Trench warfare was a terrible war for soldier, who were told to run at heavily defended trenches where they would mercilessly get gunned down.
In the end, you had two armies both in their defensive trenches making little to no progress and a lot of soldiers dying.
One regimental officer said: “When one is in the front line, one cannot help having a fairly deep sympathy for the wretched fellow in the other front line. Live and let live system
Solders from both sides hated war and would often shoot above the heads of enemy soldiers to avoid killing each other. If the soldiers could see the other side realised aiming high, they would follow. This unspoken agreement is collaboration where everyone benefits.
Where the generals saw low numbers of soldiers dying, they would make them do night raids. Soldiers would sneak over at night and bayonet as many soldiers as possible before sneaking back.
This was terrible for all soldiers involved, instead they agreed to walk up and then back. If they crossed paths with the enemy, they would walk past without conflict.
The soldiers focused on living and not dying. Developer is a tough job where there is a high probability of the project being late.
It’s better to help each other and avoid getting singled out for blame. Better to fail as a team than succeed or fail as individuals.
The greatest story from the war is in Christmas 1914, the soldiers in the trenches stopped fighting to celebrate Christmas, bury their dead. In some areas, this lasted for a week.
What is collaboration and trading for Devs?
“There is no such thing as a self-made man. You will reach your goals only with the help of others.” — George Shinn
Theory of collaboration is good, but how does it work? The difference in the outcome between cheating and collaborating in the trust game, which is a version of the prisoner’s dilemma.
Sharing knowledge and articles
If everyone shares one good article, for your one good article you will get many back. E.g. if your team has 10 developers for your 1 good article, you will get 10 good ones back. By sharing the best articles, developers can read good articles rather than wasting time reading poor articles.
Knowledge is important for developers because theory differs from reality. Through experience (creating software) developers discover the limitations of how software really works. This helps developers make the correct design decisions and avoid mistakes (other developers have made).
It’s more efficient for one person to make a mistake, share the mistake and then for the other developers to avoid this. Developers who don’t collaborate all have to make the mistake themselves.
If you have to learn every mistake by making them, it’s a longer more painful road.
Why should you collaborate
It’s better to make friends than enemies
Software development is a small world. The developers you help/don’t help today could be the ones you take orders from tomorrow.
Software development is technical, but it's people that decide. Decisions such as promotions, projects, training, pay increases and many other important decisions that could benefit you.
The more people you have saying good things about you, the better the chances of decisions going your way.
Helping people gets you noticed and creates supporters. In the short term, its an overhead of effort, but in the long term it enhances your reputation.
The law of Reciprocity
When people give us something, we feel compelled to give back what we have received. Sales people give you free cups of coffee, sweets or other gifts. When we receive a gift, it biased us to give something back.
The reciprocity principle is one of the basic laws of social psychology: It says that in many social situations we pay back what we received from others. In other words, if John does you a favor, you’re likely to return it to him Reciprocity Principle:
Sam Walton the Walmart founder, understands the power of reciprocity and forbids people taking gifts. Once you accept a gift, you are in debt to that person.
Developers can use this by giving knowledge, code, ideas and help when people need it. The law of reciprocity will persuade the other people to return that help in the future.
Stagnation
If you are not progressing as a developer, you are falling behind
The technological environment is changing and evolving. Developers need to update their skills to adapt to the changing environment.
Developers with the on-demand skills prosper and the developers who stagnate become less in demand. Those developers either learn the new skills or try to fight it out in a shrinking market.
Developers’ careers can stagnate when they get stuck in a role where they learn no new skills. The technological environment evolves.
Developers sticking to what they know and staying in their comfort zone will lead to developer fatigue and boredom.
If you try to learn everything yourself, it will be harder and longer than collaborating with other developers. Developers are a product of their environment. Your knowledge, behaviours are molded by what you are developing and the developers you work with.
You Are the Average of the Five Developers You Spend the Most Time Creating Software With.
Great book Complexity
This article was inspired by the book Complexity: The Emerging Science at the Edge of Order and Chaos (affiliate link).
The book helped created these posts
- Software Development at the Edge of Chaos
- The Hidden Complexity of Software Development
- What Happens When Bad Developers Create Software -Development Chaos
More content at PlainEnglish.io. Sign up for our free weekly newsletter. Follow us on Twitter and LinkedIn. Check out our Community Discord and join our Talent Collective.






