Software is eating the world. It’s also eating companies, teams, and projects inside of companies. Software developers in Kenya are becoming a ubiquitous part of every new product, yet software development is still a mysterious black box to most non-developers.
People who don’t understand software development and the unique challenges we face are often misunderstood by software developers. This misunderstanding leads to several common questions that come up repeatedly. In this post, I’ll cover some of the most common questions non-developers have and how they relate to the bigger picture of what drives software development and why it’s so hard to get right.
So, if you’re a non-developer on a team with software developers, read on for a deeper understanding of what your team is up against. I hope this helps you explain your craft better to your teammates if you’re a developer.
Software development might seem like a black box to your teammates. Here are some ways to help you communicate with them more effectively and keep them up to speed on what you’re working on.
Market research is not just for C-level executives and marketing teams anymore. Market insight can make a world of difference for an individual feature down the ranks. So, whatever your role and level, adding these techniques to your skillset will boost your contributions to the success of your product overall.
Why Bridge the Divide?
If you’ve ever found yourself on the wrong side of a language barrier, you’ll know what I mean. Misunderstandings are inevitable, but tragedy strikes when things get so bad that trust evaporates entirely.
People can say things that sound like they’re insulting you, and sometimes they are. But often, the person is just making a joke, complaining about something else entirely, or repeating what they heard on the radio last week. And when you react badly to something that was never meant as an insult—or even if it was but you over-interpreted—there’s no way to make amends.
I’m optimistic by nature, and I don’t think this is a huge problem in the world at large. But it has created some serious divisions in the Python community, which is one reason I’ve been looking for a way to talk about it directly for a long time now.
Trying to get a programmer to explain what he does for a living is like trying to get a cat to explain what it’s like to be a cat. Programmers don’t care about explaining their work; they care about writing code, and they assume everyone else feels the same way.
And why shouldn’t they? Most people who write software are working on systems whose details are so far beyond the comprehension of non-specialists that they might as well be magic. The people who use those systems are even more clueless; when was the last time you read the license agreement for the operating system on your laptop?
You don’t know how your word processor or web browser works, and neither does anyone else and so neither of you can meaningfully discuss it.
It’s also a good idea to get the perspective of someone who isn’t your boss or your mentor. They’ll give a different take on things than they would in a performance review or other situations where they feel they have something to prove.