What consulting means to me

scrottie on 2007-08-17T11:30:04

Being able to make rules to protect my interests -- for example, I answer the phone by appointment only. Otherwise, people play tug of war with me.

None of this BS where companies pretend like you're really important, fly you down, pile money on you, and then completely ignore your expertise to the point of being hostile about it. I get paid for my expertise. My expertise keeps me from having to do pointless work and tackle impossible projects and it keeps my clients from wasting their money on them and we both consider it a good thing. Sometimes my expertise keeps me from having to do any work at all.

40 hours of programming a week is intense. Every company that hires people wants 40, at least. That leaves you sapped, unable to muster the will or strength to work on your own projects. Why the hell did you learn to program? If you're a good programmer, you probably learned it out of love, or to accomplish personal goals. You didn't start programming when you were 9 and spend your youth in front of the tube so that you'd make slightly more money than a mediocre programmer while you slave away your twenties and thirties. As a consultant, you have down time now and then, and not down time where you have to sit in an office and pretend to be busy. No guilt for playing Dungeon Keeper in the middle of the day.

Few excuses. It's purely a cash and carry arrangement. They come to you with the specs and required logins, data, and code, and you come back with a finished product. No one forcibly dumps higher priority work on you. No one holds you up for resources. No one tries to schedule tasks for you to keep you busy at every moment. No one can sabotage your own work except you -- and if they find a way to, you can make a rule forbidding the attack.

Vacation time is infinitely variable. You can work those dumb holidays. You can be a workaholic and never take a vacation. Or you can make less money and attend every wedding you're invited to.

Work late into the night. Work hard. Get your work done. Take it easy a few days. Rest, recover, work on your own things. Hard work pays -- for you, not for your employer.

Anything else is subject to the tragedy of the commons. Everyone needs to be policed and all activities justified because some people are lazy, or more realistically, because their experiments don't pan out or aren't really in the interest of the company. Everyone needs to work 40 hours because some people aren't cost effective to have around unless they're made to work a full 40 hours. Everyone has to answer the phone because some people are ineffective on email. Etc, etc, etc. Working a real job is a win if you're lazy, greedy, or unmotivated. If you're average, you fit right in. And if you're above average, the basic terms of employement and premise of the arrangement is against your interests.

-scott


What brought this about and the reply

scrottie on 2007-08-17T12:00:06


A recruiter mailed me -- unlike the last 1,000 recruiter emails, it was intelligently written and persuasive. It earned a reply. But which reply... I don't want to just say "no". Any reasonable offer will be considered. But I don't want to flop back to full-time work again as my consulting is starting to stabilize again. Last time was a disaster. But I'm really not making a living wage now...

Anyway, for posterity, here's what I have as a reply... I'll probably tone it down a bit before I send it, but first, I'm saving a copy.

---------------

Sorry for the slow response. I wanted to mull this over a bit. But I felt
that one way or another, you deserved a reply -- intelligently written emails
are rare and should be encouraged.

It's true. I'm spoiled rotten as a consultant. A company would have to make
me quite an offer to lure me away from this. But I'm open to offers. I'm not
interested in more money than I have time to use. What good is a fat salary
if you can't ski on it?

* Infinite vacation days at my descretion
* Get my work done and I can "go home early"
* Can make quirky rules, like I don't answer the phone without an
    appointment
* Veto power -- no one's bad designs or run-away ambition can set me
    up to fail on a project
* Hired for my expertise, not necessarily for my labor, so I can use
    my experience to save myself lots of pointless work and keep my
    client from wasting time and money, preserving my value

But my rates are reasonable. Perhaps Xxx Company should hire me as a contractor.

Seriously though, I don't mean to come across as *too* spoilt.
Programming is a strange beast. Most programmers aren't lazy.
Programming requires sustained intense concentration. It's hard.
And there's a heck of a learning curve. But attempts to get it
working factory style, 9-5, everyone working hard rather than
being clever, just don't work and then the programmers get blamed.
Managers *hate* clever. Non-geeks despite it. When programming,
it's your lifeline. Every algorithm documented or improvised
is a bit of cleverness. So, can you show me a work environment
where I can be clever rather than just work really, really hard?
Somewhere so resolved to hiring the best that they'll indulge
unusual requests?

Re:What brought this about and the reply

scrottie on 2007-08-17T12:23:36


And now the reply looks like this:

------------------------

