Yesterday I decided to write something about running or working in different kinds of technical jobs. Using my experiences (good & bad), I tried to give a view on the kind of jobs and skills required to fit in the kind of companies I ran and run. Hopefully it is interesting for people when finding a business to run or job to fill.
This is the second part of ‘my story’.
Big software services
The company will be selling big and ‘expensive’ custom projects to medium and larger companies. Projects will be quite massive ‘enterprise’ projects with a lot of integration with existing (other ‘enterprise’) systems.
Your clients are among the larger companies in your city or state (if you are really big in the whole country) and they will have vast hierarchies of decision making. Getting anything done in those companies will be tedious and prone to much frustration and gnawing of teeth, especially if you have no experience with this kind of client.
The kind of clients and the size of projects affects the kind of company you are in too; it tends to be much more formal and also have deeper hierarchical structure. This also invites ‘elbowing’ to get higher up by your colleagues and it invites typical ‘fake titles’ like ‘the right-hand of the assistant of the regional head software architect 2nd-in-line’. These kind of titles give people prestige (they do, I don’t know why either) and it is a way of not actually having to promote a person but to give him a pay rise and a feeling he accomplished something while ofcourse he didn’t.
It is almost impossible to keep this kind of company small and friendly: the clients expect something very different from you than with smaller projects. They expect continues meetings and updates face-to-face, they usually expect staff to sit in their office (usually in suits). This will suck up massive amounts of time for a lot of people in this kind of company. However there are a lot of people liking this kind of sado-masochistic stuff.
The focus of this company is to get highly trained professionals on board who have stronger communication skills than technical skills to make sure that if a project is failing, our company does not get the blame. Many blame-hierarchies are set up in this company to shove crap to other people all the time. There is not much to do about this and I haven’t seen this any different in other companies scaling to the size of building projects over $200k for instance.
Whatever your job is here, you will have to like the inter-colleague competing and the fact that most of the people are hired and made ready for careers in that company. Read some article about what that means here. Because management is needed more than technical skill, you will become a manager or you are phased out to the basement over time. And if you hate management (as I do) , you are not in a good position in this kind of company. Except if you are a highly regarded technical guru.
Projects are long and technically not very interesting; the technology used is usually ‘enterprise’, which, in my experience, means that it really doesn’t work that well most of time, but that it costs > $100.000 in licenses to get started. These licenses are paid mostly for the huge machine running behind it, but I’ll get back to that later.
As a programmer, you need to be prepared to sit months and months at a client; it is as if you have acquired another job with different colleagues with every projects. Project managers have the same, but they usually manage more than one project. You have to have pitbull mentality to have a good time in this kind of outfit. Some people like that.
Being a CTO can be interesting at times, but usually, again includes long meetings with clients to talk them into picking a technology or direction which your company is most proficient in.
In short, the main difference, as I see it, between this company and the smaller sister is that the focus here is much more keeping the client happy with blabla than technical prowess. In the small services you can simply wow an unhappy client with a bit more features (simple to build, but nice eye-candy for instance) or appear to work more clever on a software project, while in during the big projects, you find yourself talking to bunches of people 80% of time instead of doing any ‘real work’ (yes I am biased).
Personally, as you might have guessed, I am really not interested in this kind of company. I find the projects much to long and not interesting. You get to make 5% new stuff and 95% testing the integration of Cobol mainframe calls from the website you made. This you’ll be creating using ‘enterprise’ software for which you need a zillion teraquad super computer with XP/Vista (as most of clients for this kind of software do not run under Unix) and even that will run slow. Most clients will have a CTO or technical leader which knows next to nothing and who wrote a few guidelines for project management and software development which makes no sense at all, but you are required to follow them anyway.
My company is making the transition from small to big projects (doing it calculated) and while I stepped back from management (because of the above), I see, as shareholder, that many of the staff are actually liking this kind of thing very much. It is security; you have a project, you live + breath that project. You don’t have to learn, grow or worry about anything except that project and that project is your life for 6 months to a year. If you like this warm, fuzzy blanket of security and, especially in the programming/administration/consultancy area, a mostly stress less experience, than this is the place to go.
Small hosting services
A small hosting business is much easier to start than any of the businesses discussed before; it is, with the use of hosting panels like cpanel or plesk, quite easy to start a hosting outfit. Getting the clients is the most difficult. And (please see this as a warning if you are planning to start such a thing) when growing, you will notice you cannot handle any technical problems if you cannot handle them yourself or if you don’t have staff to handle them. Cpanel is a bit of a deception in that; without prober Linux (or Windows) knowledge, you will get in trouble as you grow.
Your clients can be anything from consumers to small business to medium business. Probably you will not see the larger businesses coming to you, but it is possible (we hosted a few sites for a fortune 1000 for instance).
Small hosting businesses these days are usually run from home and via internet. They are quite virtual; you don’t need anything to run them. If you have a few rented servers and a site you’ll be up and running. However, personally I would suggest you do get your own physical servers in your city, as there are things that can go wrong which remote hosting companies might not be able to fix or address.
The growth in this kind of company comes from word of mouth and from just running the best hosting business there is in the world. Keeping it small and profitable is very important, as you are running a dog and pony show here. Having some good client handling skills and some even better administrative skills can go a long way; clients will learn to love you and they will move everything over to you. 80% of our profit comes from 10% of our clients. We could just cut the rest away, but ofcourse that is not how it works; every good review, every positive message on the internet counts.
Small hosting is a great business and you can make a very nice living with it, but you’ll never have the funds to really scale. You need to decide on metrics like; when I reach $3000 profit/month I will quit taking new clients. Depending on your skills you adjust this amount to include a staff member. But basically running this kind of business with a 1000 clients would mean you will be doing everything yourself or with one colleague.
I know a lot of these kind of businesses and they all look the same: 1 to 3 person outfit having about 1000 clients, making $3000-$6000 profit per month. It is very fun to be in, but you need to like working long hours sometimes (when a server goes down in the night, you’ll be fixing it) and you need to like risk-taking.
If you are a programmer or webdesigner, you usually have nothing to do with this kind of company, however, if done right, there is a lot of spin-off from the hosting clients. They might order anything from complete site designs to projects from you. This is how my small software business gets most of its clients.
Big hosting services
When a small hosting company continues growing, the clients get bigger and the amount of hosted sites / clients grows. It becomes inefficient to rent servers and clients are going to expect you to build custom set-ups like clustering, load balancing, fail over, SAN/NAS setups and so on. This is an entirely different business than the nice, working from home, hosting business. However the upward potential and profit margins can be much higher.
Your clients are still from all walks of life, but they become bigger over time. You are now well known for your services and bigger companies start to notice. This kind of company no longer has a few servers rented, but has racks or cages with racks full of leased or bought (if you can pay upfront) servers. The company needs admins, programmers, project managers, sales people and so on.
Your colleagues are, unlike a big software services firm, hard working techies who know a lot about their field. Even the sales people can usually be caught saying something very intelligent about crazy stuff like InfiniBand or clustered file systems.
Although everything should be set up in a manner which prevents downtime, the latter cannot be prevented. As administrator in such a company, prepare to get up at night (have the nightshift actually) and drive to cold, deserted server bunkers (giving you that nice Resident Evil feel) with your tool belt. When the company is bigger than that even, it has technicians and admins seperated, but I I (even with > 200.000 clients) do not find that needed; it is not that often something goes wrong.
While you can get great job at this kind of company as admin or programmer, there is an element of continues stress; most of the work needs to be done quickly to prevent clients from having downtime (which is usually connected to an uptime SLA, meaning your company has to pay up if the servers are down too long).
On the other hand, you have a lot of free time to read or browse the web or do anything, as, especially for admins, there usually isn’t continues work; it is more like bursts of problems requiring fixes or setting up of new clients.
For a CTO this is interesting as he gets to think up massive architectures with very nerdy tools like big servers, Cisco load balancers and firewalls and, ofcourse, storage. You can get offers out to a client to build a $300.000 set-up one week and be building it the next.
I am trying not to let if grow too large, but there are some hosting companies running like the big software services company above. Here they are usually bought by big software companies, as they are feeding them about 100% anyway. We choose not to do this at any cost; we get our own clients and do not want to get that rigid.
You can recognize this easily by counting the number of people in the office of the company and then counting the number of nerdy looking folk. If there are none, you should check the big software services company for ‘Finding your business’ as it will match up more to that and you’ll probably end up in one when acquired.
To be continued tommorrow…
[...] Read Part II Read More [...]
You must be logged in to post a comment.