The Joel on Software Discussion Group (CLOSED)

A place to discuss Joel on Software. Now closed.

This community works best when people use their real names. Please register for a free account.

Other Groups:
Joel on Software
Business of Software
Design of Software (CLOSED)
.NET Questions (CLOSED)
TechInterview.org
CityDesk
FogBugz
Fog Creek Copilot


The Old Forum


Your hosts:
Albert D. Kallal
Li-Fan Chen
Stephen Jones

Is it better to be a consultant or stay with a company?

Like my nickname implies, I'm a recent grad who's been doing programming for about two years; during that time I've worked for 2 different companies - one was a non-IT shop where things quickly turned dysfunctional and I found a new job after a couple of months, I'm at that second job now and I do Asp.Net mostly.

A couple of friends keep telling me that I should look at striking off on my own and becoming a consultant; there's a lot of smaller businesses in my area that might need programming services.  My friends keep saying that's the only way to make "real" money in software, and that I'm being silly for wanting to stay an employee.

I haven't given it much thought, if any, to being a consultant... it seems like a truckload of extra work for not enough benefit... mainly because from what I've seen in my short time as a programmer, it often takes a while to hash out and develop any complex system; if I was consulting for a company I'd have to focus all the time on doing their work, while at least with a regular job i can go home at a point and do my own stuff.  I'm not really sure if consulting is what I really want, I think I'd be happier working for somebody else (that way I don't have to worry about the details like payroll or that sorta stuff) but working up the ranks and becoming a team lead or development manager or something.  I told this to a friend of mine and he laughed at me and said that I don't have the drive to be successful, and I'm going to be a "cubicle monkey" the rest of my life because I'm not willing to start my own business.

Is there something "wrong" with a developer who doesn't have the idea of having an mISV or consulting business?  Like I said being a consultant seems like a lot of extra work without that much gain; you still have to do software stuff, but now instead of dealing with a single domain you have to potential know an infinite amount of domains depending on your client(s), not to mention that you also have to know how to deal with payroll and accounting and things like that.  It doesn't seem like it's a better career choice - the only good part about consulting would be that you can make your own hours and do something like spend the day at a Starbucks or someplace with free wi-fi working on client programs.  That doesn't seem like that great a benefit compared with all the additional stuff you have to know.

What do you guys think?
Unsure Recent Grad Send private email
Wednesday, May 27, 2009
 
 
Sooner or later the decision will get made for you. Things change. You've got a bird in the hand right now. Milk it for all it's worth while you've got it but be prepared to go independent at any time.

Start thinking right now what you'll need to go solo. You'll need knowledge and connections and some savings too. Start putting together all those things now.
Rowland Send private email
Wednesday, May 27, 2009
 
 
It's really a security thing.  What do *you* personally feel comfortable with?  I've been on the fence for a while now.  I work a day job (senior eng / tech lead), but also do my own stuff on the side.

Corporate life is a lot of BS.  How much time is wasted in meetings?  Dealing with bureaucracy?  Generating emails?  Most weeks, I often produce more email than I do code.  Is this nonsense really necessary?    I'm not convinced it is.
Bill Anderson Send private email
Wednesday, May 27, 2009
 
 
Also, the "extra" stuff you have to deal with is really minimal.  Get an accountant, buy a copy of Quickbooks to keep track of your expenses (save the receipts), and track your income.  You pay quarterly tax payments, and some extra forms at the end of the year.  (Your accountant will figure that out.)

It's actually worth it for the 30% virtual discount you'll get on all your "business expenses", like new computers, phones, books, software.

Payroll? If it's just you and you're a sole proprietor, there is none needed.  Drop the checks into your account. It's ALL YOURS until the next estimated tax payment.
Bill Anderson Send private email
Wednesday, May 27, 2009
 
 
Well, there are a number of issues to consider.

