Fog Creek Software
Discussion Board




Coding: Means or End?


Joel's "why would you clutter your walls at work with ER diagrams" points up something I've noticed about him - my impression is that he only codes to pay the bills and would rather be doing anything but (also see his suggestion regarding sabbaticals).

On the other hand, if I won the lottery I'd spend a lot of my time coding (just on projects that *I* enjoy). Lots of hobbies involve building things and facing construction challenges (ships in a bottle, railroads, carpentry) - my hobby is building applications. This is one reason I prefer jobs that pay overtime - if I'm gonna geek around the house, I might as well get paid for it, but I'm gonna do it anyway.

Where do you fall? Is coding a means to what you *really* want to do with your time? Or is it what you want to do, and getting paid for it is just gravy?

Philo

Philo
Wednesday, March 26, 2003

coding is it's own reward.

43yrsold
Wednesday, March 26, 2003

What drives me is building things.  Sometimes these things are useful, and sometimes they are just beautiful.

But I enjoy coding.  It is a very powerful tool to model and create.  If I didn't have to work, I'd still be doing something with coding.

Many of the things that I build wouldn't work so well without computers.  I'm finding increasingly that my non-work projects have been made easier by the use of computers and programming.

And, most importantly, of the things that interest me, coding is the best day job.

flamebait sr.
Wednesday, March 26, 2003

End.

Software is a weird biz. At first, when you are young and naive, it seems like an interesting challenge that pays well. After a while, it starts to seem not so interesting or challenging, but still pays pretty well. Then you hit the pay ceiling and start to think maybe it doesn't pay so well. Then you get to the point where you realize that if you spent 70 hours a week for the last 8 years doing something else, you'd probably be making the same amount of money, anyway...

choppy
Wednesday, March 26, 2003

Ditto on what choppy said.

This is the End
Wednesday, March 26, 2003

I don't want to appear maudlin but I started coding later in life (35) after doing many varied jobs including carpenter, Architectural design, AutoCAD operator/draftsman/scripter, Project Management...  Without question, I was built for this job and can't envisoin doing otherwise.

It's a lot like pizza and sex.  Even when it's bad, it's pretty damn good! Couple that with working for yourself and you have one friggin' happy old man!

B#
Wednesday, March 26, 2003

"Means or end" is too simple a measuring tool for this kind of thing, in my opinion.

In my case, and in the case of a lot of people that have learned an occupation or a trade, I think that the job becomes "what you do" and vice versa.

So, while you may never care to do such work on your own free time as recreation, you do gain a sense of satisfaction out of doing the work that goes well beyond the payment you receive for it.  The job's you and you're the job, even though much of the time you may feel very, very sick of it or of complexities or issues that affect your livelihood doing it.

People that know me well (for instance, my brother) tell me that I'm practically a born engineer - in my mannerisms, speech patterns, and mostly in the way that I look at life and at any challenge, basically.  I analyze, build, and fix things. My mantra, so to speak.

So, at times when I've had trouble locating new work, or I've been sick and fed up with the latest clod du jour that I've had to report to, I've tried to visualize myself in other professional occupations.  I CAN'T. I have the verbal and intellectual skills to be a lawyer but the field repulses me as being a focus of envy, anger and retribution for its own sake. Medicine simply doesn't appeal to me - I can be compassionate in small doses but not as a full time thing and I certainly couldn't deal with constant life and death choices. Sales? I've had to "do" sales to get my own services in the door, but it's a means to an end and I would rather eat ground glass than have to consistently make nice to people that are indifferent to me or to stuff that I have to sell.

So, it's both a means and an end, but the two aspects are interlocking and tangled up in a very strange way.  The "end" part is the satisfaction of jobs well done but the satisfaction is not enough, alone, to compel me to work on open source code, for instance. The "means" part is OK but conversely, this work is just too hard to do for the money alone.

Confused? I am. I'll let you know when I figure it out. Plan on not holding your breath...

Bored Bystander
Wednesday, March 26, 2003

I can relate to comments made by both choppy and Bored Bystander.

IMO, I believe programmers who do NOT build and maintain custom built software solutions for businesses tend to view programming as a means to an end. What I have found is that the business community typically has little respect for people who do implementation type of work. 

Some programmers seem to believe that simply because they are good at what they do someone will always be willing to employ them to write code.  I truly believe that many of these individuals are making a serious mistake by assuming this will be the case.

One Programmer's Opinion
Wednesday, March 26, 2003

End!

It's easy to measure the answer to this question: Do you write software in your spare time? When you're bored and surf the net, do you read about writing software?

lf programming ever stops paying, that'll be fine with me: I'll keep on writing software. Code is its own reward.

