Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling

What kind of programmer are you?

by Petras (Friar)
on May 06, 2003 at 07:40 UTC ( #255815=perlmeditation: print w/replies, xml ) Need Help??

Why do we write? Not just Perl, but why do we bother programming at all? Based on some discussions I've had with some of my fellow Monks (yeah, I'm not linking to one of them to try and save a little face!) I've come up with a few different classes of programmers and ideas why they might do the programming thing:
  1. Hobbyists: Those who program because it's interesting and when not painfully annoying it's actually a little fun. A hobbyist might think of programming as playing with really, really cool Legos.
  2. Realists: Those who program because a highschool guidance counselor told them that computers would be where all the money is (I'd bet the counselor wasn't thinking of open source at the time!). Some Realists might really love what they do, for some it might just be a job.
  3. Pure Scientists: Programmers who like to hack just because they want to see what they can do or learn something. A lot like a hobbyist, but a scientist tends to be more practical.
  4. Mad Scientist: Programmers who want to see what the language can't do. Hey, Mad Scientists might make for great testers for Perl 6, if it ever gets widely distributed!
  5. Evil MonopoliSts: Oops, finishing this one might not be civil ;) But for some programmers it's a description that sure fits the Bill.
I'm sure there are programmers who are a hybrid of these, and I'm sure others in the Monestary could add to the list. What kind of programmer are you?


Don't worry about people stealing your ideas. If your ideas are any good, you'll have to ram them down people's throats.

-Howard Aiken

Replies are listed 'Best First'.
Re: What kind of programmer are you?
by grantm (Parson) on May 06, 2003 at 08:25 UTC

    How about:

       7. Compulsive Problem Solver

    I program because I like to solve real problems for real people. I get a real buzz out of seeing people use something I built (even if they don't say thank you). I particularly like picking up problems that other people have given up on. That's why I generally use a programming language that "makes the hard things possible".

      This is an excellent description of many programmers I've met and I'd certainly include myself among this category. There is one this I do tend to find occasionally, which is that I get the most enjoyment actually solving the problem in my head and once I know the actual way of doing it I sometimes lose interest a bit. This makes it hard sometimes to really make the code I write down excellent.

      I'm not so sure that it is as simple as the above categories might suggest as I think that most people are hybrids of two or more of these types to varying degrees. I'm certainly a mixture of hobbyist, evil monopolist (circa 1-2%) and obsessive-compulsive problem solver.


      Please, if this node offends you, re-read it. Think for a bit. I am almost certainly not trying to offend you. Rememer - Please never take anything I do or say seriously.

      Nice one! ++ to you...

      I think I'll ask managemant to change my job-title into "The Solutioner".


      You've hit the nail on the head. I'm a mixture of hobbyist and compulsive problem solver. I tend to lose interest fairly quickly in stuff that I or someone else doesn't use.

      My largest project was only started and still exists because my friends and I had a need. It is now used daily and I'm still strongly developing it and adding new features. It's great; 97% of the time, seeing people use my stuff is what drives me to code.

      Have you been talking to my wife? That's what she calls me ...

      We are the carpenters and bricklayers of the Information Age.

      Don't go borrowing trouble. For programmers, this means Worry only about what you need to implement.

      Please remember that I'm crufty and crochety. All opinions are purely mine and all code is untested, unless otherwise specified.

      Thank you :)

Re: What kind of programmer are you?
by perrin (Chancellor) on May 06, 2003 at 14:17 UTC
    I'm just in it for the chicks.

      Isn't that like going to Casblanca for the water?


      Chicks dig Perl.
Re: What kind of programmer are you?
by Corion (Pope) on May 06, 2003 at 07:45 UTC

    From that list, I have to pick :
    6. Addict: Person who feels the urge to program.
    This is of course a mix between 1. and 4., and luckily I'm even able to make money of it (although not with Perl). But I program out of the same reason spiders create webs - because they can, and it's the natural thing to do.

    perl -MHTTP::Daemon -MHTTP::Response -MLWP::Simple -e ' ; # The $d = new HTTP::Daemon and fork and getprint $d->url and exit;#spider ($c = $d->accept())->get_request(); $c->send_response( new #in the HTTP::Response(200,$_,$_,qq(Just another Perl hacker\n))); ' # web
