Rob Eberhardt's Corporate-vs-Consultant post has prompted me to talk about my experience with self-employment vs. employment.

I did the self-employment thing from 1999 to 2003.  I was single during most of that time, and had no kids.  Then I came to work for Business Integration Group.  BIG was at around 10-11 people when I joined and now we're a little over 40.  I'm now married with 2 kids.

I can't imagine going back to self-employment.  I worked like 50-60 hours on a good week, 100+ hours on a busy week.  The pay was so inconsistent that it was not lucrative.  However, I admit that I am a BAD businessperson and a marginal PM.  I committed to too much work and didn't document deliverables.  So I'd end up giving a client $20K worth of work for $12K cash (paid 3 months late) a lot of times.

Working at BIG is great.  The HR director and the VP of Business Development (sales guy) are the only non-billables.  Even the 2 owners are billable.  So that really prevents the feeling of "working for the man."  And I work a lot less hours now than I did when I was on my own.

When I was self-employed, I thought I had it made.  I could use whatever technology I wanted and I didn't have to justify it to any non-technical boss.  In fact, we released a quarter-million-dollar ASP.NET application for Procter and Gamble while .NET 1.0 was still a release candidate.  To do this, we had converted our 40% complete ASP project to ASP.NET during Beta 1.  We then of course had to rework the whole thing again when Beta 2 came out and changed a ton of stuff.  Talk about bleeding edge!  No one else was putting out applications of this size in ASP.NET.  I felt like a genius.

Then I took the job at BIG because I couldn't pay bills anymore.  Being recently married, paying bills became a priority.

My first day, Beth greeted me and said, "you're going to be working with Jess; he knows everything!"  My heart sank.  I was going to be stuck working for some dweeb that didn't know anything about ASP.NET; yet he'd found a way to convince the bosses that he was an expert.  I'd be stuck doing everything the wrong way even though I really was an expert at this stuff.  This was going to be hell.  What have I done to myself?

Well... it took me about 6 weeks to realize 2 things.  One: Jess really does know everything; I don't know how, but he does.  Two: I know very little.

When I was self-employed, I had one development partner.  He and I thought alike on almost every problem.  We would make minor changes based on the other's improvements, but we were never challenged to think differently.

During my 5 years at BIG, I've found that there isn't anyone here that I can't learn from.  I realized this during my 2nd year at BIG.  I was leading a team of about 15 developers (including some from the client), and at least one of them taught me something new every single day.  The team I have today continues to show me new tricks constantly.

Also, I worked from home full-time for about 5 years before coming to BIG.  But I cannot imagine working from home full-time again.  Being in the office with all of these folks fosters some amazing things.  We have so many ad-hoc whiteboard sessions and discussions that I don't see how a virtual office could ever produce the same results.

BIG is fortunate that we have a very smart group of people here, so I know that I wouldn't find this environment everywhere.  But as each year has passed, I've realized that I know a lot less than I thought I knew the year before; and that's a good thing.  There's no better way to grow your knowledge than to realize how many gaps you have to fill.