What motivates software developers each day? What is the key to unlocking their productivity and engagement? If you employ, work with, or depend on developers, you need to know what motivates these key members of your staff.
Developers find that “contributing to community” is just as important as “making lots of money” according to a 2018 Evans Data survey. While this may be a surprising statistic to some, it makes a lot of sense when you understand how developers master their craft.
Future developers typically go to college and get a degree or attend boot camps and learn on your own. No matter which path you take there is one common thread: you get help from other developers. Everyone has their Yoda that they ask questions to, and this apprenticeship is something that every developer experiences; it’s part of how they become good at their craft. After they know enough to help more junior developers, they jump at the chance to give back to others and share the knowledge that they’ve gained.
It’s also important to understand how critical developers are in today’s world. While I’m not a fan of the term “digital transformation” I certainly believe that it’s a real trend: nearly every company is becoming a software company. Websites and mobile apps are essential to doing business and require developers to make those happen; developers’ contributions are fundamental to the world’s ability to do business and maximize our potential.
So, why do I use the word “tribe”? Let’s take a look at the definition in the book “Tribes” by Seth Godin: “A group needs only two things to be a tribe: a shared interest and a way to communicate.” This makes sense – developers are connected by the desire to advance technology through software and we communicate over the internet (chat, online communities, etc.) so the definition really does fit! Another reason I use the word tribe is that we act like one: 4 out of 5 developers feel a sense of kinship or connection to other developers — even when a developer works for a competitor (Evans Data Corp. 2017). Sharing code and helping others is part of a Developer’s DNA – and provides a path forward in addressing some of the thorniest issues impacting companies that depend on developers’ talents.
How Strong is the Tribe?
Before I launch into why we need to strengthen the tribe, let’s look at a few numbers:
- There are about 23 million developers in the world today. The number is expected to rise to 27 million by 2023. A higher percentage of that growth is happening in India and China, and these countries will have the largest developer populations in 5 years. (Evans Data Corp. 2018)
- Half of all developers have been coding for less than five years. (Evans Data Corp 2018).
- 42% of developer time worldwide is spent on tech debt and bugs instead of being spent on innovation. (Stripe)
- Employers as diverse as academia, the military, and media are increasingly dependent on employees with coding skills. (Forbes)
There’s a disturbing trend here: the developer pool is growing globally to meet the demand for talent (which is great); however, that will introduce a large number of inexperienced developers into the market.
That’s where the developer community comes into play.
Developers Have Always Been Community-Minded
Programming pioneer Grace Hopper used to ship sample code on magnetic tapes to everyone who ordered a UNIVAC. More importantly, she encouraged them to make changes, add new programs, and ship them back so she could share with others. This is the first example of someone making sure that developers were engaged and able to use a system quickly, greatly enhancing what we call “time to hello world” – this was the first developer community!
IBM took a completely different path: they made customers pay for the operating system when they ordered their early machines. This gave rise to the SHARE community (share.org). The volunteer organization created the first open-source operating system for early IBM machines – and that community has been sharing software since 1955, proving that software developers have deep roots in sharing and working together to solve big problems.
At their core, developers just want to do their work quickly and effectively which is why they don’t see corporate boundaries as an issue when helping each other out. Constantly reinventing the wheel when you hit a coding hurdle will kill your productivity, so in order to keep up with faster release cycles, we definitely need to encourage sharing in online communities!
Developer Communities Are Essential
Most enterprise-sized tech companies have figured out that building a community is critical to helping spread the use of their software or platform. Huge enterprises like Apple, Google, and Amazon develop superfans of their products by running a vibrant online developer community where you can get up to speed on their software quickly and easily.
These communities save developers time in finding answers to their questions, shortening “time to hello world”. Getting developers productive in the first 20 minutes of using your platform is essential to developing long-term advocates for your products.
Developers say community helps them write high-quality code faster.
- 31% of developers cite improved code quality when actively involved in a community.
- 77% of developers cite reduced time to implementation when actively involved in a community. (Evans, 2017)
Build Your Developers a Community
Some of you reading this might be thinking, “We’ve got this box checked. We’ve got searchable documentation, and a solid wiki – we’re good.’’
Yes, having good documentation is great, but that’s level zero. If you want a highly engaged army of developers advocating for your products, you’re going to have to do more than that.
Build your own vibrant, online community – For internal use, external use, or both. Make it interactive and intuitive and award the top contributors (internal and external). Encourage ideas and let people know where those ideas stand. Make it a community your users and employees turn to before they turn to each other, blast a Slack message, or post online.
Nurture developers in your local community – Are your developers actively mentoring others in the community, attending MeetUps, or hosting them? Encourage community participation by partnering with the developers in your neck of the woods – go local!
Think about tomorrow’s developers – Consider what you can do for the next generation of developers. Whether sponsoring a Girls Who Code event, or other STEM activities, helping children get excited about developer careers is really important.
After all, it’s going to take the whole tribe working together to meet the world’s need for developers.