It seems so obvious: if you want to develop software that’s useful to people, you’ve got to talk with them. But too many developers take the anti-social approach and consider customer support to be beneath their status…If you really want to write useful software, stop spending all your time keeping up with technology. Don’t worry if your resume isn’t filled with the latest buzzwords. Instead, invest your time in talking with your customers. They don’t care what programming language you use – they only care whether your software meets their needs, and the best way to ensure that is by breaking out of your cone of silence and opening the lines of communication.
Nick Bradbury: If You Want to Write Useful Software, You Have to Do Tech Support
Joe Sak
on 13 Jul 09AWESOME. Effing awesome.
I have known about releasing early and getting real customer feedback for a long time but actually got the ability/authority to finally do it this past month and it’s ABSOLUTELY rewarding. We got a lot more done, now we’re planning a lot more useful features, and we cut out all the stuff we found out isn’t actually important.
And now when I’m on the phone with clients and there’s a question like “will this be confusing?” or “what if the customer wants to do x?” I just say, well, let’s release what we have and see how people use it. When/if they complain, we’ll try another route.
It’s so awesome. Thanks for the quote. More ammunition for all my useless meetings :)
Laurent
on 13 Jul 09Yes, many developers think that tech support or any involving the client is not for them. They think that it’s only for “beginner” developers, not for great ones like themselves… That’s just sad.
Daniel Ice
on 13 Jul 09One of the best quotes I have read in a while. I am amazed with the hate for the users that I find in my fellow software developers. Communication is a key part of software. If your user cannot use the product you develop it is because you haven’t correctly understood and solved their problem. If you find it hard to communicate with the user don’t call the other person names and hope things get better.
Happy
on 13 Jul 09Reminds me of good advice from Ian Landsman of HelpSpot, advocating literally talking to people, especially potential customers.
How to Sell More Software by Adding 12 Characters to Your Homepage
sam
on 13 Jul 09Duh! so true :)
MT Heart
on 14 Jul 09Wow! Developers really just write code without doing any up front User Experience process at all? Really?
What fucking year is it in their cubes…?
David Andersen
on 14 Jul 09All developers should have to do support so that they understand how non-developers use software and design accordingly.
Tathagata
on 14 Jul 09True, but is it really the developer’s job to talk to customers. I agree that once in a while it gives you a refreshing perspective on what you do. However, talking to customers and finding out their problems should ideally be the job of a product (definition) manager. No?
Merle
on 14 Jul 09Too many programmers think that the computer is their personal set of toy choo choo trains.
Lucas Oleiro
on 14 Jul 09Agree 1000%
Mikael
on 15 Jul 09It’s nice to say devs should do support to understand users. Why shouldn’t product managers learn programming then ?
Kevin Trethewey
on 15 Jul 09@Mikael
Good question, to which I would say the answer is that the focus should be on the business value that can be achieved, not on the software, or the programming language, or the underlying technology or indeed the support calls.
In as far as the developers learning the support environment would help them to focus on what the business values, they should do it.
In as far as the product manager learning programming would assist in delivering more business value, they should learn that too. I doubt that there would be to much value in doing so though.
It is not about the developers ‘meeting people half way’.
Chris in Cincinnati
on 15 Jul 09Some of my most valuable experience for my job as a web dev was the time I spent as a Customer Service Rep for a large e-commerce shop.
I learned a lot about people’s frustrations (often by asking quastions I wasn’t supposed to ask).
Mathieu
on 16 Jul 09Sure ! because as a matter of fact people know exactly what they need, hahaha ! People don’t even know what they want, so what they need is far away from their knowledge.
Talking with end-user is useful and let you learn a lot of thing but it is not what must drive your developments.
merle
on 16 Jul 09The user is the most important person. You must adopt a service mentality unless you want to just write code for your own amusement.
Cezary
on 16 Jul 09Why would you want to write useful software? For your spirit? If you’re a small company like 37signals and you work with intelligent people – then sure enough you should care about users who pay you. But in the outside world if you’re a developer your client is often your boss. Your job is to make him look resourceful, innovative in client meetings with other senior people from the client side. Thinking through the whole system to the end user of the application and advising on that isn’t an advantage and often times is critized for being plain boring.
My suggestion is to write such posts to the management level people so that they change their incentive and appraisal system and not to the developers who in general evolved or died ;) to be doing what is expected from them/what they are motivated financially to do. Or even better to management schools as it’s easier to change the mindset of a group of managers than that of one person.
This discussion is closed.