
Can I Talk to that William Fellow? He was so Helpful (2009) - brudgers
https://blogs.msdn.microsoft.com/oldnewthing/20091123-00/?p=15943
======
leggomylibro
This sort of thing is a very helpful exercise - to any of you who manage
developers that work on anything customer-facing, consider setting up a day
for them to spend fielding customer support contacts for your product.

It's amazing how myopic you can get after working on a product for awhile. The
time spent in contact with ordinary users who are reporting issues helps to
bring you back to reality: how do users typically user the product, what
common edge cases do you fail to consider, what are common pain points in the
UI, etc.

~~~
makmanalp
At KAYAK we had these red phones that would ring loudly until someone picked
them up, and some technical worker would have to answer it and solve a
customer's problem. This was controversial to say the least, for many reasons,
but it was also extremely educational to see the misconceptions or worries or
troubles that people had about the product you create. I enjoyed these even as
a backend developer - often a problem or annoyance that manifests as a very
surface-level thing to someone has deep code/architectural implications, and
it grounded us to the people we were building things for, instead of striving
for the perfect internals and architecture in la-la land.

~~~
crooked-v
Even taking the basic idea as a given, the "someone" part seems far more
controversy-causing than just having some sort of basic assigned rotation.

------
caseysoftware
While I was at Twilio (mid-2011, through late 2013), every new employee was
required to respond to 20 tickets regardless of role. It may have been a hold
over from when we were really small but I always thought it was a great
reminder that at the other end of that API were people building real projects
that might make or break their company, teach them something new, or might be
having a bad day that you can help just a little.

~~~
3131s
Automattic does something similar too:

" _When you join full-time, you’ll do customer support for WordPress.com for
your first three weeks and spend a week in support annually, for evermore,
regardless of your position_ "

