We developers often approach software development as though our end users are just like us. Unfortunately for our end users, this is seldom the case.

How do our end users differ from us? Here are three ways.


As developers, we’re enthusiastic about our software – after all, we just spent the last x weeks (or months) writing it, spending all our time working on bringing it to life.

Our users, though, are rarely as enthusiastic. In most cases, our software is “just another system” they have to learn and use. Factor in the extent to which most people dislike change, and your system probably starts with a negative reputation, not a positive one.


We know our system inside out, from database to user interface and everything in between. Having worked on it for so long, we have had every opportunity to learn about the system and how it works – even the pieces we had no part in constructing.

By comparison, our users have busy schedules, meetings to attend and backlogs of jobs that need to be completed. Even if they had the enthusiasm, the simple truth of the matter is that they will seldom have spare time to spend becoming familiar with the system.


Different jobs require different skills. As developers, we have one set of skills. Unless our end users are also developers, their set of skills will be different.

Developers are typically able to pick up on the meaning and relationships of a myriad of fine details. End users will most often have skills that lead to excellence in other areas.

Keep our Users in mind

We need to keep in mind that we are not our users, and we need to design the software in ways that are accessible by our users.

The key lesson is that we need to value Accessibility. Our systems need to be accessible by users who know their business, but who are uninformed about the technical nature of the software.


blog comments powered by Disqus
Next Post
Defining Polymorphism  07 Apr 2009
Prior Post
Of Colour and Presentation  04 Apr 2009
Related Posts
Using Constructors  27 Feb 2023
An Inconvenient API  18 Feb 2023
Method Archetypes  11 Sep 2022
A bash puzzle, solved  02 Jul 2022
A bash puzzle  25 Jun 2022
Improve your troubleshooting by aggregating errors  11 Jun 2022
Improve your troubleshooting by wrapping errors  28 May 2022
Keep your promises  14 May 2022
When are you done?  18 Apr 2022
Fixing GitHub Authentication  28 Nov 2021
April 2009