"Consultants" are mostly thinly disguised temps. You'll be lucky to have a 401k at the body shop renting you out, and for most body shops, when the contract is over, there is the door, don't let it hit your butt on the way out. It's a good way to get a lot of experience doing a lot of different things. Now, in 2009, my friends who are perpetual contractors are having a hard time getting refinanced because they're not regular employees (one hasn't been an FTE for more than 15 years).

>Is there something "wrong" with a developer who doesn't have the idea of having an mISV or consulting business?

No. Not at all. Starting your own business is like how a lot of folks in LA think that they've got a script that the movie studios want to see, or that they're the next big actor/actress just waiting to be discovered. Running a business takes a completely different skill set than being a developer. Not everyone has it. Many folks think that if you're a good cook, then running a restaurant would make you rich. Nuh uh. Running a restaurant takes management and accounting, along with very tight controls on the operation. Being a good cook, or having good recipes is a distant issue.

>My friends keep saying that's the only way to make "real" money in software, and that I'm being silly for wanting to stay an employee.

Perhaps you need better "friends." If you're putting the max into a 401k each year, then you'll most likely be richer than those guys who wanted to hit it rich in Vegas, or in their mISV, or in *your* mISV when it takes off. And I *do* recommend putting as much as you can afford into the 401k plan at your office. Especially when you're a youngster and have a very long time for interest to work its magic.
Peter Send private email
Wednesday, May 27, 2009
 
 
Also keep in mind that as an independent consultant, you'll have to spend some % of your time hustling for work.  It's unlikely you'll be able to find 40 hours of billable projects each and every week of the year.
Jason Send private email
Wednesday, May 27, 2009
 
 
I've spent 10 years avoiding consulting work.  However I work with guys who have been at the same consulting job for 5+ years and are basically making double what I make despite being at  a lower level than I am.  They don't have to go to any company meetings and in fact management is much more conscious of wasting their time. 

But they are all on the chopping block for layoffs, all the time.  At least they'd have to pay to get rid of me.
Sassy Send private email
Thursday, May 28, 2009
 
 
Unsure Recent Grad > A couple of friends keep telling me that I should look at striking off on my own and becoming a consultant; there's a lot of smaller businesses in my area that might need programming services.

I would suggest that you keep your day job for now, and get in contact with those businesses to check what problems they currently have that aren't (well) solved by software.

That way, you don't take any risk: You still have a job, and it doesn't take much money to study a market in you area, so what do you have to lose?

The "(well)" above is meant to emphasize that it's not because a product exists that its users are necessarily satisfied with it. It could be that it's too slow, too expensive, lacking some useful features, or that the service provided by the company isn't good (eg.  not really paying attention to its customers).

Ideally, you'll find
1. small problems, ie. it won't take years of development before get some feedback/revenue out of it
2. that you can solve on your spare time
3. your solution saves hours of work every day/month for a business, so it's easy to show prospects how much your solution will save them money or make them earn more (money talks)
4. you can sell this software as a montly subscription, so they're free to quit any time (no lock-in), and you don't have to worry about convincing them to buy new version every so often to keep the money coming in like MS has to do (and has a harder and harder time doing it)
5. while this tool saves/makes a lot of money for your customers, this subcription is cheap for each individual business (big bang for little buck), but if you manage to sell the exact same product to 200 customers: $50/month * 200 customers = $10,000 in sales, and, thanks to the Net, with very little expenses to distribute/maintain.

> My friends keep saying that's the only way to make "real" money in software, and that I'm being silly for wanting to stay an employee.

+1. A friend of mine has been working on a Facebook-style social site for four years now. The idea for the site wasn't his: The original site that gave him the idea wasn't well done, the guy doing it wasn't interested in making money from it, and my friend saw that there were some potential there.

His employer agreed last year to have him work only part-time, and he quit last month to work full time because this site is generating monthly sales of $50K, while his expenses are pretty low (a few hosted servers and his salary).

And the beauty of selling (standard) software, is that 1) you do the work once but sell it many times, and 2) since it takes time to learn a new tool, people actually prefer that you don't add new features too often, which means that the money keeps coming in without any or much work.

And thanks to the Net, your customers won't even know you're answering their calls/e-mails while sipping a piña colada from a resort in Thaïland or in the Bahamas. Sure beats commuting every day to the office :-)
ZeFred Send private email
Thursday, May 28, 2009
 
 
Do both.

Do some consulting on the side and if you find you get enough demand and like it, transition to full time consulting.

I would recommend doing a single side job at a time and only if you can do a great job. Each job builds your reputation (your most valuable asset BTW) and a portfolio of work.

-Chris
Chris Bennet Send private email
Thursday, May 28, 2009
 
 
Obviously if you manage to find a true consulting job, where your expertise is valued and you're not just a gun-for-hire, your situation would be different, but that's unusual.  My experience has been that if people hire an outside consultant, they frequently want to physically see the person, so coding away at starbucks is not an option.
That said, I contracted for years.  The money and flexibility are nice.  Here is the (partial) downside:
1. You will be a second class citizen at the company, which gets more noticeable if the company is more dysfunctional.
2. Your contract can and will be cancelled without notice.
3. You are often unable to speak freely.  See #2.  I have stories.
4. There is not really a promotion path. 
5. You have to interview on average every six months.
6. At some point, when you've been doing this around ten years, the difference between your annual takehome and salary+benefits gets smaller.  It gets harder to find senior level contracts.  This is the real reason I left.
7. You may have very little input into the design and architecture of what you're working on. 
8. When they run out of cubes, they will stuff a dozen contractors in a conference room, with tables rather than desks, or they'll have you double up in cubes.
noodling Send private email
Thursday, May 28, 2009
 
 
Thanks for the advice.  The main reason I'm not sure about being a consultant is because, honestly, I don't think I'm "good enough" to be able to master a myriad of potential domains in order to be able to work with any sort of client.  I think I'd much rather master a single domain (presumably at the company I work for) and rise up through the ranks.
Unsure Recent Grad Send private email
Thursday, May 28, 2009
 
 
The people I've known who've been successful consultants are that way because they've got an expertise, that the people hiring them want them to apply on their projects.

