Monday, January 9, 2012

Job security and single point of failure

In software development, there is two ways to achieve highly reliable service.

The first solution is to buy the best hardware, buy the best software, and hire the smartest people to have a highly reliable server. We call it centralized architecture.

The second solution is to buy lots of cheap computing units, with cheap software that can do the same things and hire the smartest people. These units are not very reliable, but connected together, it creates highly available service. We call it distributed architecture.

Why choosing one instead of the other ?
First difference : Centralized architecture has an exponential reliability/cost curve, whereas distributed architecture has a linear curve.

Second difference : Given unlimited money centralized architecture is limited by technology, it's not the case for distributed architecture.

What is the big deal with job security ?
Let's change the labels.

When you are an employee, you are limited by the security of your company.
When you are self employee you develop your network and knowledge to cut any dependencies to a single point of failure.

It does not mean that you can't do both and keep the best of the two worlds.

Just keep in mind that if you want real job security, you have to develop something outside your company. That's what I mean by self employee.

Greater job security leads to greater confidence, leads to better deals.

No comments:

Post a Comment