Developers as an Audience - 2017-01-30Often times us programmers are told that something we are creating is too complex, too techie, or too advanced for the average person and therefore it is our responsibility to make our programs easier to use for other people. This makes sense in certain circumstances where we are actually trying to make things for the average user, however this does not always need to be the case. Why must we always make our programs available to the average user? This limits our ability to create great functionality because we're too focused on UX (and, in some horrifying cases, sacrifice functionality in the name of UX). To me this is an issue, as programmers we do not always have to develop for an end user, especially if we are trying to create something that we think most other developers would find useful or cool/fascinating.
This also partly has to do with the lack of understanding by many who are not hackers and do not understand that those of us who are do these things for the joy of it, the joy of making cool stuff, the joy of tinkering with stuff to make it do something in an interesting/unexpected way. This is something that we hold dearly but is not understood by most people outside of our small niche. To us it's entertainment and even a lifestyle, but to them we should be making things to be used by them.
To put this in perspective for those who are not hackers, but are some type of artist: if you are a musician you create music that you find fun to play, or that the notes make an interesting melody when they are put together. If you are a musician who cares about music as an art, you do not care about the 'end-user', you make music because it's what you love, it's something that you find entertaining and time consuming. Same happens with hackers. We do not want to have to make programs only for end-users, typically we already do that at work. When we're doing our own stuff we're doing it for ourselves, and it should not matter if you can't use it, but you can appreciate the work that went into it and the amount of fascination that the hacker has for their creation despite most people not being able to understand it enough to use it. Perhaps no one will listen to your music, but you created something you're proud of, something that you are fascinated by, something that shows your passion for music.
Therefore, unless the hacker is at work and is creating a program specifically for the average user, let them make what they want, UX and all other factors are unimportant to them. The only thing that matters in their free time is their passion for what they're doing.