Ken Sharpe has a new home –

June 22, 2008

Well ladies and gentlemen, the traffic has been picking up, and the writing is going strong, so Ken Sharpe has now moved to his own home on the web! New posts will appear there, so please update your bookmarks and feeds:

New Page:
Feed URL:

Thank you for your support!


Meta Value

June 20, 2008

Insane Guy

Doug is the support manager at Ideal, and he is certifiably insane. He’s a nice guy, and he does his job fairly well as far as I can see, but he is a sucker. Like my former colleagues at Acme, Doug works way too hard for nothing in return. He is here for a little over 12 hours a day putting out our customers’ fires constantly.

I started wondering to myself about how I could reasonably expect to get options and move up the ladder at Ideal when Doug, who works more than I do, presumably will not get options or move up. The answer dawned on me as I knicked myself shaving.

Meta Value is a Coefficient

The answer is that Doug is banging his head on a brick wall. For over a year now he’s managed the support staff and he has made no progress in improving the system, which means he will continue to bang his head indefinitely. He adds value by putting in more time.

I add value differently. I strive to add “meta value” — value that creates and allows for the creation of more value. No matter how many calls Doug takes, he will never stop the tide of incoming calls, but if I can fight for the system that will make his department (and mine) more efficient in the way it works, the effort required to run the place will be reduced overall.

In Practice

If the support department normally creates 100 units of value, and I come along and reduce their load by 25% by developing a solid product, then I increase their productivity by 10% with a useful infrastructure, now I have 110 units of value (1.1*100), being used on 75% of the total work. I could also cut payroll costs by 67.5% since the new workload can be handled by 67.5% of the staff.

That’s why I’m going to be the CTO, and Doug is not. He doesn’t have the vision to add value and create improvements that will help everyone else add value. He may be able to do the work of one and a half people by working 12 hour days for the short term, but I can do the work of 30 people by making improvements to the company and the system, and that number will only grow as the company grows — right now my changes will help 100 people; all the better when they are helping 1,000!

Ben, the CFO

June 18, 2008

Ben, the CFO here at Ideal, is an interesting, complex guy. He is a Certified Public Accountant, which is a pretty big deal in bean counter circles, and at first glance he’s very much an accountant. He’s small, a little geeky, and greying. He speaks clearly, but softly, and the care that goes into his communications is obvious. He is very cautious in what he says, and very sensitive to not upsetting anyone.

That’s dimension number one.

Other Dimensions

He’s also very well-read, and actually has written a book I’m currently reading. It’s about how ridiculous the modern world is, and it has a heavy dose of (dorky) humor. That’s dimension number two. He’s funny, and unflappable, which I really like. He doesn’t like nonsense, and he doesn’t take himself too seriously. In his author bio he listed all the busboy and dishwasher jobs he’s ever had — he says there is dignity in all professions. I can dig that.

Here’s dimension number three:

Knowing that he is sensitive, I had to apologize to him once. During my ordeal trying to get the software system that Walter was dragging ass on in place, I was in a meeting with Ben, Walter, and a sales guy named John. John was a rep for the vendor Ideal had been dealing with before I arrived.

Like most sales guys, John waved his hands lot and was very light on substance. I asked him a few pointed questions and believed that I made him visibly uncomfortable at times. I do not feel bad about this, it’s my job to sort out the technical bullshat that vendors try to throw at medium companies.

After the meeting, I spoke to Ben privately. I told him I know he likes to walk softly, and apologized if I had been more aggressive than he’s used to.

He laughed at me.

“Someone needs to kick ass around here, I’m glad you’re the one doing it,” he said.

Ben is going to make an excellent ally.

Information Addiction, or Maintaining Focus

June 16, 2008

I was reading my favorite blog, Overcoming Bias, when a background thought I’ve been toying with for the past few days was thrust into the spotlight by Hal Finney.

My thought went something like this: I don’t need to consume so much information. I read too much and it’s distracting. At even the slightest hint of downtime, I’ll fire up Google Reader, and see if there anything new on Slashdot, Seth Godin, Overcoming Bias, Paul Graham, Steve Pavlina, JJ Astor — anything to fill my brain.

Sexy Librarian

