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
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.
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
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.