Today we have run the gamut of customer service experiences. For the first time in quite a while, We were flying on Air Canada. There was a time when we flew the airline enough to be among their elite frequent flyers, but not so much in the last few years. This is mainly because we found that they offered subpar customer service compared to their competitors and their frequent flyer rewards program is terrible. (FWIW, we fly primarily American Airlines these days but have also found that Jet Blue offers good service--they just don't serve many of the locations we need.)
Lest you think this is all about flight experiences, we encourage you to read on because we'll strive to make it relevant to our lives as IBM i application developers.
Today, we're using up a few of those last few frequent flyer miles we earned years ago. We had pretty low expectations of customer service. But boy have we been proved wrong. Air Canada had a change of equipment on our flight. As a result, we arrived at the boarding gate to find our seat assignments had been changed without warning. Not only that, we had paid extra for seats with enough legroom to be able to actually open our laptops and write this blog post (among other things). Surprise! Our new seat assignments were in the "normal" no-extra-leg/laptop-room seats. Considering we had paid a premium for the "extra room" seats, this seemed a pretty bad example of customer service, right?
When we complained (as nicely as we could manage at 7 a.m.--we don't do mornings!) about this to the gate agent, she initially told us that we'd be refunded the difference in price. Perhaps it was the look of disappointment on our faces at the thought of spending five-plus hours with our knees up under or chins, but for whatever reason she changed her mind and was able to come up with some seats where we could work. Unfortunately, they were not together. So she worked a little more and went the extra mile to find a way to rearrange some other passengers so that we could all get the type of seats we expected and paid for. Plus, we were able to sit together. Nice work!
Then on the plane, we found that the extensive in-flight entertainment offerings were virtually unusable because neither of our seats had properly functioning headphone jacks. We notified the flight attendant who initially apologized and suggested we try their "special" Air Canada headphones, which were worse than our own. We thought this was the end of that part of the story, although we were happy to see that the flight attendant noted the seat numbers to report the issue so maintenance could try to rectify the problem for future flyers.
It was still disappointing though because this was a long flight and while we had some work to do, we had hoped to kill some time by taking in a movie or TV show or two as well.
But things again changed for the better when a little later, the lead flight attendant came by to bring us vouchers as a small compensation for our inconvenience with the entertainment system. She also offered us a glass of wine. It was only 10 a.m. at this point, but we were sure it was 5 p.m. somewhere, so we said "Yes, thanks!"
The result? We're very pleasantly surprised with the customer service we received at Air Canada--both in the airport and in the air. We hope it's not a fluke and maybe we're seeing a new, more customer-oriented Air Canada that is very different from most of our experiences in the years before. We also saw other similar examples on the same flight. For example, flight attendants moved passengers and their bags into empty seats closer to the front because they had very tight connections due to our flight being 30 minutes late.
While we witnessed several examples of problems with Air Canada today, we also saw excellent examples of staff who took the time to see things from the customer's perspective and find a way to make it right. That's the essence of great customer service and we, and the other passengers affected, are clearly much more likely to fly with Air Canada again than if they had been brushed off in the way we have experienced in the past.
So how is this relevant to an RPG programmer's life? We think all of us are in a position to provide excellent service to our customers--who in our case are the users of our applications. Seeing things from their perspective is a good starting point. Being prepared to apologize when things go wrong and to do your best to make things right surely applies to any job, even programming.
Let's face it, we don't always deliver perfect applications the first time and on time, do we? Maybe we can strive to see if we can go beyond just fixing the problems that arise (while muttering darkly about "darned users"). We can strive to write our code in such a way that it's easier to test (thus causing fewer problems) and easier/faster to maintain and enhance. Using modern language features and modular coding techniques come to mind as ways we might do some of those things.
Excellent customer service should not be limited to retail and other service environments. It should be part of every aspect of everything we do in our working environments.