Re: What kind of programmer are you?
by Abigail-II (Bishop) on May 06, 2003 at 12:07 UTC
    Well, I do miss a few classes:
    6. Toolsmiths
    People who write programs to solve specific problems.
    7. Professionals
    People who have been hired to code.

    I'd classify myself mostly as a toolsmith, followed by the mad and pure scientists. And any CGI work I've done the past 6 years, I only did it as a professional.


Re: What kind of programmer are you?
by jgallagher (Pilgrim) on May 06, 2003 at 07:52 UTC
    I would classify myself as a hybrid Hobbyist/Pure Scientist. I originally started programming in a Comp. Sci. class in high school, but I learned other languages (read: Perl and some less important ones ;) for the fun of it.

    Now, I have the good fortune to be in a position where I get paid to write code (as a part time job) and be in a major (math) where I can use Perl as a scientist. Earlier this semester I wrote a couple of scripts to generate all possible operation tables of an arbitrary order and check for semigroups; the only difficult parts were waiting while my laptop generated 20,000 pages of LaTeX markup and trying to explain to my class that no, it really wasn't that time consuming - yes, I really did do all this over this past weekend. But that kind of experience is apparently fairly common place.
Re: What kind of programmer are you?
by michaeld (Monk) on May 06, 2003 at 08:08 UTC

    I'd have to choose category 2, but only because the other categories do not fit me at all...

    On the other hand, I resent the opportunistic bit in your definition (the bit about the money). I'm a professional programmer (as in: it's my profession...), but I'm not in it just for the money.
    I chose to become one because I was - and still am, I'm told - good at solving problems. So it was the 'realistic' thing to do.


Re: What kind of programmer are you?
by Heidegger (Hermit) on May 06, 2003 at 07:49 UTC

    I am a web-application developer and I look at the programming activity as a profession. In your classification I would fit the realists section. If we decide to use the words scientists, mad scientists for programming, these definitions become very bloated. I think these concepts can hardly be used here. Since what we are dealing here is technologies. Programming practices can hardly expand our knowledge about the world. I view programming as a profession, or craft, hardly a science. Although I accept that my view will can objected.

Re: What kind of programmer are you?
by jkenneth (Pilgrim) on May 06, 2003 at 16:00 UTC
    I don't know if it fits in the problem solver arena, but I've always considered myself a lazy programmer. I write programs because I'm too lazy to do the things the way they have in the past. Anything I have to do more than two times I try to make as simple as possible. Building a new system? Answer these six questions. Need a report from three databases? Fill in this form.
    Also, I don't know about anyone else, but I still get a sense of shock when people actually use the things I create, usually because I realize what a piece of junk it is 3 months later.
Re: What kind of programmer are you?
by AssFace (Pilgrim) on May 06, 2003 at 16:18 UTC
    How about "Artist"?

    I was an art major in college. I rarely if ever do any "traditional" art these days - but I program pretty much 90% (or more) of my waking time.

    I feel a need to create and see output, so perhaps this feeds that? Don't know.
    Although I also am pretty compulsive about analysis of patterns - always have been - and computers allow me to do that and have fun.
    (and the stock market allows me to do that and make money too <g>)

    There are some odd things afoot now, in the Villa Straylight.