[https://automattic.com/work-with-us/](https://automattic.com/work-with-us/)

------
animex
I spend a few days in the support trenches now and then to see what our agents
were commonly facing when dealing with clients. One such day, it became
apparent that most calls were investigating credit card charges since we're a
SaaS that powers many sites. Watching the CSRs navigate through an ugly and
slow transaction search screen made it painfully obvious we need to re-tool
that for them. Within days we had a much faster db query and more flexible
search parameters that helped them quickly find transactions. I'd often poll
the CSRs for new feature requests and look for common threads. A small %
increase in efficiency over many reps adds up to alot of $$$s saved and
customer satisfaction.

~~~
mgkimsal
I worked in a callcenter doing software/dev stuff, and would sometimes talk to
the folks handling calls. I got in trouble for this, because they were
supposed to talk to their manager for requests and such, and I'd occasionally
fix stuff.

it was a west coast company that moved most operations to the east coast.
however, the manager was still on the west coast, and wasn't seeing the day to
day issues. In one major instance, I remember seeing that the initial
'customer info' screen was taking a LONG time to load. Like...30-40 seconds.
In some cases, it was only a few seconds, but for important clients, it was
taking a long time. They could vamp and chat for a bit, but it was getting
worse.

The agents were hitting a webserver in california, and pulling HTML back,
across a private network, and... it was a LONG time for older clients. It was
pulling up the entire client history. For important clients - who did a lot of
business - it was pulling back megs and megs of data.

When I looked under the hood, the data was being _repeated_ \- an entire block
of data was being duplicated inside HTML comment tags - someone had put those
in for debugging stuff and never got rid of it. So we were pulling back, say,
35 meg when maybe only 18 was needed. I simply deleted the commented info - it
had not been touched in 6 months - commented the reason in the svn commit log,
requested a new push go out, and the next day things were hugely faster.

I got my ass kicked. I "went behind someone's back" (untrue) and "jeopardized
production systems" (untrue). Other people had seen the code and it was pushed
out via normal process. It was simply the original developer didn't like that
I'd highlighted something he'd forgotten to do. :(

I then angled for actually using gzip compression but was shot down at the
time (no, "there's a bug in IE6 with gzip compression and printing" or
something like that), even though the gzip would have brought this down to
under 1 meg, and every call would have been 'up' in under 4 seconds.

We were further shielded from ever talking to CSRs, because they "might
overload us with requests". It was (and still is) a bizarre rationale. :/

~~~
bdavisx
It's not bizarre if you look at it from someone elses point of view: Someone
(e.b. your manager, or your managers manager, or higher up) had said there
wasn't anything they could do; you made them look bad.

It's stupid behavior as far as the company is concerned, but from whoever you
made look bad, well, they stopped that from happening again, didn't they?

~~~
mgkimsal
wasn't specifically a manager above me directly, but yeah, of course someone
looked bad. _other_ people looked bad directly to the people who were paying
us money - our CS team said they kept raising the issue in meetings. just
really bad rules - groups of people sitting literally 100 feet from each other
not being allowed to talk and fix things.

------
stinkytaco
Phone support is hard. I did it as a full-time job for about 18 months and
still do it regularly as part of my job now. Trying to convince someone who is
frustrated, confused, angry or just obstinate to work _with_ you is it's own
skill. They are your eyes, ears and hands and it takes a lot more than just
being good with the technology, you have to be good at support.

~~~
stephengillie
If you can take the person aside and ask them in the right way, they can tell
you everything about what's not working - both what is blocking them today,
and also the smaller problems that have been haunting them for a while.

The first part is to try to learn from them - how do they normally use the
system, what isn't working today, and any errors that are (or aren't) showing
up. The hard part in this is in actually wanting to help the person and/or
solve the problem, and not getting caught up in your own superior ability to
avoid the problem. The first step to good troubleshooting is checking your own
ego at the door.

------
BillBohan
I met that guy.

I was working for Tandy, repairing TRS-80 Model I circuit boards when he and
his partner, Paul came to Tandy Apparatus with some engineers from Tandy R&D.
They had the first masked ROMs for Level II BASIC. They put them on a board
and tried it and it didn't work.

I took the board I had just repaired and went to them and told them that they
were in a repair area and all of the boards were in need of repair. I offered
the board I had repaired and told them that it should be able to run their
ROMs.

They moved the ROMs to that board and powered it up. It came up with a MEMORY
SIZE? prompt and William said to press enter. I did and it gave a READY
prompt. I typed in a one-line program to print numbers and it started
scrolling numbers down the screen.

William was so happy that he offered me a job at his company. He said that he
had about a dozen employees. For personal reasons I was unwilling to locate
outside Texas and turned down his job offer.

------
StreamBright
Jeff Bezos does the same, also if you are working on one of the retail teams
you are encouraged to take support calls once a year.

~~~
Twirrim
There's a bunch of tools that Amazon customer service reps have, and
procedures, that have come directly out of Jeff doing customer support work
every now and then, e.g. the Andon Cord (any customer service rep can pull any
item from sale worldwide, instantly, through the andon cord process, from
which a team of dedicated staff evaluate the product and why the cord was
pulled).

[http://www.shmula.com/customer-service-andon-cord-jeff-
bezos...](http://www.shmula.com/customer-service-andon-cord-jeff-bezos-and-
customer-experience/10901/)

~~~
hguant
I believe this was pioneered by Toyota - any one on the floor could flag that
there was a problem with production or an inefficiency on the floor, and work
would stop until a lasting solution was found.

EDIT - Wikipedia has more detail. Apparently the main reasons workers pulled
the cord were "missing parts, safety issues, tool malfunctions and defects
found/created."

[https://en.wikipedia.org/wiki/Andon_(manufacturing)](https://en.wikipedia.org/wiki/Andon_\(manufacturing\))

~~~
hkmurakami
Yeah it's one of the first things they tell you about in factory training. And
they definitely emphasize pulling the cord (or pressing the button, depending
on the line you're on) if in doubt at all.

------
fiatjaf
That reminds me of that other episode in which Bill Gates sends an email to
some Microsoft people about his failure to find information and run some
program in his Windows machine, saying that everything was horribly difficult
and obscure.

~~~
phonon
[http://antitrust.slated.org/www.iowaconsumercase.org/011607/...](http://antitrust.slated.org/www.iowaconsumercase.org/011607/7000/PX07199.pdf)

Scroll to the bottom :-)

~~~
colanderman
"So they told me that using the download page to download something was not
something they anticipate"

This is comedy gold.

What boggles my mind is, there are _lots_ of people who have good usability
taste. But so many software vendors seem to have _no-one_ with taste in a
position to do anything about it as their priority. Hence so many crappy UIs…

~~~
wwalser
The delta between the ability to identify that something is poorly designed
(taste) and the ability to create a well designed version of a system is
immense. The problem isn't that people with taste aren't in positions capable
of effecting change. The problem is that design is very very hard.

------
lovemenot
Something feels a bit off about this story. At the end, the customer is said
to exclaim - oh my god, that was Bill Gates!

At the end of 1989, Microsoft was not as famous as it later became. MS/DOS was
just one of several competing DOSs in a much smaller market. And DOS was their
main product.

I doubt that even amongst most MS customers there'd have been name recognition
for Bill Gates, let alone such reverence.

~~~
THE_PUN_STOPS
It does seem a bit apocryphal, but I think that's okay if you take the story
as more of a learning parable than an account of facts.

~~~
lovemenot
I agree to the extent that is not also hagiography. Unfortunately, cult of
Bill / Steve etc. does tend to become dominant.

------
zitterbewegung
I wonder if there was a reason for taking the call? Possibly to see some
aspect of support calls by doing it?

~~~
nxc18
I think its interesting to see real-world customers and how they use software.

Being in university, I get to see a whole range of people. You realize that
people don't really have a robust mental model of how their computer works or
how the software they use is structured. Then we 'computer people' wonder why
they struggle with our software.

There are so many times I'll watch someone go through a laborious process to
find a google doc, despite having seen a link to it on their screen at least 4
or 5 times. Or I'll see them go to the search bar, type in google, then start
their search. Or go to the file menu rather than use shortcuts (every. single.
time.). Or use tabs to manually center things rather than use the center
button.

Even relatively advanced users will completely miss the existence of styles in
Docs & Office.

And all of these are just the basics. We really do need to make software
easier/more intuitive.

~~~
tomc1985
How come 'we need to make this easier' is always the answer?

Why can't society shoulder some of this burden. We should be teaching people
to understand computers and difficult software; the 'make it easier' answer
leaves everyone worse off because software is everywhere

~~~
GCA10
Let's transpose the difficult/easier dilemma to other areas, where you might
be the newbie:

\- Prepackaged food. Why should lettuce leaves be separated, cleaned and
packaged in handy sizes? People should be totally okay with tearing apart
heads of romaine if they want to make a salad.

\- Zippers. Way back when, people fastened and unfastened buttons or laces to
get their clothes on. That seemed like a reasonable burden at the time, so why
didn't we just leave it like that, instead of switching to zippers?

\- Highway exits and lane merges. Designing a network of roads can be
difficult. How many signs alerting you to the next exit are sufficient? What
if we asked everyone to pay attention to one clearly posted sign, because
anything more is redundant?

I'm grateful for all the simplicity that keeps coming into my world. If
grocers, clothes makers and urban planners can embrace simplicity, the
software industry can, too.

~~~
tomc1985
None of those things were designed for the fulfillment of complex, open-ended
tasks. They are simple devices, ergo using these things should be simple.

I don't want simple software because my problems are not simple. Computers
need to move with me at the speed of my thoughts, and simple software simply
cannot do that. Our modern world of software feels like shit-plastic Duplo
blocks when I grew up building skyscrapers in Lego

~~~
chucksmash
What tools for building skyscrapers used to be available but no longer are? My
computer still has a CLI and all the esoteric flags my heart could ever wish
for.

~~~
tomc1985
A few areas that I feel we've lost functionality:

* MP3 players: I used to have a device with buttons that fit into my pocket that was able to locally hold my entire music library. I could control the device _through my pocket_ without needing to look at it or hold it in my hand, it presented a filesystem with folders that I could simply drop music into (or whatever files I wanted, at the time 20/60gb in your pocket was a big deal). Since everythings' transitioned, first into library-based management and then into touch interfaces, actually _using_ an MP3 player (or more specifically, whatever music program is on your phone) sucks so much more now

* Software used to work regardless of what happened to its creator. Desktop software still largely does. Nowadays it's almost like entrepreneurs enjoy writing emotional sunset posts, completely oblivious to all the customers they've fucked over because they suck at business

* Computer internals and abstractions were more exposed. Computing is slowly moving away from keeping users close to abstractions -- using modern software it feels like Product Managers want to erase and destroy users' concepts of things like files and folders. Cloud services would much rather you think of their software as an interface to their silos, and the kind of interoperability that you used to get for free by sticking to a 'protocol' of files and folders, is no longer there. (How hard is it to examine iOS or Android at the individual file level? How hard did it used to be?)

* I used to be able to open most software on my phone without being nagged with a popup for some reason or another. If it isn't a "HEY LOOK AT THIS NEW FEATURE YOU STUPID USER WHO NEVER EXPLORES ANYTHING" it's a "PLEASE VOTE ME FIVE STARS". Software talks too much, and I don't want to have a relationship with its creator. Leave me alone!

* I used to be able to boot up my computer (or, hell, even my Playstation!) without being bombarded with update requests. Software used to be finished, and as a program matured you could expect patches and update frequency to fall off dramatically. Our brave new world of evergreen programming means I am perpetually hassled with updates that I don't want, don't care about, and are frankly unnecessary. Sometimes those updates even _remove_ features, sometimes even features that I am using! (How the fuck is that acceptable nowadays anyway? In what industry is it acceptable to take something away from users that they have paid for? We have compromised our standards too far!)

~~~
TeMPOraL
I so much agree with all of your points. I want to add a few thoughts.

> _Since everythings ' transitioned, first into library-based management and
> then into touch interfaces_

I can forgive touch interfaces (smartphones are awesome, and a good headset
will have buttons that can be used for track control), but I don't understand
the whole library management thing. How on Earth did that happen? Why did
iTunes-like interface win, with all that bloat and pointless misfeatures when
all one needs is simple way to filter a list of your music _files_ and group
them in logical playlists?

Moreover though, in the better days, you controlled your music. It was made of
discrete data files. The modern way is all cloud bullshit you have to stream
over the Internet every time you want to listen to it.

> _Computing is slowly moving away from keeping users close to abstractions_

This is huge, IMO. The "low-level" abstractions of files and folders are good,
because that's the level _software_ operates on. All those attempts at
abstracting files away only lead to your system actually _lying to you_ about
how the data is structured, and this can be confusing to people because
different software now tells different lies, and they don't add up to a
coherent whole.

~~~
tomc1985

      > This is huge, IMO. The "low-level" abstractions of files and folders are good, because that's the level software operates on. All those attempts at abstracting files away only lead to your system actually lying to you about how the data is structured, and this can be confusing to people because different software now tells different lies, and they don't add up to a coherent whole.
    

I honestly feel that the only reason this happens is so that business-people
can insert more "value-add" into the equation

~~~
TeMPOraL
I feel things would be much better if business-oriented people asked what
value something adds for their _user_ , instead of "value-add" being a code
word for "more money for us".

------
bananaboy
I worked for some friends a long time ago doing traffic control plan software
(at [http://www.invarion.com/](http://www.invarion.com/)). We were a startup,
three of us in the office, that's it, so when customers would phone one of us
would have to talk them. A lot of the customers were not super technical, and
I would have to answer questions about features that I had implemented, or
bugs that I couldn't have imagined. It was illuminating, and gave me a new
respect for developing software and really considering the end user and their
needs and abilities.

------
drwl
Is this so surprising? Kevin Hale, YC partner, talks about how it was
implemented at his startup Wufoo with interesting results about how it drove
engineering to improve the product. On his Stanford lecture video for those
who are interested.

------
devoply
Believable but at the same time might be just marketing, especially the last
part. Call me cynical.

~~~
brudgers
The story is consistent with Joel Spolsy's first person account of Bill Gates:
[https://www.joelonsoftware.com/2006/06/16/my-first-billg-
rev...](https://www.joelonsoftware.com/2006/06/16/my-first-billg-review/)

~~~
djsumdog
Ugh, the guy who discourages people from working on side projects because of
potential contract violations?

~~~
alangou
I would say that's a misreading of his intent - informing developers about the
contract law governing their employment is to help people not get burned at a
later date because they were iffy about the details of this or that clause.

Of course, being informed about it may very well discourage some people from
pursuing side projects. But then this comes down to whether you'd rather have
developers continue with their side projects oblivious to the potential
consequences of doing so.