It's a little like sports teams.  The guys with the 'magic skills' are highly in demand and very well paid.  This is great for being a consultant -- a full time employee with 'magic skills' doesn't get nearly the compensation as a consultant.

However, 90% of the sports team is merely 'good', they don't HAVE the 'magic skills'.  For that 90%, being a "consultant" would be very risky -- companies prefer to have full-timers in those positions.  For that 90%, being a full-timer pays better than being a consultant (because the work is steady).  Sure, as a consultant, you might get slightly better wages and MUCH worse benefits.  But then you get laid off in a downturn.

Oh, and in InfoTech, the "magic skills" change on a yearly or quarterly basis.  And to HAVE a "magic skill", employers want about 3 years of use in it on your resume.  There's a Catch-22 here.

So, you have to be very careful when you listen to people's advice.  They probably advise you to be part of that upper 10% who make out like bandits for a while.  But that's not really your choice.

The solution to this conundrum is to work for 5 or 10 years as a full-time employee.  If you're lucky, your full-time company pays you to develop a "magic skill" that stays in demand for another 5 to 10 years.  During that 5 to 10 years, you make contacts with several people who like working with you, like what you do, and know you're the "go-to" guy for their class of problems.

THEN, you start your consulting business working as a free-lancer for those several people.

But working as a free-lancer after a mere two years of experience I would think would be VERY risky.  You have not much in the way of a track record of delivering things.  You have not much credibility in any "magic skill" -- shoot, hiring a fresh-out freshly trained in the latest buzz-word technology makes more sense in that case.  And EVERYONE wants to grab the "golden ring" by starting their own business.

Bottom line: Build some credibility.  Build a network of contacts.  Build up an expertise.  THEN get an independent contract with one of your networked people and strike out on your own.  But that's going to take 5 to 10 years of experience.
AllanL5 Send private email
Thursday, May 28, 2009
 
 
> I think I'd be happier working for somebody else (that way I don't have to worry about the details like payroll or that sorta stuff) but working up the ranks and becoming a team lead or development manager or something. 

I think you know what would be best for YOU ... you said it right there. Do what would make you happiest ... money isn't everything, and doing what fits your working style best is what is going to be most productive for you in the long run.

You can flip around what your friends said ... if you have the drive and ambition to be successful on your own, then you have the drive to be successful within your company (as long as it is a reasonable company with a good promotion path). And if it isn't, then at some point you can apply to a company that would provide you with the opportunities.

As long as you are happy in your current position, making enough money to meet your needs, learning new skills or refining the ones you have, then why fix what ain't broke? The grass is not always greener on the other side of the fence.
Larry Watanabe Send private email
Thursday, May 28, 2009
 
 
I agree with AllenL5.

It is much easier to find work as a consultant if you have a real specialty, something where you don't have so much competition.

Finding that specialty is easier said than done but some thoughts are to try one or more of these:

1) Make a habit of learning the "latest new thing".  In recent history that might include Ruby On Rails (as of two years ago and maybe even today), or the Google Android platform.

2) Learn a specialized platform in detail, like SAP.

3) Work in a very specialized area, like medical device QA, where you won't have much competition.  Load up on certifications, and network.

Right now doesn't look like a good time for someone with only two years of experience to start consulting, unless you have something extra already going for you, like one of the areas above, or something similar.
cal_programmer Send private email
Thursday, May 28, 2009
 
 
Wish I could edit posts!

Also want to mention:

Do you want to be a real "consultant", brought in for short and defined tasks and compensated accordingly, or do  you want to be a "contractor" who is more like staff augmentation.

If the latter, I will tell you that rates have not recovered too well since 2001, even in the good years like 2006 and 2007, and are just terrible right now.

If the former, start making preparations.  You have a long time ahead of you and I'm sure you are impatient, but getting ready will help you greatly.
cal_programmer Send private email
Thursday, May 28, 2009
 
 
Unsure Recent Grad  > The main reason I'm not sure about being a consultant is because, honestly, I don't think I'm "good enough" to be able to master a myriad of potential domains in order to be able to work with any sort of client.

But precisely, you don't have to be a top-notch consultant to make a living with sofware:

"He developed software for his online dating site, Plenty of Fish, that operates almost completely on autopilot, leaving Mr. Frind plenty of free time. On average, he puts in about a 10-hour workweek.

Mr. Frind operates the business out of his apartment in Vancouver, British Columbia, and he says he has net profits of about $10 million a year."

http://www.nytimes.com/2008/01/13/business/13digi.html?_r=1&ei=5088&en=ffde0f226ec76432&ex=1357966800&oref=slogin&partner=rssnyt&emc=rss&pagewanted=print
ZeFred Send private email
Friday, May 29, 2009
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics
 
Powered by FogBugz