Hal calls this Information Porn. It’s titillating, and it fills some chemical need in my brain, but it’s distracting and ultimately not very useful. Before reading his post, I had limited my reading time to once in the morning — spend half an hour reading all the material on all the sites I aggregate into my reader, then turn it off for the rest of the day.

I had taken steps toward limiting my time on any IM services, or checking E-mail as well. When one is in the habit of checking for new information continually, it becomes like breathing. Need oxygen? Breathe! Have a spare half second? Check for new information!

In fact, I checked Google Reader this morning, and dutifully closed it when I was finished. Then as I wrote the sentence above, I realized I hadn’t checked a forum I frequent. So I checked it. It’s now 25 minutes later, and I’ve read about 23 minutes of totally useless information, even while the topic of not wasting my time on information overload is on my mind and at my fingertips — such is the power of habit. New rule: Only check that forum once per day, and only click external links from it during the weekend.

Incremental Approach

Meaningful change is wine that one has to be truly prepared to drink, or he’ll choke it down to be polite, then it’s back to Budweiser. It’s often better to take sips rather than gulps, and to that end I recommend two tactics you can use to acquire the taste for change:

  1. Make small, incremental changes. Not long ago I limited my time on google reader. Today I realized that forum of mine was a problem, so I made a small change to solve it. Maybe in the future I’ll eliminate it entirely, but for now, I’ll take small sips.
  2. The 30 day trial is a strategy I learned from Steve Pavlina. In a nutshell, he says that making a change in your life is difficult, so create a window of 30 days that you will use to maintain self discipline. Make the change for 30 days, and 30 days only. The goal will be close enough to achieve, but long enough to have meaningful results so that you can decide whether to stick with your change at the end.

Jesper the Frenetic Problem Solver

June 13, 2008

All the successful people I’ve met personally have a wild streak. They are attention deficit poster children.


Jesper is a case in point. This guy is full bore ahead 100% of the time. He speaks so quickly he trips over his own words 10 times before he gets them out. He has this bulldozer mentality that makes every path clear ahead of him. He told me the other day that a while back he wanted to lose some weight. His solution? “I just stopped eating,” he said, as if it were obvious. He didn’t stop to consider the long term health ramifications, or worry about his blood sugar, or whether his muscle was metabolizing before his fat.

He had fat, food makes fat, he stopped having food for a couple weeks, he stopped having fat.

A Leaf

It’s really not my style, but I think there’s something to Jesper’s mentality. I think he tends to be short-sighted because he’s not organized and he has no plan for the future (which is a big reason for my employment at Ideal), but he’s fantastic at breaking through that initial ceiling of possibility. He threw together a company that now brings in $40m+ in revenue per year, and now, from atop his seven figure throne, he can stop to worry about how to fix the path of destruction he’s left. It’s the opposite of over thinking.

Over thinking is my vice, and the vice of many people who want to be successful. Instead of bulldozing through the issues as they come like Jesper does, I sit around worrying that I might run into some and planning for that eventuality.

Open Book

Maybe I need to use my self-discipline to simply bust through the first barrier — the barrier of all these systems that I need but don’t have, the barrier of getting a working model of Emerald out the door before people get antsy. Does that mean working more? Working smarter? Being more pushy? Maybe I shouldn’t worry about it.

PS. Sorry for the delay in posting this week, I lost my rhythm, over thought the problem, then eventually bulldozed it by writing a whole bunch!

Winning Big

June 6, 2008

I had scheduled a meeting with David, our CEO, several times in the past weeks, but on Monday, after being stood up on all those occasions, I finally just walked in to his office and started talking, which worked out in an interesting way.

It turns out that many of the concerns that Walter had were echoes of David’s concerns. Also, as I thought, Walter had been under pressure to complete other tasks he had, so it was all a bit overwhelming to him.

The particular concerns he had are a topic for another post.

The interesting thing was that I got to explain, in my view, what was going on to David, and without prompting, David asked me if I wanted to take ownership of the project, which was one of my goals for the meeting anyway.

He asked me what the cost of the system would be, and how much time it would take. When I told him, he said, “Ken, I want you to win big on this, but I need to know that it will happen.” Then he asked me if I’d bet my paycheck on it — and he meant it.


Climb with Care and Confidence