It's true. I'm spoiled rotten as a consultant. A company would have to make
me quite an offer to lure me away from this. But I'm open to offers. I'm not
interested in more money than I have time to use. What good is a fat salary
if you can't ski on it?

Working in a company, there's no prospect of getting your work done and then
taking the rest of the day or week off. The primary incentive is missing --
finishing. You have no veto over ill-concieved or overly ambitious projects.
Your expertise gets in the way; companies want technical labor, with the
business folks doing the thinking. Programming is about, above all else,
experimentation, concentration, and cleverness, and management despises those
things. Without experimentation, only mediocre solutions are settled on.
It's like picking one set of numbers for an airfoil design according to
some educated guess and then not being able to change them even though the
craft turns out to be a Wright Flyer. The mentality of "we have to get this
right the first time" completely hamstrings getting it right. Concentration
means no phones and no spurrious priority changes. Every algorithm
devised -- the cornerstone of computer science -- is a bit of cleverness,
but this flies in the face of the factory production style, where a large
group of people works hard from 9-5. Lesser programming sects that are
eager to toadie to business people's perceptions of programming even
pat themselves on the back for their bold move to banish cleverness from
their operations.

Every job posting talks about the hard work as if to glorify it, the large
team that's mysteriously needed even though they're supposedly hiring smart
people, and then gets mired down in all of the organizational overhead
(waterfall method, architecture review board). "Specifications" appears
four times below.

Re:What brought this about and the reply

jrockway on 2007-08-23T03:50:58

You are so right. Programming is *not* pressing the buttons on your keyboard from 8am until 6pm. Programming is creativity, thinking, and then a very small amount of doing. If your hands hurt from a day of programming, you are doing something seriously wrong.

I call this process (of 40 hour typing sessions) "bugging", since the inevitable result is 10 hours to "bug" something and 100 hours to debug it.

"Bugs are inevitable. All software sucks."

Sure, when you have a bugger writing your software instead of a programmer.

Re:What brought this about and the reply

Aristotle on 2007-08-23T05:41:50

Reginald Braithwaite had a great post about this the other day: Bricks.

saw this on reddit

sili on 2007-08-23T12:48:51

You're currently #6...

I agree with what you're saying and I know where you're coming from. As a rule of thumb, I assume working with other people yields bullshit. Even when those people are smarter than me, it yields bullshit. You know, "solitude is the beginning of all freedom," and I don't think we will ever be left alone to work as we please, especially not in this industry. I just try to be patient enough to find positions that allow me to happily balance bullshit and accomplishment.

In the meantime, keep posting good content. Maybe the right people will catch wind of it

- Taylor

Re:saw this on reddit

scrottie on 2007-08-23T13:57:20


Hey sili!

My instinct is to find the rat who leaked the URL and punish them for it >=)

I do enjoy working with other people. I described you-know-where as being like a Perl Mongers meeting that wouldn't end. I thought that was awesome. Probably annoyed the hell out of people though. I'd have settled down in time. But I find that the collaborations that happen are of no interest to the company. To do boring company work, I have to be locked in a room robbed of stimulus. Otherwise, I'm busily trying to start a different company with my coworkers. Muahaha!!

Anyway, good to see you! Hope things are well.

Cheers,
-scott

Reddit: I'm not trying to glorify consulting

scrottie on 2007-08-23T13:36:48


Crud. The Reddit crowds are here.

Okay, look. I'm not trying to glorify consulting. Read out of context, that could seem to be the message, but really, I was just trying to rationalize not getting another proper job. That's why it's one sided. There are plenty of bad things to say about consulting too. Some of the Reddit readers flagged them, too:

* Pay is irregular
* You have to do the marketing -- and the collection work (one commenter commented that consulting, they found they didn't get to code much)
* Takes a lot more work to get your "business" to the point where it pays as well as a regular job
* Often long hours
* Deadbeat clients
* Work for a lot of startups, which tend to fold
* Piles of odd jobs for no name companies looks terrible on a resume
* I seem to spend an innordinate amount of time just keeping the crappy little home network running
* It's lonely... I miss having coworkers... when I did, it felt like I was at a giant Perl Mongers meeting that wouldn't end... it was awesome

-scott

scrottie is my muse... kinda

sili on 2007-08-23T14:33:23

http://use.perl.org/user/sili/journal/34190

And now Paul Graham agrees

Aristotle on 2007-08-23T23:06:40

Holding a Program in One’s Head – despite the title it’s more about working alone vs. working in a company, and his points are largely congruent with yours.