--
http://www.braithwaite-lee.com/opinions/doctor.html

Reginald Braithwaite-Lee
Wednesday, March 26, 2003

End, for me -- however, I don't write any software in my free time though I do read and post on software related sites, and often have long discussions with friends about software design principles. Guess I'm weird that way.

Steven C.
Wednesday, March 26, 2003

>>>IMO, I believe programmers who do NOT build and maintain custom built software solutions for businesses tend to view programming as a means to an end. What I have found is that the business community typically has little respect for people who do implementation type of work. 

I thought custom built software was implementation work. If not, then what is it?

bdw
Wednesday, March 26, 2003

My hobbies are mostly things that require skill and patience and take years to learn, so coding is just the hobby I get paid for. Of course getting paid for something means your work has to please others, not just yourself, which occasionally takes the fun out of it. But sometimes that actually makes it more fun and challenging.

The Real PC
Wednesday, March 26, 2003

> My hobbies are mostly things that require skill and patience and take years to learn

I resemble that remark!
What are some of your other hobbies?

Bella
Wednesday, March 26, 2003

bdw wrote, "I thought custom built software was implementation work. If not, then what is it?"

Of course it is implementation work.

What I meant to say is that IMO programmers who work for commercial software companies tend view coding as a means to an end. For instance, a developer working in the gaming industry typically gets paid to write software that is vital to the well-being of his employer. He/she may do more than coding, however, his/her primary responsiblity typically is to write code.

Generally speaking, this developer's employer values his services because if the game sucks or doesn't work properly because of the code he wrote then the company's bottom line is greatly affected.

One Programmer's Opinion
Wednesday, March 26, 2003

Mostly an end.  I was originally going to do something different with my life, and I started programming after my plans changed (long story).  I figured I'm smart and can pick it up quickly; turns out it's harder than I thought, but that's OK, it means it's not boring me.

I'm much happier coding at work than doing other stuff, but on the other hand I'm not sure I'd spend all day coding if I were a gazillionaire and didn't have to work.  I do enjoy those "Aha!" moments and elegant solutions that come up in the job, but as yet it hasn't exactly taken over my life.

However, that may be because as yet I haven't had a big and challenging enough project for me to find out what I can do.

Kyralessa
Wednesday, March 26, 2003

The act is more important than the product to me. If I didn't spend most of my time coding, I don't know what I'd do.

But: I only write software that solves problems (or that is intended to, anyway...). I know a lot of people try to write things that are amusing or nifty or hackish, but I try to do things that are useful: I was very entertained for several months writing a CD catalogger 8-} very mundane, but it gets the job done.

I'm wondering how many people that code just for the sake of coding do things because they are interesting rather than useful.

Mike Swieton
Wednesday, March 26, 2003

---"the business community typically has little respect for people who do implementation type of work.  "----

Until something stops working and needs fixing that is! The phenomenum is called "taking for granted". Particularly common in businessmen and teenagers.

Stephen Jones
Thursday, March 27, 2003

"I believe programmers who do NOT build and maintain custom built software solutions for businesses tend to view programming as a means to an end"

OPO, I'm not following you here. Please clarify - you are saying that games and OS programmers (to name two "who do NOT build and maintain custom built software solutions for businesses") " tend to view programming as a means to an end"??

Really?

Dennis
Thursday, March 27, 2003

"What I meant to say is that IMO programmers who work for commercial software companies tend view coding as a means to an end. For instance, a developer working in the gaming industry typically gets paid to write software that is vital to the well-being of his employer. He/she may do more than coding, however, his/her primary responsiblity typically is to write code."

OPO, I am still confused. Are you dissing games programmers as not really serious? Or are you dissing business programmers as masochists? Or what exactly?

Dennis
Thursday, March 27, 2003

Well, if I did not do it for a living I would do it for a hobby, but since I do do it for a living it is a means to an end - earning me money to do the other hobbies I do instead of programming.


Thursday, March 27, 2003

Opo,

I hear ya!  Employers have a real knack for taking all the fun out of programming.

Ged Byrne
Thursday, March 27, 2003

Dennis,

I am not dissing any type of programmer.  To reply to your question properly would require a rant that could easily fill a 600 page book.  ;-)

If you are truly having a hard time understanding where I am coming from, then my suggestion to you is to read a few non-programming books that target the IT worker. Below, are a few that you might find interesting:

* The Career Programmer: Guerilla Tactics for an Imperfect World

* Peopleware

* Netslaves

* The Mythical Man Month

* Rapid Application Development

* Software Craftsmanship - The New Imperative

* Answers for Computer Contractors by Janet Ruhl

* The Computer Consultant's Workbook by Janet Ruhl

