Who needs SEO?

I often wonder about search engine optimization (SEO). Does it really deserve its own little separate subspace of the IT industry? First, I acknowledge that almost all internet surfing/browsing/searching/whatever starts with an internet search. Therefore, it is important for all kinds of websites to show up early in internet searches and the concept of SEO is thus vindicated.

But why do so many people “specialize” in SEO? How can a company survive doing only SEO? How did SEO become an entire industry? The first two questions are easily answered: People are willing to pay for it. As to how it got to that point, the third question remains unanswered to me.

I have tried to search online to figure out what is so hard about SEO. In some forums, like in this webmasterworld forum post, some people say that anyone can perform SEO while others say that SEO is definitely worth the money. Other places, I only find vague descriptions about why SEO is not easy, e.g. in a search engine optimization journal blog post.

The biggest problem with SEO is, in my opinion, all the many “SEO experts” that have come out of the blue and advertise themselves with fancy words like return-of-investment and number one rankings on all search engines. Google even warns about this in an excellent support answer about SEO. Of course there are people that have certain skills and might even be worth hiring for improving online business. But I think that SEO also has so much hype these days that it is difficult to know exactly what you get.

Maybe I am just blissfully ignorant to the wonders of SEO. Maybe that is why this blog has so few readers. But at least I am (currently) ranked fourth on Google when searching for “thought flow“. Whether that is due to the 15 minutes I spend on SEO for this site or the fact that thought flow is not a common search term, I do not know. But I did not pay $1000 for it.

Added since original post:
The world’s shortest guide to SEO

Guess-driven development

A few days ago, I received a link to a blog post called some lesser-known truths about programming. Among other things, it states:

Bad programmers spend much of that 90% debugging code by randomly making changes and seeing if they work.

Patrick, my business partner, jokingly calls this Guess-Driven Development and I now take the liberty to publish the term in writing. I will admit that I have fallen for this type of development quite a few times. But now I have started to wonder: Where is the fine line between guessing and exploring?

When faced with a strange bug or error in some system, we are taught to use e.g. a debugger and over time, we hopefully become more adept at solving bugs. But sometimes (many times) I have solved a problem by almost randomly trying out different solutions. So is this guessing or exploring? I don’t have the answer.

Maybe I should have listened more carefully in Software Engineering class?

Sleepy time

“When you start a business, you have to work all the time, you just have to. Every waking hour.”

Bullshit. But I hear stuff like that all the time. So many times that I almost started believing it myself. But that does not make it true. Also, sleeping is kind of taboo. The inspiring book Rework breaks with this taboo and so do we.

What is the single most important thing for a software developer? Concentration. You cannot concentrate if you are tired. You are tired if you do not sleep. You do not sleep if you work all the time. You work all the time because you think it makes a difference. But you cannot think because you’re tired. So go to bed.

Passing the torch

In the software industry, I believe there is often a somewhat strenuous relationship between developers and salespersons. Yet, there is often a perceived symbiotic relation between them. The developers develop and the salespersons sell. One couldn’t exist without the other.

So far so good. Let’s assume (and hope) for a while that a salesperson is actually better at selling software than a developer. That’s good, right? The developers can focus on development and the salespersons can focus on selling. Everyone’s happy. Where does it go wrong then? When the salesperson also decides on new features.

Features sell. Promises sell. The more a salesperson sell, the more successful he/she will look. After a salesperson has successfully sold a new feature, the torch is passed over to the unknowing developers who can do nothing but nod their heads and start implementing the requested features. After all, the features have already been sold.

Now, most things are — fortunately — possible to do. But there are still at least two problems:

  1. Salespersons cannot give accurate time estimates because they do not know what they are talking about.
  2. Developers get frustrated because they do not really want to implement some salesperson’s idea and then the famous torch gets passed on to someone else.

It does not have to be like this and I know that in many companies, developers actually have a say in what features are feasible to implement. But I have a feeling that as soon as a company grows and the distance widens between developers and salespersons, problems will arise. That’s why we do not necessarily want to grow — at all.

Hmm, I actually wanted to write a blog post about how awful it is to be disturbed in one’s work due to supporters with frustrated customers on the phone. But there you have it. I added supporters to the rant in one sentence.

I need to laugh more.

Licenses continued

Well, kudos to Microsoft for their Bizspark program. It is intended to help small business by providing free Microsoft products. It’s a good way to try and get developers to start using their products. Thanks to that, I now have access to Windows and Visual Studio for free. Our intentions are still to use all open source tools by the end of our first year but for now we are forced to work in the a-bit-too-feature-rich-and-slow Visual Studio.

That’s life.