Sunday, August 26, 2012
I had occasion this week to discuss my software business, which I started in 1992 and ran for 12 years. I never made a lot of money with it, but then that was never the goal. Unlike many people who start technology companies, I never had an “exit strategy”—the concept of building a business just to sell it to someone else was utterly foreign to me. The only point to my business was to provide myself a living while being able to do things my own way, and, for that purpose, it was remarkably successful, for a while. It wasn’t just for me, though; I employed many of my friends, and many other people who later became my friends.
In the context of a discussion earlier this week, I outlined my primary business philosophy, and, reflecting on it now, it occurs to me that it was pretty damned radical, for the time. And still is, to some extent. So I thought I might expand on it a bit in the hopes that someone else will pick it up and make it their own. We could use more businesses like mine was.
Now, full disclosure: my business was never hugely successful, and for the last four years or so, it wasn’t very successful at all. We made money every year, though ... considering I started the business with around three thousand dollars and never took a dime of venture capital or bank loans, we had to make money every year, or else there was no business. But I’ll freely admit that there were several years where we made close to nothing, and eventually we called it quits. It is my opinion that what I’m going to talk about below has nothing to do with the failure of my business—I posit that it was partially because of macroeconomic factors, and partially because of my continued failure to locate a partner who could handle the sales and marketing side. But that’s just my opinion, and you’re certainly free to draw other conclusions.
Here’s my philosophy, stated simply: every day, in every business decision I made, I put my employees first. Now, you may very well say, this is foolish. You should always put your customers first. But I think that’s the wrong approach, and I’m going to tell you why.
Over the years, both from the outside and from the inside, I’ve observed many, many companies who put their customers first and treated their employees like shit. This approach is always doomed to failure, for one simple reason: the work that your company delivers, the work the customers receive and pay for, is performed by those employees. Unhappy employees produce crappy work. This is unavoidable. There just is no way to get good work out of people who don’t give a crap if they’re there or not or, even worse, who actively want to be somewhere else. The entire field of “management” exists to try to solve this problem.
A moderately well-known quote (usually attributed to Robert Heller) states: “The first myth of management is that it exists. The second myth of management is that success equals skill.” Like any quote, its exact meaning is open to interpretation, but I’ve always interpreted it to mean that management is mostly imaginary, and when it does work, it works mostly by accident. And let me tell you why: because you wouldn’t need to manage employees if you weren’t treating them like crap, or at best mostly ignoring them. Study after study shows that employee engagement boosts productivity, increases efficiency, and improves the bottom line, but, in your typical company, little more than lip service is paid to these concepts. True, there are some companies who are starting to realize the potential here ... Zappos has become somewhat well-known for it, and to a lesser extent Google has made some waves in this area. There are others. But these are the exceptions.
So here’s a large body of research telling us that employees do better jobs and make their employers more money if they’re happy, and yet most employers don’t bother trying to make their employees happy. Most companies put their customers first and their employees a distant second ... if the employees are lucky. Now, many people would say, aren’t the customers supposed to come first?
But, here’s the thing. Your customers really only care about one thing. They don’t care about fancy lunches or swag with your corporate logo on it or the fact that you remember the names of their spouses and all their children’s birthdays. Oh, sure: sometimes the people who work for your customers care about those things. And sometimes you can get pretty far by using such things to fake it. But, in the end, the one thing that your customers really care about is: results. Results trumps everything else.
Your customers want excellent work done for reasonable rates. And here’s what I discovered when I ran my own company: if you make your employees happy—not just a little happy, but deliriously, ecstatically happy, or as close as you can damn well come—they will do excellent work, and they will do it for reasonable pay. If they get reasonable pay, I can charge reasonable rates. Now I have excellent work for reasonable rates, and that’s called outstanding value. If I put my employees first, I can make my customers happy without even trying. If I put my customers first, my employees are not as happy, and they won’t do their best work for reasonable pay, and I can’t make my customers happy. Maybe I can fake it for a little while, but I can’t deliver in the long term.
So I tried every day—every single day—to put my employees first. And my customers being happy mostly took care of itself. As it happens, I learned a lot about how to keep the people who worked for my customers happy. I learned about managing expectations, and I learned about communication, and I learned about honesty and forthrightness and avoiding playing the blame game. I learned when to give in to my customers even when they were wrong, and when to put my foot down and say “no” even when they were right. There’s a lot to be learned about those things. But, you know what? That stuff still isn’t the most important part. Because the weird thing was, I wasn’t learning those types of things as a businessman or company founder. I was learning those things as an employee, and my employees were learning those things too. Because I, like them, valued my employment so much that I wanted to do everything in my power to keep it going. And keeping the customers happy was one way—the most important way—that I did that.
I think I was actually very successful at making my employees happy. Several of them told me that it was the best job they’d ever had. Very few of them ever quit; mostly it was a matter of us no longer having work for them. And most of those ended up coming back to work for us later; I had one employee who waited for my call for nearly a year and a half without a job. And he eventually got that call, and he came back to work for us.
I paid my employees well, but not outlandishly. They all worked hourly, and they were paid for every hour they worked. They all knew what everyone in the company made (myself included), and everyone was paid a rate based on their proficiency at their job. In most companies I’ve worked at, the programmers have a lot of competition amongst themselves: there’s always a constant struggle to prove who is the alpha coder. But, at my company, you could just look at your hourly rate and compare it to everyone else’s and you knew where you stood. If you thought you deserved more, you had to work hard and prove it. And there was never any silliness about raises not being handed out more than once a year, or not allowed to exceed a certain percentage. I gave raises whenever you showed me you were better than your rate said you were, and the raise was for as much as you deserved. I gave someone a 50% raise once. I gave someone a raise once before he ever got his first paycheck, and I made it retroactive to his first day, because he demonstrated that he was better than I thought he was when I hired him. Also, every employee got a commission of some sort, above and beyond their hourly pay.
Every one of my employees earned stock as well. Not stock options, but actual stock. The company was employee-owned. I maintained a majority interest, but I kept giving more and more of my stock away every year, and, when there were stockholders’ votes, I proxied many of my votes to the other employees so that their vote was not hollow. I constantly refused both the CEO position and the chairmanship of the board of directors so that other people could take on those jobs. I never had any desire to be in control. I only wanted to make this the best place to work in the whole world. I know I was not a perfect boss. I know I pissed people off sometimes, and frustrated them sometimes, and made them crazy sometimes. But, in the end, they were who I cared about, and they knew that. They knew they weren’t going to get a better deal anywhere else. They worked their asses off for our customers, and they pushed themselves to excel, and they did things they wouldn’t have dreamed of doing for faceless corporate overlords who wouldn’t bother learning their names.
If I ever start another company (and it’s a giant pain in the ass, running your own company, so I don’t know how likely that is), there are many things I will do differently. This is not one of them. I will continue to put my employees first, because there just isn’t any better way to get the best out of them, and that means there isn’t any better way to deliver value to my customers. Would my customers be upset that they don’t come first? They might be ... except for those pesky results. That excellent work at reasonable rates: it can’t get any better. And, when you’re getting the best results you could possibly be getting, isn’t that all you really want?
Sunday, August 19, 2012
Well, gave my kid pinkeye anyway. The vast majority of my weekend has been taken up worrying, comforting, and administering medicine of various stripes. So, no time to write anything substantial this week. So sad for you.
(By the way, if you didn’t catch the reference in the title, you should really get out more.)
Sunday, August 12, 2012
Still trying to get caught up on everything around here, and work is not helping. I’ve got someone lined up to help take some of the burden off me for work issues, but it takes time to make that transition, and, in the meantime, I’m still working way too hard to get all the info transferred. (Interestingly enough, I’m in the same situation for the hobby forum where I’m a sysadmin.) It’s hard to keep up with blogging in the midst of all that.
Still, I managed to bang out a new technical post this week. I got an email earlier in the week from one of the Perl luminaries wanting to discuss a new feature for one of the CPAN modules that I co-maintain. Always cool to have an online discussion with someone whom you’ve previously only known from watching him give presentations at conferences (and damn good ones, at that). So I was inspired to turn that design discussion into a blog post, so I did.
In other news, my middle child (also sometimes known as “the smaller animal”) just got his first laptop today—a little Acer netbook. Now he can do things like “play monkey bloons” without needing to steal our computers. We’re so proud! Also, having your own computer is an excellent way to force you to learn to read.
Anyways, hopefully by next week things will have settled down back into some semblance of normal. Not that you should care, of course, but just in case you do.
Sunday, August 5, 2012
So remember how I said last week was a reading week? Well, I’m still reading. I went all the way back to the beginning, and it takes time to work through all that text. Man, I wrote a lot. I could probably use a good editor. Except that she (or he) would probably cross out all my adverbs, and that would just piss me off.
So I’m not ready to present a new semi-chapter of my ongoing book. My next thought was to fall back on a technical blog, but I’m not ready there either. I’ve got a couple of really good ideas, but I’ve not had the time to work on them sufficiently to make them ready for blogination. In at least one case, I think I could actually slap together a CPAN module, which would be pretty exciting. Of course, to do that, I’d probably need to finish my Dist::Zilla customizations which I’ve been working on forever—well, I don’t need to, per se, but it would be more convenient, and I really want to finish that anyway. Except, I got stuck on this other thing that I wanted to do for that, and I ended up making a suggestion to another CPAN author and then I agreed to do the thing with the thing and ...
Sometimes I worry that I’m too much of a perfectionist. I do like things to be just right. Sort of like Tolkien was ... or at least, like what the stuff I’ve read about Tolkien indicates that he was. He always wanted to create just one more grammatical construct in Elven, detail just one more century of Númenorean history, retranslate just one more line of Beowulf ... so much so that he had difficulty fininshing things, at least according to some. Not that I’m claiming to be as brilliant as Tolkien, of course—I still have some modesty—I’m just saying that perhaps I feel his pain.
I’ve often been told that Meg Whitman was fond of saying that ”‘perfect’ is the enemy of ‘good enough.’” To which my response is, generally, “perhaps, but ‘good enough’ is often the enemy of ‘we’d like to have it last for a while instead of falling apart due to shoddy craftmanship which was deemed “good enough” at the time.’” Still, there’s no doubt that Meg’s formulation is pithier than mine, so probably hers is more true.
That was a bit of sarcasm there. Sorry.
Still, one can’t deny that she (or, if we want to be pedantic about it, Voltaire, who originally said “Le mieux est l’ennemi du bien”) has a point. As you may guess from my previous posts, I think the truth lies somewhere in the middle. But the tricky part is knowing where to draw the line.
Today I’m leaning a bit more toward the “perfect” than the “good enough.” Although, one could make the argument that, in settling for this particular blog post (which is about a third as long as I normally strive for), I’m actually taking a pretty firm stance on the “good enough” side. But mainly I’m saying I want a little more time to polish things.
Also, I’ve been putting in an unusual number of work hours lately, and that ain’t helping. Plus ... I ran out gas. I had a flat tire. I didn’t have enough money for cab fare. My tux didn’t come back from the cleaners. An old friend came in from out of town. Someone stole my car. There was an earthquake. A terrible flood. Locusts!
Or, er, something like that. Yeah, that’s the ticket.*
* Eek! Stop me before I cross-reference again!**
** Too late: SNL trifecta.