Re: What kind of programmer are you?
by CountZero (Bishop) on May 06, 2003 at 16:18 UTC

    I am a lawyer,but since there have been personal computers (even before the "PC"!) I had an interest in them and as there were hardly any programs you could buy, you had to program them yourself (it was the time of TRS-80 with a BASIC-interpreter in 4K).

    Now I still write programs, because it solves problems and saves work.

    What kind of programmer does that make me?

    It is none of the originally suggested categories, nor is it "7. Compulsive Problem Solver".

    Perhaps it is a bit like "Toolsmiths" although "lazyness" as suggested here probably fits best.


    "If you have four groups working on a compiler, you'll get a 4-pass compiler." - Conway's Law

      Just out of curiosity, do you use perl in your practice of law? If so, how? Just curious...


        I am working as a lawyer in an insurance brokerage company ("Marsh", I think they have an office in Minneapolis also) and I mainly use it to compile claims statistics. The Insurance companies send us their lists of claims for our clients and I have to check these lists against our files and finally put the figures in our database.

        As all the Insurance companies use their own formats for their lists (from freely formatted text files, over CSV-files to Excel spreadsheets) I have written a number of perl-scripts to translate these lists to a common format, which is then inserted in our database.

        These scripts also check for new records and updated records and flags them appropriately, so I don't have to go through all the claims records each time a new list is received.

        Finally I also wrote the perl-scripts to output these data to our website, so my colleagues can see the data on their screens (and they don't have to ask me to print a copy for them -- "lazy programmer" I said!).

        I also use perl to automatically access web-pages and extract data, such as lists of addresses of local representatives of Insurance companies, which we can then download on our laptops and use if we are on the road and have no access to the webpages.


        "If you have four groups working on a compiler, you'll get a 4-pass compiler." - Conway's Law

Re: What kind of programmer are you?
by insensate (Hermit) on May 06, 2003 at 16:45 UTC
    -- Doctor/Surgeon:
    As a sysadmin I mostly program to diagnose and repair issues with my environments and to monitor the health of my applications.
Re: What kind of programmer are you?
by toma (Vicar) on May 07, 2003 at 07:59 UTC
    Many of us have run into these:

    8. Accidental: I didn't mean to be a programmer, it just worked out that way.

    9. Chief: I express my creativity with extemporaneous, self-documenting code. It's not what I do, it's what I am.

    10. Day job: I'm just coding until my other deal comes through.

    11. Car support: I code to make my car payments, insurance, and speeding tickets.

    Most of us are a bundle of contradications. We don't want or need labels. It's fun to label 'other people', though. It's like trying to assign everyone to a character in a Dilbert cartoon.

    It should work perfectly the first time! - toma

Re: What kind of programmer are you?
by tbone1 (Monsignor) on May 07, 2003 at 12:28 UTC
    I pretty much fell into programming, and fell in love with it. (Yeah, that's sick, but it's a sick world and I'm a happy guy.) The funny thing is, it's almost a family tradition. My dad was a toolmaker for a diesel engine company. My grandfathers were 1) a construction worker and 2) a machine repairman. One of my great-grandfathers was a blacksmith. So I guess the build-and-make-tools gene got passed along.

    Ain't enough 'O's in 'stoopid' to describe that guy.
    - Dave "the King" Wilson

Re: What kind of programmer are you?
by Huele-pedos (Acolyte) on May 06, 2003 at 17:49 UTC
    How about the "If that fat nerd can do it, then I can do it too!" programmers?
    These are people who believed their mom's when she told them, "You can be
    anything you want" and figured that they could weasel their way into "easy
    cushy jobs as software engineers", only to find that they lacked the
    gray-matter between their ears to do the job.
    Fortunately the dot-com implosion has got ride of most of these losers.
    So there is a silver lining to the current doldrums.
Re: What kind of programmer are you?
by Heidegger (Hermit) on May 06, 2003 at 15:33 UTC
    Try looking at coding as a form of meditation. Do not burn yourself out. Sometimes I think programming has lost its mystic sense that whatever we are doing we are winning.