* Janet Ruhl's Computer Job Survival Guide

One Programmer's Opinion
Thursday, March 27, 2003

Dennis,

You might also want to read the posting I made here recently in the thread, "What One Recruiter Really Thinks of Techies..." by Fly on the wall and the reply Nasty Curmudgeon made to my post.  Note: the posts that I am referring to is at the bottom of that thread.

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

When I read choppy and Bored Bystanders post in this thread it reminded me of a scene from the football movie North Dallas Forty.

In the scene, John Matuszak (an ex football pro who is playing a football player) has grown tired of the mind games played by Charles Durning and the other coaches on the team.
 
Matuszak: To you, it's just a business. But to us it's still gotta be a sport.

Durning: You're supposed to be a professional. You go out there and you play football.

Matuszak: Oh, $%&#, I work harder than anybody to win. But, man, when we're dead tired in the fourth quarter, winning's gotta be more than just money.

Durning: You're hired to do a job.

Matuszak: Job? Job? I don't want no $%&# job. I want to play football, you $%&#. I want some feeling. I want some $%&# team spirit!

Durning: This ain't no high school. You don't have to love each other to play.

Matuszak: That's just what I mean, you $%&#. Every time I call it a game, you call it a business. And every time I call it a business, you call it a game.

One Programmer's Opinion
Thursday, March 27, 2003

Coding can be a lot of fun. Making good money is not bad either. I guess the 2 do not exclude eachother.

It's only when working under incompetent management one has to setup her priorities: having fun while being unemployed or coding crap for a fee.

Cheers
Dino

Dino
Thursday, March 27, 2003

I made a mistake.  I took my assembly/c skills to a small  town (50k ppl) to work for a small company (12 ppl) .  Several years later the company  was no more and I had a mortgage.  There weren't any other jobs around that required my skillset, and just a couple that required access/html skills.  I really had no interest in becoming a web/db guy.  It just so happens that the owner's brother was a carpenter and needed a hand.  Did I mention that I married a schoolteacher while I was here?  So... now I mainly do remodeling work around this town and several other small towns that are within driving distance.  I've lost my big 'ol pot belly, my back problems have disappeared, going to work is really just spending a day goofing off with my friends.  I get to be outside (sometimes) enjoying the weather (sometimes).  I'm starting to get my own jobs now (I have a truck loaded with tools!).  So... I guess it wasn't a mistake.  I miss how I felt about programming when I started, but really I hadn't been feeling that great about it for the last few years.  Change of life I guess.  I was getting restless.  On the other hand I recently set up a computer system for my church and enjoyed doing that... who knows what the future will bring.

little john
Thursday, March 27, 2003

Little John - congrats on the successful transition! Always nice to hear a story with a happy ending. :)

Philo

Philo
Thursday, March 27, 2003

I do it for the same reason I ran marathons before I got into computers.

I like the "zone".  The feeling you get when everything just clicks and you are intensely focused on the task, without straining at it.  When I hit the zone, I feel like the world is right at my finger tips.  I am superman baby!

Am I the only one that gets some sort of an endorphin like rush from intense programming?

It beats working for a living.

Steve Barbour
Thursday, March 27, 2003

Steve nailed it!

B#
Thursday, March 27, 2003

Steve Barbour,
it may beat working for a living, but I sure wouldn't mind being paid to ski, surf and climb!

treefrog
Thursday, March 27, 2003

little john,

That's the greatest thing I've read in some time.  Yooda man!

For me coding is merely the means.  My best part of any project is when "I can smell the barn".  The "end" is product.  Nothing counts like product.  When it ships, risk now equals zero and probability of technical success just hit 1.00.  The means are over. 

The truly unfortunate thing about software, is that come Monday morning, rev 2.0 is just rev 1.0  - the same old code staring you back in the face.  My one regret about working for a small company is that I cannot go find something different to work on among the array of products.  I have a choice of 3.  What a thrill.

Nat Ersoz
Thursday, March 27, 2003

Coding is the reward for long months of planning and design.

apw
Thursday, March 27, 2003

My best part of any project is when "I can smell the idea and start to build the inital model in my head". It's all downhill from there. But python makes it a smooth fast ride.

fool for python
Thursday, March 27, 2003

"I like the "zone".  The feeling you get when everything just clicks and you are intensely focused on the task, without straining at it.  When I hit the zone, I feel like the world is right at my finger tips.  I am superman baby!"

Yeah but when was the last time any of you felt this?
My zone is always interrupted by: A desperate need for a report that will never be read, a request to help an incompotent co worker, a mindless configuration task, a meeting ...

The zone can't be enjoyed 10 minutes at a time.

My only current enjoyment in SW comes from writing software for my own business (non software) in my spare time, and there yes software development is fun again

