Tuesday, March 20, 2012

Write Once Memory

I used to work with a colleague who I believe had what I liked to call 'write once memory'.

Basically, once they had been exposed to an idea or a solution, it was learned. Straight away. Which is great, really, in that you never have to go back over that stuff again. In theory. Unfortunately, there was also no way to retrain the concepts learned. Which, generally, is quite useful, too.

I remember one time when this person was working on a particular section of the web application that we were co-developing. Working on a particular page that, when reloaded, threw a web server error.

Straight away, they got up out of their seat and proceeded to restart a totally unrelated data service, because they had "seen that error before and it's the data service that causes it".

It wasn't until I walked out of the room and sent them the line from the web application's error log to show that, no, really, it was in the file that you were editing, that they would even *consider* the possibility that it was their mistake. This was not because of some egotistical mindset that refused to accept that they may have been wrong... it was simply that "I've seen x do y before and so when I see y, it must be x".

I know that sounds like an isolated incident, but time and again this person showed me that once they learned a connection, that was it for life.

It was odd and frustrating.

But it did teach me one thing: to this day, I try my hardest to ensure that I've given a problem the best assessment possible before going and making hair trigger attempts at resolving it. Along with this, I always try to work out the cause-and-effect relationship of what I type and what I ended up seeing.

Who knows... maybe I can use those assessments to realise how much I actually learned from that colleague of mine.

Tuesday, March 13, 2012

What You Sell and What They Buy

So this post may be rambling. I apologise in advance...

My dad was a pretty good business man. I, honestly, didn't care too much for 'being in business' as a kid but I did try and pay attention to him. When I was in high school, he started talking about a book called "Behind the Arches", which is a fairly hefty book about the McDonald's corporation, right from the start of it.

I learned lots of interesting tidbits from that book, but the basis of one story sticks in my head. Because this is all looking back a *long* time I really can't remember the specifics but basically it came down to this: when explaining the process of the business to some students, they were asked "so, what business is McDonald's in?". The answer that was given was "fast food".

That answer was wrong.

You see, while McDonald's might be selling burgers, it was said, it's actually in the business of real estate. This is to do with the fact that the McDonald's corporation tends to own the real estate that most of the franchises are built on. A good portion of the income of the McDonald's corporation is from drawing rent, basically. When the time comes (theoretically? :) ) that the franchise is no longer making money, all of a sudden McDonald's has land to sell. And it has a *lot* of land. In a *lot* of high traffic areas.

What you sell is not necessarily your business.

One other bizarre scene from my life has stuck in my head, and it basically talks about the flip side of this little statement. I was at a town hall meeting once (actually, again while I was in high school) and it was attended by a gentleman from the Rocky Mountain Institute. He was talking about renewable resources and recycling etc., looking at it from a "this is good for business" point of view.

He talked about how companies were beginning to realise that what people are buying is not the product, but what the product provided. From there, these companies were realising that leasing products was viable and finally, therefore, the more they can reuse product the better.

There were two examples that I can remember. Firstly, there was the carpet company that realised that people that outfitted office spaces *really* didn't want to buy carpet: they did, however, *really* want to buy the fact that floors weren't hard and cold. This led the company to actually lease carpets, which then made it all the more financially wise to be able to reuse at much of that carpet as possible. The outcome was carpet that could be fed into a wood chipper, for all intents and purposes, and to be able to use 100% of the result to remake new carpet.

The other example was a company that made lifts for office buildings. Again, they realised that people don't want to buy a lift. Instead, people are actually just looking for a way to get to other floors quickly and efficiently. This led to leasing the elevators themselves, which then gave the company a financial incentive to make the lifts as service-able and as reusable as possible.

So that became the reverse of the first story: people aren't buying things for any reason other than the fact that they need that thing to get a result they are actually looking for.

If a mass produced, safe and fast teleporter was built tomorrow, would anyone be actually buying lifts? Of course not. But that is not something to be scared of, even if you make lifts! Why? Because you're not making lifts... you just happen to need to right now to fulfill the requirements of the customer. Because while you may be selling lifts, you're in the business of getting people around buildings...

It's really odd that those two things stuck out to me, because I always just imagined that it was coincidence. The more I think about it, though, I really see that connection and I'm glad that I did pick up on it.

But what does that have to do with you? Well, assuming you're like me and in the IT industry, I think it distills down to something really simple: people aren't paying you to *produce* anything, they're *actually* paying you to get them a way to do something they couldn't before.

Do you really need to write up a whole framework of code to justify the price you put on a site? Not at all! They're not paying you to write code: they're paying you to get them a result.

Just the other day, I had a first time coder ask me "how long would it take me to write a web shop?". I delved a little deeper and the reason he wanted to know how long it would take was so that he could work out how much to charge! Obviously, outside of my current point, I convinced him not to write his own (like I say, this was really his first ever 'real project'), but I just suggested finding a product that already does e-commerce and basically theming it. Then when it came time to price it, he was amazed that he could charge that for such little work... until he realised that he wasn't being paid to write code: he was being paid to get results, and that result has a price on it, no matter how it is achieved.

So what's the moral? This one is especially aimed at the coders at the start of their career: the world doesn't need another framework, but there sure are a lot of people that will pay you to get themselves further ahead. You don't need to write it to justify the cost: you're being paid for information.

You might sell code, but information is your business.