Lazy tool guy
by logan (Curate) on May 07, 2003 at 05:02 UTC
    Call me a realist-hobbyist. When I was looking around for a new career in the mid-90s, it was obvious to me that all the energy was in computers, and that the programmers were the ones who were driving it. I'd taken a few programming classes in school (Basic for the TRS 80, Pascal for the Apple II), and I've always been vaguely techie, so it wasn't a huge leap.

    After a few months of school, I got a job writing tools for site monitoring at a .com. There, I got into the idea of making things that made life easier. If you have to do A-B-C over and over, sooner or later there are going to be mistakes. But if you can make a tool that will do A-B-C, all you have to do is check the results, and you can spend your time on D.

    At work, this means writing tools to automate test procedures. The current project is a script which will auto-install daily builds on test servers, then trigger acceptance tests. It's a real challenge because it has to work on three different operating systems.

    At home, I user perl for processing mp3s. I have a huge collection that grows all the time. It's an easy task to edit the ID3 tag on one file, but after 100, it gets really old. Using perl, I'm able to automate a lot of the work.

    I honestly don't know if it's coding that I like or if I like having the ability to do cool things with code. I guess it's the debate between process and result: did you enjoy the building of the house or the satisfaction of having built the house? Either way, I make hard/boring jobs easy, and get paid for it. Having worked as a DJ, a pizza delivery guy, a barrista, and a programmer, I can say that programming has treated me the best. What I'd say that if spinning records paid the same as churning out code is a different story.

    "What do I want? I'm an American. I want more."

Re: What kind of programmer are you?
by Anonymous Monk on May 07, 2003 at 15:53 UTC

    A quote:

    There is one very good reason to learn programming, but it has nothing to do with preparing for high-tech careers or with making sure one is computer literate in order to avoid being cynically manipulated by the computers of the future. The real value of learning to program can only be understood if we look at learning to program as an exercise of the intellect, as a kind of moden-day Latin that we learn to sharpen our minds.
    - Roger C. Schank

    I've always thought that sums it rather well.

Re: What kind of programmer are you?
by gri6507 (Deacon) on May 06, 2003 at 16:58 UTC
    Would an enthusiast be in the same category as Hobbyist?
Re: What kind of programmer are you?
by jackdied (Monk) on May 07, 2003 at 21:56 UTC

    The practical:
    I code because it gets things done. For my proprietary source, it makes money. For my open source stuff, egoboo.

    The esoteric:
    I like being a language nazi, I enjoy learning all the really minute features of every language. The overhead of a pointer in C++ virtual classes. metclasses in python. globs & namespaces in perl. Same thing in english, which is one of the reasons I dislike foreign languages (in high school I dabbled in latin, french, and spanish) - it is hopeless to understand the ins and outs of a foreign language without using it for ten years.

      Originally I used Perl when I had modify existing code (databases, etc). At the time I did not understand why Perl was cool. I didn't grasp it could do nearly anything I wanted, usually without major effort.

      Then I started using it for tools -- testing, build lab, and server glue. Having Perl available on 5 or 6 platforms is great stuff for portability. I started to grasp that it was unstoppable.

      Now I worship it for academic reasons...self modifying code, functional programming, etc. It's my 'fun programming' language of choice. Not only could it do anything, there was an INFINITE number of ways to do it (not just more than one!).

      If only we could slay that nefarious Java beast. Java has nothing on Perl. Nothing.
Re: What kind of programmer are you?
by Juerd (Abbot) on May 06, 2003 at 19:40 UTC
Re: What kind of programmer are you?
by revdiablo (Prior) on May 07, 2003 at 02:53 UTC

    Excellent node. ++Petras.... I just have one nit to pick. :)

    I don't quite get why someone mainly in it for the money is a realist. Is a paycheck the only thing that matters as 'real'? I doubt many people here would agree to that statement, but that's what I infer from your label. Perhaps I'm putting far more thought into it than I should, but it's something I feel I should bring up.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlmeditation [id://255815]
Approved by Corion
Front-paged by Acolyte
SuicideJunkie replaces stale cookies with fresh on the platter on the sideboard.
[SuicideJunkie]: So, possibly interesting thing; I had that script which was using more than all the ram to open an absurdly large spreadsheet. I set it up to spin overnight nightly, so it stopped releasing memory since it was never fully exited.
[SuicideJunkie]: Didn't expect that to be a problem. There's plenty of disk space for swap, and the memory space would be reused the next day. But apparently virtualbox dies with a guru meditation when there's no physical memory unused on start.

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (3)
As of 2017-04-26 22:44 GMT
Find Nodes?
    Voting Booth?
    I'm a fool:

    Results (491 votes). Check out past polls.