Daniel Shchyokin
Thursday, March 27, 2003

ODO,

Thanks for the reading recommendations. I've read items 2-5 in your list at least a few times each.

Look, it sounds like you are saying games programmers only do it for the money and business programmers do it for the joy of it. I know a few of each and am not sure I know what you are meaning here. Maybe I am not following which is supposed to be 'means' and which is suposed to be 'end' in your view? Are you saying that 'means' people enjoy the process (the sheer joy)  and 'end' people enjoy the reward at the end (paycheck people)? Or do you mean the other way and if so what is the reasoning behind using the label that way?

Dennis
Thursday, March 27, 2003

I'm one of the younger guys on here, so there have been lots of times I've thought to myself "is this what I really want to do?  Its not too late for me to go into something else".  The thing that keeps me in the biz, is the fact that , if I go for a couple months not being pushed, not building something challenging, my fingers get itchy.  I start comming up with something for me to do.  Its great to have periods of time where I can persue other interests, but I can't stand not programming for long periods of time.  Its what I always come back to.

Vincent Marquez
Thursday, March 27, 2003

Daniel, I get to hit the zone about once a week nowdays due mostly to the exact things you describe.

That one day a week, is when I put in the earplugs, put the headphones on over those, crank up the music (I prefer Techno/Trance for programming), and tell my boss to basically go away so I can get some work done.

Sometimes you just gotta say to hell with the other stuff and get some "work" done.

Steve Barbour
Thursday, March 27, 2003

Dennis wrote, "Look, it sounds like you are saying games programmers only do it for the money and business programmers do it for the joy of it. I know a few of each and am not sure I know what you are meaning here."

Not at all. Do most business programmers find the code they write at work to be a fun experience? Perhaps this is the case for some, but I bet most would tell you that after working in the industry for X number of years that the joy or passion to code only occurs for them when they are doing something that is considered to be "off the clock".

Dennis wrote, "Maybe I am not following which is supposed to be 'means' and which is suposed to be 'end' in your view? Are you saying that 'means' people enjoy the process (the sheer joy) and 'end' people enjoy the reward at the end (paycheck people)? Or do you mean the other way and if so what is the reasoning behind using the label that way?"

Well, IMO an 'end' to me means that coding is it's own reward. That is, you love to do this particular activity so much that you would rather spend your free time coding for no pay than doing something else (spending time with your wife/girlfriend/kids, partying with friends, etc.). I would definately classify *some* of the Open Source and hobbyists programmers in this category. They love technology and writing code so much that they proabably write code in their dreams.

A 'means' - means that you do this particular activity for another reason (to support your family, because a coding position pays more than what you previously did for a living, because your job requires you to do some coding to accomplish a specific task, etc.).

Note: As others have already mentioned, the two don't  have to be mutually exclusive.

My point is that the passion to sling code typically gets beaten out of many business programmers over time OR their daytime job simply doesn't allow them to spend all day pounding away at the keyboard and the passion they once had for doing the day-in-day-out heavy lifting simply fades away over time.

In addition to coding, I have done data modeling/database design, requirements discovery and writing, documentation, project scheduling, etc. Sometimes I had to perform these activities because they were part of my job and sometimes I performed these activities because I was forced to work by myself or with competent technologists who simply didn't know how to do anything but sling code. Jonathan Goodyear (the AngryCoder) has mentioned that when he graduated from college he didn't know how to do much besides sling code and that if he hadn't had the good fortune to work with people who were willing to mentor him he probably wouldn't be working in the IT industry today.

One Programmer's Opinion
Thursday, March 27, 2003

>What are some of your other hobbies?

Bella,
One is classical guitar, another is yoga.
What are yours?
Come to think of it, I also have hobbies that don't really take practice, like reading non-fiction or bicycling.

The Real PC
Friday, March 28, 2003

OPO,

Ah ha! OK, fantastic. Right, I agree with you. My entire confusion was from the ambiguity of the phrase 'means to and end' since it could be reasonably interpreted in two opposite ways -

1.
means - as in 'the means to support himself' (paycheck)
end - as in 'an end unto itself' (intrinsic value)

2.
means - the process (having fun, the intrinsic reward of doing creative work)
end - what you get at the end of a process (paycheck, bonus)

You meant 1, I interpreted 2. That's all it was.

Dennis
Friday, March 28, 2003

"Cause and effect, means and ends, seed and fruit cannot be severed; for, the effect already blooms in the cause, the end pre-exists in the means, the fruit in the seed."                                                 

      - Ralph Waldo Emerson

Prakash S            
Saturday, March 29, 2003

*  Recent Topics

*  Fog Creek Home