To answer him, I looked him in the face and I told him I would, yes. Even though I know that nothing is certain, I also know that bosses prefer overconfident managers. Using that knowledge, I knew not to equivocate– “Well, sort of… I guess, if…”

I said, yes, I would. Given the choice between betting my paycheck on Slomo or AwesomeSoft, I choose to bet on AwesomeSoft.

In response, he gave me the responsibility for the project. What is the risk in telling him to fire me if the project doesn’t go as planned?

Let’s play a little game theory.

Take Responsibility Reject Responsibility
Project Fails I lose my job, and I get another one. I continue to suffer under the onerous burden of not having any infrastructure for my team.
Project Succeeds I “Win Big.” Nothing happens to me. I get the system I want, and I am in roughly the same political position.

Let’s explore what that matrix means

  • If I have utterly misstepped, and in my arrogance recommended a system and a vendor that are going to fail, I risk being fired. If that happens, I may not be able to find a job at my current salary level, but I will be able to find one at an acceptably high level, so the stakes are fairly low here.
  • If I do not take responsibility, the project will fail. The path that Walter is headed down is a dead end. He’s considering going with a scuzy, proprietary vendor to get mediocre software that will not fit the needs of all departments, and will not scale for the future. That means the scenario of my not taking responsibility for the project ends the same way every time: I still have my job, but it’s doomed. I will not have the tools to build a strong team, or to meet the regulatory requirements that the government has set for the software I’m tasked with building. If I let this project go by the wayside, I will lose my opportunity to become the technical leader at Ideal because I’ll be bogged down indefinitely.

So, what looked like a risky proposition — staking my career at Ideal on something that is uncertain — actually turns out to be the only reasonable alternative to beginning an active job search. If I didn’t take the risk, I’d be almost certain to fail at my job, that same way that taking the risk is almost sure to save it.

Focusing on the Top

June 4, 2008

I’m a big fan of Seth Godin — he’s a smart marketing guy, he’s built a good niche for himself. I still remember something he wrote in his blog about the best customers being worth way more than average customers.

Here at Ideal we bend over backwards to sell to every possible customer no matter how small and no matter how perilously low the margins become. We also have a piece of equipment in the warehouse that a customer bought for $3,000 into which we’ve sunk $15,000 in support and repair costs. We occasionally have to pay the sales guy a commission puts us in the red.

We have customers who refuse to upgrade from Windows 98, or who refuse to accept our web based product because they want the Windows client (which is the Yugo of law firm management software).

Bleeding Dry

Cash Money

These are exceptional cases for which Ideal pays dearly. We have perhaps 4 of 21 technical employees in order to service this segment. It costs us around half a million dollars per year to deal with these people, and for what? What type of customer refuses to upgrade from Windows 98 to Windows XP in mid 2008? The cheap kind who didn’t pay us much to begin with.

We are also paying in quality. By supporting this very low minimum requirement we are barred from using the previous two generations of Microsoft technology, which have several key features which would allow us to unify and simplify the code base I have to design. For example, instead of maintaining two entirely separate code bases for the Web based version of our software and the windows client version, we can use the newer technology to fill the gaps between the capabilities of the web and client versions, allows us to eliminate the client version entirely, along, incidentally, with the lowest performing member of the team.

Our sales figures aren’t organized enough for me to make an air tight case that this segment of our customer base is actually costing us money, but here’s the E-mail I sent to Ben:

Hi Ben,

I sent an E-mail to Mark about our customers – I am hoping you can shed some light on the numbers behind Mark’s point that the Client software is important for smaller sites, and that many of our other clients use and will continue to use Windows 2000.

Is there any way to determine how much of Ideal’s revenue is tied to customers that need the Client or still use Windows 2000? If there is, can we find out what our profit margin on those sites is?

The reason I ask is that my gut tells me we’re spinning our wheels on these guys. I have a feeling that the headache we endure by continuing to support these products on those platforms is literally not worth the revenue we bring in by doing it.

Of course the sales guys get their commission whether the customer is profitable for Ideal or not, so they want the lines to continue because it makes it easier to sell. On the other hand, I’m thinking about the resources I need to continue supporting this, and the cost to us of not being able to use modern development techniques, or to have a unified code base that all our developers can work on.

I’m guessing we can save big time and money by upselling the current clients to Web, getting everyone onto at least Windows XP, and not renewing support contracts with those who refuse.

