What do you call the people you write software for?

For most of my career I have referred to the people who I write software for “users”.  It just made sense, they are using the software so they are users?

Interestingly enough at Amazon we call them customers.  Not to say that the word user has been stricken entirely from the vocabulary, but it makes me wonder if it should.  Here is my thinking.  Something different happens in my mind when I think of the people I am writing software for when I use the word customer.  It is hard to describe…but maybe this story will help you understand what I mean…

When I worked at Microsoft I worked in the consulting division and we would help people make sense of the variety of ways to write code on the Windows platform.  Often times some of my customers (aka clients) would have come up with a unique way to solve a problem using some piece of Microsoft software.  When I would relate this back to the product team (another aspect of my job).  More times than not the question I would get back would be “why would they do that – that is not what we intended”.  We used to refer to this as the RDZ – reality distortion zone; which was the invisible field that hung over Redmond that prevented the product teams from understanding how people really used Microsoft product.

When I think about how a customer centric Microsoft would have been different – then the response back to me would have been something like “that is really cool, we never thought of that – how can we make it better”.

Try it.  It may just change the way you think about things.

Possibly the Most Useless Code Post

rejectNeed a quick and dirty way to take an element normal XML file and turn it into a CSV file.  I know I could create something from scratch, but was hoping for a jump start on this since I am in a big hurry.

So I find this post.

This person gives me the code to take XML and turn it into CSV for his/her XML only!  Geez how useless is that?

I guess it just bugs me because I have been doing lots of interview code reviews and if I saw this I would laugh and hit the DO NOT HIRE button for this person.  Which has actually happened.  Sigh.


More Quotes

This blog was started/named based on some funny quotes from people I know.

Here are some more that we put on the board of honor…

  • “Please adjust your tone”
  • “Why not be paranoid”
  • “Maybe you should try unit testing”
  • “Please fix your software”
  • “Please fix your process”
  • “If all our assumptions are good, then we are good”
  • “It works on my machine”
  • “It’s a gift from the Security Team”


Firehose Treatment – Open Wide

I needed to take a short bit of time off from blogging while I worked out the details of interviewing, negotiating and relocating (at least me) to Seattle from Connecticut.  I am now into my second week of work at the largest online retailer and the fire hose is blasting full force.

Being this big means that someone has already done a lot of bernsteinbookthinking about how to make something massively scalable.  Back in “the day” I remember pouring over the Principles of Transaction Programming book by Bernstein.  I knew this stuff inside and out and it still serves me.


Given the massive need for scalability I have had to dust of some new/old theories. ACID is out BASE is in.  Sure I have read about a bunch of these over the last few years, but it is different being at a place that is actually doing it.

Here is a list of things blowing my mind today…

  1. Eventual Consistency - It will get there when it gets there.
  2. Anti Entropy – Anything with the word entropy in it I find confusing.  So what is Anti-Entropy? :-0
  3. AWS - I had to pay for this before, now everything we deploy is already running on this.  Note to self; shutdown my services and save a couple bucks.

My phone is a fishing lure

Through a series of natural causes/events my phone was in the kayak, the kayak filled with water, the phone is dead and probably is better for catching fish or throwing at large game and rendering them unconscious.


This, of course, means that I have to buy another phone. Note that I did not say a new phone. It seems to me that the cell phone market sucks for anyone who, like me, is hard on a cell phone. There is no way for me to afford paying full retail because I am only months into my new contract.

This model is why I see so many screens with the spider cracked glass. Heck, someone at work actually had a piece of clear box tape over his screen to keep his phone usable to the end of the contract.

I cannot believe that the hardware for a phone actually costs that much. My hunch is that cell phone manufacturers are trying to recoup R&D costs for the phone and all the customizations that they put on top of the base OS. Apparently the competition is so tough that they feel they need to customize in order to distinguish themselves.

Wish someone would figure out a way to make a fast (obviously not going to be cutting edge) phone with base (aka free) version of Android. Rather than going after the performance or feature rich environment they go after the cost. I have seen some base Android phones and the OS is very usable. Negotiate with carriers to not put those annoying apps that kill the battery life. Figure out a different model, maybe even a Kindle with ads-like model.

Thinking about prevention…in this case it would have just taken a ziplock bag. Wish the kayak dude had a box of them for his clients. Otherwise, I guess the only case that may work for me is one of those industrial-double the size of your phone cases. I had an Otter case in the past and they were just too big to put in my pocket. Reminds me of the cucumber scene in Spinal Tap.

In the meantime, I am trying the following…

  • Scouring the used phone sites for a replacement.
  • Using article’s like this to try and save the old phone.