Hacker News new | past | comments | ask | show | jobs | submit login
Programming is… (mrclay.org)
116 points by Concours on May 11, 2011 | hide | past | web | favorite | 23 comments

Programming is...

examining an existing problem, devising an elegant software solution, building that solution, and enjoying the results.

helping a customer define a process and improving that process with technology 100X.

building something over and over again but knowing it's not quite right until we've sifted through the output enough to figure it out and then build it perfectly.

always working on puzzles but never knowing when the lightbulb will go off. When it does, dropping everything to build the solution that popped into our head.

taking existing software that was built with good intentions but didn't quite do the job and getting it to do the job right.

changing the way a data base is structured in order to eliminate 90% of the existing code.

teaching proper technique to someone who only knows how to hack together kludges and watching them blossom.

experiencing the tension between getting really good at what you know and always yearning to learn something new.

something we never could have done if we were born 100 years earlier and may not be able to do if we were born 100 years later.

building something that never existed anywhere before except in your own mind and bringing it to reality.

doing a happy dance when something works for the first time.

A slight variation of (5): Investigating ancient code bases to discover what some long forgotten piece of code does and why it's not working as expected.

Where "ancient" is defined as: written more than six months ago or by people who have long since left.

Or more often than not written by yourself last week :)

And a slight version of yours: Learning an ancient programming language in order to investigate some long forgotten piece of code...

> helping a customer define a process and improving that process with technology 100X.

This, this right here. One of the things that I discovered over the course of my 20s is that this one particular thing gives me vastly more satisfaction than solving any of the "big problems" I thought I cared about when I was 23.

This made my day.

In my day job as a TechnicalLead/PM/sysadmin/perfOptimizer, I do all of the 'non-coding' tasks daily. I guess I shouldn't feel so bad that I do all the non-coding grunt work for my team. They prefer to just write code.

Still. I should create something of my own just to fill in the last 10%. This is #1 reason i've always felt imposter syndrome hanging around real hackers in HN who write code regularly.

Anyone else like me who doesn't quite perfectly fit into the 'hacker in a startup' role?

True there's more to programming than sitting down and writing code.

As my boss said: programming is just typing.

Then surely your boss can do it just fine by himself, without you.

Don't give him ideas.

I think it forgot one thing on the list, Reviewing off-shore code to find that it is nothing but a big pile of spaghetti code.

This is why we're now called Software Developers I think.

Should be called Process Slaves .

I wonder if we will be able to automate our job.

  One day a student came to Moon and said,
    "I understand how to make a better garbage collector.
     We must keep a reference count of the pointers to each cons."
   Moon patiently told the student the following story --
     "One day a student came to Moon and said,
       "I understand how to make a better garbage collector..."

We have successfully automated our job(s). Perhaps a bit too much, even.

>Configuring IDEs, virtual machines, web servers, databases

A lot of the things listed are things that infrastructure guys, not programmers, should be doing...

All day today was spend configuring a screen to display visual studio in a pleasing manner, turns out it wasn't the screen that was at fault.

Thats is not programming, that's just a non-exhaustive programmer's chore list.

That made me feel a little better about yesterday.

Then I took a long lunch and wrote a specification for something elegant that can be done in two days, instead of the presently planned weeks... And then I got cursed out by the boss for taking a long lunch.

(I am quite happy here, but today I feel like trawling jobs sites for telecommute Perl jobs where it is ok to be very rusty on web development.)

After graduating with a degree in Computer Science, and spending over ten years in positions named Software Engineer, I have come to the conclusion that I am doing neither science nor engineering.

Programming is... the craft of doing what you've been doing since you were eight years old, with increasing efficiency and foresight, while using complex names for things in order to sound like you're not simply doing what you've been doing since you were eight. :-)

In order to relate to your field like this, you need a lot of experience. Typical chicken vs egg :P


Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact