Why I do programming

(esafev.com)

77 points | by artmare 1 day ago

19 comments

  • vijucat 22 hours ago
    Programming is in a niche in comparison to other hobbies / professions in that it is a creative process where you can repeat the experiment endlessly and without physical costs or destruction (assuming your code is not operating a robot or something in the physical world). Re-writing pieces of your code and re-running never fails to bring joy to me. Painting, carpentry, racing, etc; do not have an analogue. Producing digital art (music, for example), writing and tinkering with mathematics come close.

    Researchers in chemistry and biology may enjoy a similar joy, but I assume it is much more difficult to re-run your experiment with slightly different ingredients. One aspect where these fields are leaps ahead of code is "code producing code": chain reactions are common in the real world and in fact, probably key to the whole thing.

    • MathMonkeyMan 20 hours ago
      My first team lead ever said that what he liked about programming is that "it's all in your head" and "you can do whatever you want."
    • somewhereoutth 21 hours ago
      Yes, programming is basically crack for creative people.
  • breckinloggins 22 hours ago
    My story is similar. I’ve been programming nearly every day for over 35 years and don’t see myself stopping any time soon.

    Occasionally someone (usually at work) will ask “why do you know that?” or “how did you learn how to do that?” (where “that” is typically something outside of my direct job responsibilities).

    I’ve been programming for so long and have dabbled or seriously worked with so many parts of the computing landscape - mostly out of simple curiosity and love of craft - that I admit to being somewhat annoyed at questions like this. I have trouble connecting with the premise.

    But I don’t want to offend, and it’s not my place to judge when it feels like my interlocutor works in my field simply because the money is there. So I came up with a succinct way to answer those questions.

    “I like computers.”

    • loloquwowndueo 19 hours ago
      My answer is typically “I read a lot”. Not untrue - if they read what I read they’d know what I know. I’m no genius (pretty dumb actually) but I do like researching and learning new stuff, mostly by reading.
    • orev 17 hours ago
      > Occasionally someone (usually at work) will ask “why do you know that?” or “how did you learn how to do that?”

      This comes up a lot from business people, and I think at least one answer is because learning to program is a master class on how to break down a problem into actionable parts, while also considering as many failure and unexpected scenarios as possible. For many business jobs, that might be a full time job for one person who focuses only on one specific area. When someone trained in programming just “gets it” right away, it can be unnerving.

      I think this is one reason there can be so many disconnects between IT and Business—the stuff IT does is just so magical they can’t understand it at all, and as a result don’t care if that magic comes from a local employee, an overseas one, or an AI.

    • bravesoul2 22 hours ago
      Of course "how did you learn how to do that?" could come from a place of curiosity! There is too much in the programming landscape for anyone to even scratch the surface with their life's work.
      • breckinloggins 20 hours ago
        When this question is asked in person, though, the tone is frequently one of “WHY do you know how to do that? It’s not your job”.

        The difference is easily discernible. Online, though, I do interpret it more generously.

    • bombela 18 hours ago
      I think people are often both suspicious and impressed at the same time.

      Suspicious that you might be acting overconfident, a common issue in software. Impressed that you know so much.

      I am your cadet, and I have a similar experience. I have also converged to saying "I like computers", and "I read the docs and datasheets".

  • nntwozz 1 day ago
    He links to Bret Victor - Inventing on Principle.

    https://m.youtube.com/watch?v=EGqwXt90ZqA

    Amazing talk about programming.

  • lispitillo 23 hours ago
    Why do I program? I program as a hobby but I am always looking for an idea or concept that can be framed into programs so I can obtain wealth.

    The TFA claims "Sometimes the hardest part is maintaining focus and not chasing every shiny new thing", and I agree.

    I think you have to go beyond programming, since programming is just a tool for a higher order concept. For example design a solution to a problem.

    But I haven't find the way, yet.

    • anilgulecha 22 hours ago
      This is the most common mistake engineers make. Code is not worth anything. Solving a user's problem, which they're willing to pay for (not just any problem), is what can be converted to wealth. The intersection of these 2 is very small, and very dense - since all engineers aim for it.

      If you venture out of that region and try to discover and solve problems (and if needed use code/automation/tech), you have a surer chance of generating wealth.

    • rr808 22 hours ago
      > The TFA claims "Sometimes the hardest part is maintaining focus and not chasing every shiny new thing", and I agree.

      In a logical world yes, but often the majority of jobs want people who have experience with the shiny new thing.

  • gamebak 1 day ago
    This article resonated with me, another fellow pawn script, but I used to do mods in the old half life and counter-strike and some other hl mods. Similarily I started from ms-dos, pascal from school and slowly went to the html part. I had the impression that my programming desire just faded in time with so many jobs, but It might be what you described as burnout... who knows, but I learned something from this.

    Best of luck!

  • account-5 1 day ago
    Why I do programming, as a non professional programmer, is to make my life easier; to have the computer do my work for me. I program to automate manual tasks.

    I've stitched disperate corporate systems that don't communicate together with autohotkey. I've used powershell to complete jobs in minutes that take other people hours. I've even used MS Access for data analysis.

    As a non professional programmer I learn to use what I have access to, which you can likely see from some of the things I've used above, is not much and stuff you probably wouldn't chose.

    However in my personal life where I can follow my interests I struggle with choosing which technologies to learn. I want to learn what's going to last, like SQL for example. An example might be when I went with dart and flutter for cross platform app development, despite it constantly being said that Google will abandon. There were just too many we'd frameworks to chose from, flutter seemed like a no brainer, and it's been pretty great.

    This is a bit of a ramble so tl;dr, I learn was useful and hopefully long lasting.

  • pklausler 15 hours ago
    I get paid to implement one very badly specified but important programming language in another programming language that is painful to use and rife with pitfalls even when used defensively.

    But each year, there's Advent of Code, and I enjoy using pure functional programming to solve interesting problems in a minimal amount of code. It's fun and challenging, and reminds me of the magic that computers seemed to hold fifty years ago.

  • sema4hacker 19 hours ago
    As a high school student in the early 70's I was allowed batch access to the Naval Postgraduate School 360/67 as part of an Explorer scouting program. On the first day, I was shown how to use the 029 keypunch (in itself an amazing machine), then the hot card reader, how to wait for your 1403 printouts, and where I could get some IBM self-guided tutorials to learn FORTRAN. I could come and go as I pleased. It was like being transported to another dimension, and I was hooked on programming for life. I still program almost every day.
  • chistev 20 hours ago
    I'm addicted to programming. It's all I think about. I wish I started doing it earlier than I did.

    The idea that you can build anything.

    • fm2606 17 hours ago
      I know exactly what you mean, same but different

      I did start early at 12 y/o with a C64.

      Then trying to get drunk or laid took over and I only dabbled with it here and there. Got married, had kids, did other things and might as well say abandoned it.

      For about the past 10 years I've been doing programming nearly every day.

      I wish from circa 1993 to 2010 I had been more heavily involved with it than I was.

      • chistev 5 hours ago
        You would have been in a better place now. The possibilities are endless with programming.
  • darad 21 hours ago
    i remember when i was like 8, i used to take apart stuff like RC cars to see what's in them and if i can do anything else with them, and after i got into programming i felt like this is the best thing for me cause programming allowed me to do whatever i wanted, more than what can normally be done with computers.
  • liampulles 21 hours ago
    As someone who also loves the act of programming, I find the idea of transitioning to using AI agents difficult. Not because they are better or worse at the job, but because it shifts me into a role of writing specs and shepherding robot monkeys with typewriters. I hope I'm wrong.
    • enobrev 21 hours ago
      I also love programming. Out of curiosity (and possibly job stability) I've spent the past solid week building an app from scratch using Claude code.

      I'm overall impressed with the result. There are things I might have approached differently, and there are things I would have gotten done much faster, but the result is more thorough than I might have done it.

      I think what's most interesting is that I've never written specs to this level of detail before. I now have this series of project specs that hold every decision and consideration of this project written in plain english that's incredibly easy for any human to understand regardless of their ability develop software.

      Whether or not I keep coding this way, I think this tool is incredible for figuring out exactly what to work on and how to approach it

    • furyofantares 19 hours ago
      I love programming and I love building things and these are two separate things.

      I've been making a lot of stuff vibe coding, where I'm only talking to the agent about what I want to build, features and such. That's really cool but doesn't scratch the programming itch at all.

      However you CAN talk to the agent about code. This is a lot slower to make things than talking about features. But if your goal is to make a codebase that's easy to work with and that you fully understand and have ownership of, you can talk to the agent about code instead of about features and then work with the output rather than just accept the output.

    • loloquwowndueo 18 hours ago
      Who says you have to use AI agents? (If it’s your employer, find a new one)
    • altilunium 20 hours ago
      since i actually love the act of solving real-world problems by building programs (and not the act of programming itself), writing specs and shepherding robot monkeys with typewriters is an acceptable means to an end
  • bronlund 16 hours ago
    For me, the reason I do programming, is the wonderful rollercoaster of feeling like a god in one moment, to feeling like a moron in the next. I think I kind of got addicted to that :D
  • gavinray 1 day ago
    Wow, our stories are shockingly similar!

    Started at the same age, also learned programming mostly through SecondLife Lua and other game scripting.

    https://news.ycombinator.com/item?id=44658995

    I often wonder how much moddable/scriptable games have contributed to the developer pool.

    • lastcoyotes 1 day ago
      went on a walk through the park while meeting a dev from finland the other day, we both talked about how SecondLife, Gary's Mod, HL, minecraft, roblox, etc were all catalysts for us and our friends getting into programming aha. It felt really nice being able to tinker and experience new ways to play with friends.
  • Nevermark 1 day ago
    Why I do programming?

    Why I do programming?

    Why I do programming?

    Why I do programming?

    These are four differemt questions. With four orthogonal answers.

    You cannot truly know your deepest self until you can answer all four questions with insights that resonate and mirror your true self.

    Good luck on your unique journey.

    (Love, absolutely love, the essay/story.)

    • jasonm23 1 day ago
      I find that if you LOVE programming, all the answers are the same.
    • WHA8m 21 hours ago
      And most importantly: wHy i dO PrOgRaMmInG?
    • croisillon 1 day ago
      which of these 4 questions are answered in TFA according to you?
    • bravesoul2 22 hours ago
      Why I do programming?
  • donatj 1 day ago
    I recall in third grade coming across a QBasic program on my families second hand 286 that could read from the mouse. I have no clue how it worked looking back. Convinced however that the ball mice at the time must use little generators rather than the optical encoder wheels they truly used, and knowing generators were also motors when used in reverse, I spent literal months trying to essentially write to the mouse so I could move the mouse around the desk and spook my friends.

    This of course never worked out, and eventually I told my uncle who worked in IT what I was trying to do and he explained why it wouldn't work and we actually disassembled my Microsoft Bus mouse to see how it worked.

    Despite my disappointment, I'd learned some things about computers and BASIC in the process and frankly I was hooked.

    Here I am 30+ years later still looking for novel uses for things.

    • AnimalMuppet 21 hours ago
      If you were willing to hack hardware, rather than just software, you maybe could have done the mouse trick...
  • throwanem 19 hours ago
    Programming is modeling. As such it has all the vices of its virtues.
  • jagged-chisel 1 day ago
    > … and nearly got expelled from school for truancy.

    You missed so much school, we’re just going to insist you miss the rest.

    • chistev 20 hours ago
      They likely didn't learn to write tests.
  • shreshthkapai 1 day ago
    [dead]
  • scoreandmore 20 hours ago
    “Why I do programming”

    Because you failed at grammar? ;-) Engineers and programmers prefer passive voice, it’s endemic.

    “Why I program”

    Would be the active form.

    • Stratoscope 17 hours ago
      No, “Why I do programming” is active voice.

      An example of passive voice would be “Why programming is done by me.” And of course no one would write that.

      You may prefer “Why I program”, which is indeed more concise and straightforward. But that's a stylistic preference, not a difference between active and passive voice.

      For a similar example, consider “Why I do science”. Here there isn't a convenient way to shorten it, but it's still active voice.

      In general, for any X, “Why I do X” is active voice, and “Why X is done by me” is passive voice.

    • loloquwowndueo 18 hours ago
      He probably didn’t fail at grammar in Spanish, his native tongue. Writing “why I do programming” in an ESL evaluation may get a few points docked off but unlikely to be grounds for flunking.
    • tired-turtle 19 hours ago
      Or “X is being deprecated” instead of (the more appropriate) “X is being decommissioned”