Dan Appleman: Kibitzing and Commentary

My personal blog

New Course: The Dark Side of Technology Careers

Have you ever noticed that most discussions of technology careers are almost relentlessly positive? Studying technology is portrayed as a guaranteed path to a great high-paying job, sometimes at a workplace that offers all the luxuries of a high-end resort. Courses on tech careers, including my own, reflect this in a way – promising to teach skills that will let you take full advantage of the opportunities a tech career offers. When we talk about our careers we tend to focus on the cool projects we’re working on.
Most people in technology do have pretty good careers, but that’s a far cry from “happily ever after”. Bad things happen. People get laid off, projects get cancelled, and companies fold. There’s politics, interpersonal conflict and various forms of discrimination and unfairness.
Bad things can happen in any career. But we in technology often seem to be blindsided – caught by surprise when things go wrong. The focus on technology, and the positive outlook we find in schools and books and courses doesn’t prepare us for reality.
My latest Pluralsight Course “The Dark Side of Technology Careers” sets out to change that. It’s about the challenges, obstacles and traps that almost everyone faces sometime in their career – how to spot them, avoid them, overcome them, and if necessary survive them. It’s about the things that we, who have been in the industry for a while, learned the hard way – the things we wish we had known starting out.
Those early in their careers will find this course an invaluable map through previously hidden career minefields. Those well into their careers will discover that they are not alone in the challenges they face, and will likely discover some they had never considered.
I invite you to sign up for a free trial to watch it on Pluralsight if you aren’t already a subscriber.

New Course: Data Visualization for Developers

I’m pleased to announce my latest Pluralsight course “Data Visualization for Developers”. In this course I cover the fundamentals of data visualization that every developer should know. The course goes beyond the basics of charting to cover data visualization architectures – an essential element on today’s world where data, analytics and rendering can be distributed across multiple servers and cloud services.
Check it out at pluralsight.com

So long, Windows XP

Part of being in the software development business is that sometimes you have to support software for a long time. Longer even, than Microsoft does. So the fact that XP is about to become an unsupported unsecured target of every virus and botnet in the wild doesn’t change the fact that I need to keep it around as part of an old build system.
But, that doesn’t mean I need to keep it around as real hardware. So, it’s time to say farewell to that old Sony Vaio – one of the finest and quietest old Pentium machines I’ve owned. Its soul has been removed – virtualized – leaving behind an empty hulk of hardware with, get this, the last of the old tube monitors.
Its spirit will live on, joining a virtual community of old Windows 2000, Windows 98 and Windows NT build systems. Waiting in limbo for the possibility they’ll be called into action again to support a customer running some ancient legacy software.

The Most Common Question

I’ve been asked a fair number of questions of the years, but there is one in particular that I tend to hear over and over again, and ironically, it’s always been the most difficult one to answer.
The question, for any given topic, is a variation of  “Where do I start?” or “Can you recommend a good beginner’s book?”
Now, I’ve been writing books for many years, and publishing courses on Pluralsight for over a year – not to mention learning technologies on my own, so you can imagine that this is a question in one that I care about very much. Yet I’ve always found it difficult to answer – because by the time someone asks me the question on a given topic, I’m usually well past the beginner stage and don’t really know what the best beginner’s resources are at the moment.
It’s only recently that I realized that resources aren’t the problem. The problem is that people are asking the wrong question. Beginner’s don’t need learning resources – they need learning strategies. Advances in technology have radically changed the way we can and should learn technology, and I’m not talking here about online resources and courses. Technology is beginning to fundamentally disrupt education, and it’s time to look at education in a different way – one that understands and leverages resources in a way that varies by individual and by the technology being learned.
That is the subject of my new Pluralsight course “Learning Technology in the Information Age”. Its purpose is to change the way you look at learning a new technology in order to make that learning more efficient. To help you to think carefully about what you want to learn, why you want to learn it, and what types of resources to choose and where to find them. In short – to design your own learning path before you start diving into resources. It’s a lot like designing software before coding – and we all know to do that, right?
I encourage you to take a look – Learning new technologies is a challenge we all face every day, and the time you spend on this short course may pay off many times over in time you save learning technologies going forward.

Adventures with Motorola – The Sequel

