I run a consulting firm by the name of Linux Prophet in San Diego, California. Actually, I am Linux Prophet. I design and build Beowulf-type clusters for biotechnology and academic clients. Linux Journal asked me to share some perspectives and advice that I've gleaned from being a one-man Linux show. I was more than happy to oblige.
People interested in building a consulting company around Linux should come to grips with the fact that, to the rest of the world, Linux is not a no-brainer. Not yet. What I mean by that is, believing that you will be given a contract “because Linux is cool” is simply boorish. You need to be able to explain in painstaking detail why a client should use Linux. Educating people about Linux, and open-source software in general, is an important part of my job. And the Linux edification, no sermons please, often isn't enough to land a contract. “Why is that?” you ask.
It's because you won't be preaching to the choir when it comes to landing a contract. The decision makers won't be Linux zealots or even know what Linux is. And even if the people you are negotiating with have heard of Linux, they won't care about price points, monopolies, the morality of software ownership or world domination. They will demand high performance and reliable solutions. Period.
Why don't they care about price? Well, for one thing, they are used to being gouged by other proprietary frameworks. Secondly, serious players know that you get what you pay for and that there is no such thing as a free lunch. So harping on the fact that Linux is free may send up some red flags to potential buyers and/or lead you to underbid for a job. Emphasizing free as in freedom, as opposed to no- or low-cost, can potentially avoid this. Monopolies? Last time I checked, the judgments and appeals process hasn't prevented people from purchasing or upgrading the most popular desktop operating-system software. Call Microsoft what you will, they are entrenched in most institutions and won't be disappearing overnight. Morality? Regardless of who your potential client is, they won't see proprietary, or any other software, as evil incarnate—except maybe spamming software. Open-source zealots aside, I have yet to meet anyone that thinks free software is a moral imperative.
What's my point? My point is that nobody hires me for the sake of Linux. They hire me because I do a great job. I use the best tools available to deliver a solution, open source or not. In Beowulf-type clustering, the best tool is Linux.
If this sounds like a jaded perspective, maybe some backstory will help explain.
My history with Linux began a few years ago with my foray into bioinformatics. Bioinformatics, aka computational biology, is essentially the extraction and organization of knowledge from the reams of protein, genomic and other available genetic data. When I decided to leave the wet-lab bench and concentrate on a career in computational biology, I pondered on the toolset I would need to transition into bioinformatics. That's when I was introduced to the Open-Source software movement and some corresponding tools like Perl and Linux. Perl has done all kinds of heavy lifting in several genome projects. I also realized that the questions I wanted to ask were going to require serious computational resources to answer—enter parallel programming. Clusters were beginning to gain popularity at the time, and the OS of choice for scientific, clustered computing was Linux. I slowly developed the vision that bioinformatics software of all sorts, running on Linux clusters, was going to be pivotal in the age of mining the human genome. So that's what I set out to do.
Entering the IT arena from a scientific background, and not a computer science or engineering one, has given me a unique perspective on Linux-centric consulting. If there is one bit of advice I can give about Linux consulting, at least in my case, it's that this really is not about Linux. Linux is just a tool. Sure, it's a turbo-charged, nitro-burning, funny-car type of tool, but a tool nonetheless. It's not a solution in and of itself. When you think about it, I'm really a bioinformatics consultant. Parallel programming, the human genome project and computational biology existed, overlapped and got on with one another before Linux hit the scene. And these pursuits are still in no way dependent upon Linux. It's only very recently that Linux clusters have become the premier tool in these fields.
What I'm getting at is that in order for individual Linux consultants to be successful, they need to provide some service, other than distributing Linux propaghandi, and solve specific problems. Flex your expertise as a streaming-media expert, system administrator or Apache stud; do a great job; do it with Linux and do it better than the next guy implementing that other OS. The idea is that you leverage Linux to make you the best streaming-media expert or Apache guru around. Now this may lead you down a path that ends in Linux omniscience and god of all things Linux. That's great. It's just that no one person can really start there. Start with what you know, and hopefully, probably, Linux can help you do it better. If you don't know your job, or can't address specific problems, then nothing can help you.
Everyone is different, and running your own business isn't for everyone, so I'm not going to recommend a one-size-fits-all solution on how to start your own Linux business, should you decide to do so. But I will say a few things: 1) seriously consider starting out part-time or working for a systems integrator like VA Linux before you take the solo plunge; reading books is in no way a satisfactory preparation for the many intangibles that you will experience when doing business; 2) if you start off on your own, make up your mind from the start as to how you will bill your clients. Even if your decision is to consider two options, limit it to those two options and don't waffle; 3) and if you decide to charge per diem; $1,000/day is a good number to start with. It may sound like a lot of money, but if you're running a solo business properly, you will only have about 20 billable hours a month. And approximately half of what you bill out will go to cover overhead. You also need to take into consideration that you won't always be able to bill that many hours a month, or be working on a contract at all, which leads us to the adage, “I'm not unemployed; I'm a consultant.”
Starting my own business was a great way to scratch my bioinformatics and Linux itches. I know that I'm making contributions to both genomic research and Linux advancement. It's tough going, but nothing worthwhile has been easy for me. Oh, and did I mention that I love every second of it?
- Brent Laster's Professional Git (Wrox)
- Machine Learning Everywhere
- Own Your DNS Data
- Smoothwall Express
- Bash Shell Script: Building a Better March Madness Bracket
- Returning Values from Bash Functions
- Simple Server Hardening
- From vs. to + for Microsoft and Linux
- Understanding OpenStack's Success
- Tech Tip: Really Simple HTTP Server with Python