I’d like to find out if my gut, hunches, feelings, and guesses actually make financial sense. Do you have any information that would help me?

Thanks a lot!
Ken Sharpe

I talked it over with Ben, and I told him that my budget would go much further if I could eliminate those customers. He wasn’t able to give me the numbers I was looking for, but he agreed in principle and he took it to David who is mulling it over.

I’ll do what makes financial sense, but my gut feeling is that Seth is right, we should chop off our problem customers, and focus on the top.

Pressure to Perform Miracles

June 2, 2008

As I discussed previously, Ideal needs a complete overhaul of its technology systems. There is an unintended consequence of making everyone believe I’m solving only their individual problem, as I explained in Technical Bankruptcy post. It is that they all conceive of my project and the effort involved with it in terms of only the portion they are interested in. They expect Emerald to be complete in the time it would take just a permissions system to be done, or just a visual overhaul to be done.


The reality is that before any of those individual pieces could be built, I had to design and document an underlying architecture that would support Ideal’s needs for years to come. I am doing the work of several architects and I’m doing it in a fraction of the time it should be taking. Although I am confident in the quality of the system I am building, I am personally nervous that I’m overlooking something, because it feels an awfully lot like I’m working a miracle.

I need to set the expectation in the organization that this is a medium (not short) term project, and try to solicit the limited and supervised involvement of the developers I have right now in order to make this work.

Dragging Ass

May 30, 2008

As of this writing, Walter has been dragging his ass for three weeks on a new information system that I’m trying to get implemented for Ideal. The system is fairly complex in that it must meet the requirements of several different departments with existing infrastructure, and be able to handle future needs as well.

Angelic Choir

This is not something I took lightly — almost as soon as I got here I identified the need for this system and began gathering requirements from all the departments. I researched vendors heavily, developed a short list of four vendors who could deliver, then asked for estimates. I targeted the most promising vendor, negotiated the final contract, and delivered it with a Hersey’s Kiss to Walter’s desk. I could here the faint melody of an angelic choir as everyone in the company rejoiced.

Then we waited as Walter fumbled from one excuse to the next. We watched as days turned to weeks. The departments are being crushed under the pressure of 20,000 Leagues of bullshit that they can’t keep organized, and my vendor is bucking at the starting gate.

I’ve talked to Ben, our CFO about this in the hope that I can uncover what must be the hidden obstacle. There is no obstacle — Ben says if I need an officer’s signature, to bring the contract to him, and he’ll cut the deposit check. I’m being encouraged by other players to just do it without Walter’s approval. People are in pain.

Over worked and Overwhelmed


My suspicion has been confirmed. The unseen roadblock that is causing all this pain is psychological. Walter is not a technical guy — he excels at organizing systems, and creating paper trails. This responsibility has fallen to him by default: before I came, there was no one else to do it. Now Walter is drowning under his normal workload (ironically, because this system is not in place), and he is overwhelmed with technical information he simply doesn’t understand.

It’s not his fault. It’s a common psychological effect: too much information about an important decision will cause a person to freeze, unable to call the shot.

To overcome Walter’s brain freeze, I’ll go to David, and tell him what’s going on, tell him why I think it’s going on, then make the move to take the responsibility off Walter’s shoulders entirely.

If it works the way I hope it will, I will get the system up, and be one step closer to having the final authority over technology issues here at Ideal.

Technical Bankruptcy

May 23, 2008

The mess I have inherited here at Ideal is technically insolvent.
Dodge Charger

I knew a guy a named Bill few years back who had a brand new Dodge Charger SRT-8, which he paid $850/mo for. He loved that car. He cleaned it meticulously (the only thing he was meticulous about), he drove it incessantly, and he became so attached to it that he eventually lost it.

After adding insurance, gas, and other bits and pieces he sunk into the car monthly, he was throwing more than half his income away. When it became increasingly difficult to pay his rent and other bills, he just couldn’t trim the budget – he loved the car so much that he started eating into his credit to make ends meet.

The situation became worse when he started opening new credit accounts as the others reached their limits. The minimum payments on his 9 separate cards added up to more than he paid for is car every month. When the credit ran out, he was sunk. Stuck with debt that was over half his annual income, with living expenses outpacing earnings, he has to choose between his roof and his car.