Last week I referenced Motorola in two posts, concluding with the observation that they, unlike Salesforce, are not a “customer company”. This after their complete fiasco on cyber-Monday with regards to their $150 off promotion for Moto X phones.
One person pointed out to me how their CEO apologized for the events of that day, and their decision to double the number of available phones and offer them on two other days as an example of how they really are a “customer company”.
In all fairness, I agreed that Mr. Woodside’s apology was the right thing to do, and it was appreciated. At first I was less than thrilled by the offer to double the number of devices, as it didn’t seem it would fundamentally change the lottery nature of the offer, and thus potentially offer nothing but more frustration to those who tried to take advantage of the offer on Monday. However, I was very pleased to see that they changed the mechanism of the offer so all you needed to do was sign up for the discount – meaning that those who were aware of the new dates and showed up on time were virtually certain to get a discount voucher – it took about 9 minutes for them to run out.
Did Motorola make that change to make things better or more fair for those who were frustrated Monday, or because it was a necessary technical solution to scaling up to handle the anticipated traffic? I suspect the latter, but I’m willing to offer the benefit of the doubt, as both goals were accomplished.
But, despite this, Motorola is still not a “customer company”. Let me tell you why.
I ordered a phone after receiving the voucher. The next morning I received an Email that my order had been cancelled, with no reason – just a number to call if I wanted to find out why.
I tried their online chat support, but the person there could not help – they had no access to the necessary information.
So I called – it took about 5 minutes to connect me to an agent. It then took the agent about 10 minutes to research the problem – it turned out that the address I specified as the shipping address did not match the billing address, so the order was automatically cancelled. I use one of those mailbox places to receive packages – it’s more secure. Now I’ve seen sites where there were warnings that choosing a different shipping address might delay delivery because it requires additional verification. I’ve seen sites that don’t allow different billing and shipping addresses in some cases. But this is the first time I’ve just seen an order cancelled. Why was there no warning during purchasing? Why was there no reason on the cancellation Email, forcing me to call in?
And what about the discount voucher code? Could it still be reused? It took the agent more time to research that, and then transfer me to the department that could issue me a new code. Except that they couldn’t – they had to open a case that required management approval to issue a new code – and they would call me back within 24 hours. That, of course, did not happen. They called back in 48 hours saying that a case had been escalated to management to request a new code. This did happen, several days later, leaving me just one day to use the code before its expiration date.
This is why Motorola is not a customer company. Their support staff are wonderful people – they were very nice and worked hard to solve my issues. But they clearly are not empowered to make things right, and they don’t have the tools to do so quickly – I was on the phone for over half an hour for what should have been a very simple process.
If they were a customer company, I would have received a call or Email before the order was cancelled explaining the issue and offering me options. If they were a customer company, they would have been able to reopen or replace the order to my home address, or even the mailbox place once I called. If they were a customer company they would have been able to reissue me a discount code on the spot.
You may wonder why I keep harping on this. It’s not because I hate Motorola. On the contrary – my current phone is a Motorola Droid Razr and it is a great phone, and I finally got my hands on a Moto X despite Motorola’s best efforts. And so far, it seems to be as amazing a phone as I was hoping it would be. Motorola is a technology company, and like many, I’m willing to put up with a lot of hassle to get great technology. But I shouldn’t have to. And I hope someone at Motorola will read this and realize that if they want to be competitive with the Apples and Samsungs in the world, they’re going to need more than great technology – they’re going to need to become a customer company as well.

So that’s what it means to be a customer company….

At Dreamforce there was quite a bit of talk about how the Salesforce platform can help any company to become a “customer company”. Frankly, I paid little attention – to me it sounded like typical marketing speak – a cliché intended to sell something.
Today Salesforce announced the results of their hackathon investigation, and while it’s interesting, what really struck me was the contrast in the process that took place there as compared to another experience I had today with Motorola as I tried to purchase a phone.
For those who aren’t aware, Motorola had announced a Cyber-Monday sale on their Moto X phone, discounting the non-contract phone by $150 starting at 8am CST. When morning came, their website did a complete melt-down. And while a site melt-down isn’t the same thing as a disputed hackathon, both represent a public facing crisis of confidence – raising the question: can you trust them?
When Salesforce faced this crisis, it took very little time to see a real response that basically promised an investigation. And that response didn’t come from an anonymous twitter account; it came directly from the VP of Developer Relations and the CEO.
Motorola’s response so far, to put it bluntly, has been awful. Even as hundreds or thousands of customers tried to purchase phones, there was virtually no communication other than to state the obvious – that the site was down. All day, potential customers asked on twitter, forums and Facebook for any information, and as they day went on, more and more of them announced their decision to switch to other phones, and promised never to buy from Motorola again. It was hours before there was even an apology. Only at the end of the day did Motorola announce that they will try again and increase the number of phones available, but even there – it meant nothing, as nobody knows how many phones they were going to make available in the first place.
I read the results of the Salesforce investigation. Personally, I accept it as accurate. This is partly because I know many of the people involved, but mostly because I believe in a variation of Occam’s razor – that one should never attribute to malice or conspiracy what can be explained by human error or exhaustion. The decision to award a second grand prize to the second place winner was an extraordinary step to avoid a potential injustice in a case where justice could not be determined.
What really struck me was the process. From the very beginning and throughout, Salesforce listened. They paid attention to the developer community and responded – and not just as a faceless corporation, but as individuals, and with reasonable transparency. Contrast this with Motorola, whose every action so far shows no concern for their customers at all – no understanding or acknowledgement of those who woke up early or spent hours trying to purchase a phone, believing that the site might be restored any minute. After, all, it’s tough to imagine or understand how a Google company can so completely fail with a web site over such a long period.
So I end this day with a better understanding of what it means to be a customer company. I think for Salesforce it is more than a cliché – their actions are giving the phrase meaning. Whereas Motorola, based on their responses today, seems to have no clue whatsoever.