By the time he parted with his beloved car, it was too late. He still had to have a vehicle to get to work, so net monthly savings was only $600, while his new credit bills were over $2,000 a month.

This is insolvency: having greater debt than assets. Bill had more bills every month than he could pay, and it was because he didn’t spend wisely. Luckily for Bill, in America we have bankruptcy instead of debtor’s prison.

Behind Bars

Coined by Ward Cunningham, and introduced to me by Steve McConnell, Technical Debt refers to borrowing time on software projects in exchange for quality. Any time we want to add a feature to a piece of software, we are faced with a choice:

“…one is quick to do but is messy – you are sure that it will make further changes harder in the future. The other results in a cleaner design, but will take longer to put in place.” – Martin Fowler

Briefly, Technical Debt is similar to in character to financial debt:

  • You have to pay it back with interest. When you cut a corner, you eventually have to go back and implement the feature correctly. By the time you do, there are other parts of the project that are dependent on the corner you cut, so it will actually be more difficult to write correctly. Prior to that, changes you make to other parts of the software will be made more difficult by your poor design. This is the interest.
  • Long and Short Term. Short term debt, much like a credit card, is often unplanned, high interest, and should be paid off quickly. In other cases, you can borrow strategically with a plan to pay it back over time. This is like writing a quick and dirty prototype in order to be first to market, then using the financial momentum to rewrite.

If there was a technical debtor’s prison, Ideal would be behind bars. Poor management and poor programming have piled loan on top of loan, and now, like Bill, our interest payments are greater than our income – the principle is growing, and we don’t have the assets to pay it all back. Practically what this means is that our software products have grown out of control, and our programmers time is consumed with a growing list of critical failures and bugs streaming in from increasingly irate customers. We don’t have time to fix the outstanding issues, never mind improve the software!

Prison Break

Prison Break!

I realized that the situation was not salvageable about a week after I started work. That’s when I began quietly gathering requirements, and creating a completely new architecture. This is dangerous territory. I’m flying against the prevailing wisdom of our field by doing a potentially ill-advised rewrite, and I’m doing it under the noses of the guys who wrote the bankrupt software.
I thought very carefully about the rewrite, being aware of the reasons not to do one: that was technical decision best left to another article. The political issues, however, are human, not technical. The fact is that if a new person comes into a group and says “Hey everyone, the work you have been doing for the last few years is awful, and I’m going to redo it,” he will be universally despised.

What I chose to do instead was listen to the guys, and find out what they thought. They had many pain points as they bore their onerous technical burden from one dismal release to the next. Each time one mentioned something that sucked up their time, I was quick with: “Wow, is there any way to make that better for you?”

As an aside, I knew this question wouldn’t get a good answer. If these guys were capable of planning easily maintainable code and articulating solutions, Ideal wouldn’t be in this situation. Invariably, they say “I don’t know, I can’t think of anything…”

That was my opportunity to offer a suggestion like “Well, what if we could [idea here], and that way you wouldn’t have to do this anymore, and you’d have more time to do [fun activity]?” When I said something like this, I was met with cautious enthusiasm like “That would be great… if it ever happened.”

“Let me work on that for you,” I’d say. Often my off the cuff idea had already been implemented in the new architecture. For example, we have user permissions that control access to the functionality in our software. Right now those permissions are hard coded, so that to change the permissions a developer has to change code and recompile. The better way to do this is to store it all in a database, accessible through an admin interface so our implementations people can do it without bothering the developers. This was planned well before a developer on the team lamented the situation, and I took the opportunity to get him excited about the possibility of the admin interface.

Champion of the People

The result is that the new software is different things to different people. Each person has a unique set of expectations that I’ve tailored to them in particular. Some people are looking forward to automated licensing, others user permissions. Other people are looking forward to whole thing being packaged so that it can be installed with one mouse click instead of arcane voodoo they have to work now to get systems running. Everyone feels like I’m working on something just for them, that will be designed to solve all of their problems specifically.

By the time I’m finished, it will be the software package Ideal needs to move forward instead of sinking, and everyone will be thrilled that I’ve built something just for them. Undermine peoples’ natural territorial feelings by carefully soliciting an invitation into their territory.