top | item 8740362

Ask HN: Why do you code?

44 points| astrowilliam | 11 years ago | reply

The absolute most basic reason possible for me, I can make something out of nothing.

Even after being a front end dev for the last 10ish years it blows my mind. I can open up a blank text editor and make something that can evoke emotion in other people.

I can create beautiful and amazing experiences for people (self high 5!) around the world in just 1 night of coding.

What about you?

67 comments

order
[+] jasonkester|11 years ago|reply
It's evolved over the years:

Age 9: It's fun

Age 13: It's fun, and my parents won't buy me any games for my C64 so I have to write my own

Age 24: It's fun, and I can automate all this boring repetitive business stuff to get my work done faster so that I can play more Freecell and Tetris.

Age 26: It's fun, and The Internet just happened and suddenly everybody wants to pay me three times what I'm worth to do it. Woohoo!

Age 31: It's fun, and if I do just one day of it for freelance clients each month I can live on this beach indefinitely.

Age 37: It's fun, and if I put up a credit card form on one of my side projects, people seem to be willing to pay me money every month just to use it.

Age 43: It's fun, and I seem to still be doing it even though I could probably pack it in and live off that SaaS income.

There seems to be a common thread there. I suspect I'll still be doing it in another 10 years.

[+] iliaznk|11 years ago|reply
What's that SaaS project? If you don't mind sharing...
[+] lordbusiness|11 years ago|reply
Many reasons, best presented in list form, in no particular order of significance.

* Enjoyment. I like constructing intangible things inside computers such as data structures, and manipulating them.

* Problem or task solving. I like making tools that do things to take away burden from my and others' lives.

* Self-fulfillment. I like guitar but I'm terrible at it. I like snowboarding but I'm mediocre at that. I love rock climbing but again I'm not remarkable. I'm not very good at lots of things, but I'm pretty good at coding.

* What else is there to do? As someone who has leanings towards existential nihilism, eventually one sees no value in anything. So one might as well do something to pass the time. Writing code ticks that box.

[+] nsomaru|11 years ago|reply
When I was younger, the first real thing that grabbed me was magic (after reading, of course!).

To me, programming is like magic. It's that aha moment that you can induce in people (and yourself), that leaves them baffled and amazed (the sanskrit word for this is ascarya, wonderment).

Unfortunately, computer programs share two unfortunate aspects of magic:

    (1) The trick, once repeated, rarely evokes the same reaction in the audience.[0]
    (2) The implementation details are often mundane and boring (to laymen) when compared to the effect produced.
[0] i.e., I don't experiences moments of amazement every time I do a Google Search, but I certainly did the first time!

edit: formatting.

[+] tluyben2|11 years ago|reply
These reasons are why I need to get into new things all the time; they keep it exciting and they actually make other people to think that i'm practicing magic.
[+] BAN_ALL_HUMOR|11 years ago|reply
I enjoy writing code because I love computers. The ability to give the computer instructions that it will eventually understand and execute is the exact kind of empowerment I have sought out since I first touched MS-DOS at 4 years old.

Unfortunately, the hobby was never discouraged by my parents (constantly told to get off the computer because I was "melting my brain", being heavily pushed towards business and law related subjects etc.). Although I can't entirely blame them, the result was I lost interest around high school. I didn't rediscover my passion until about my Junior year of college (thanks to Skyrim modding, honestly).

I'm here now, and I love it. I'm currently learning C and I look forward to playing catchup with everyone who had a real head start.

[+] pixeloution|11 years ago|reply
I like solving puzzles. Often that puzzle in my world is "How do we make sense of all this data for business users" or even as simple as "How do we make this faster?".

Also, its well compensated. If this was a 50k/year job I'd have found a new career by now.

[+] bennyg|11 years ago|reply
It is a 50k/year job for many, many programmers.
[+] chton|11 years ago|reply
It crystallizes my ideas. In more than one way. It still staggers me that I can think up complicated structures that do entirely new things, even impossible things, and put them into practice using only my fingers and mind. I love architecture more than code, but code is the way to bring the architecture to life.

It also works the other way around. Code helps me think. It's rigid and exact, and doesn't allow for vagueness in ideas. It means that, when I'm coding, I'm required to think things through. It forces me to bring blurry notions into sharp focus.

And lastly, I believe it makes me a better person. Programming is a refined balancing act between abstracting and precision, between simplicity and complexity. Doing that balancing act makes me more capable of handling other situations. It trains your mind to understand complexity and reduce it, just as it trains it to see the problems with simplicity that make it more complex.

Oh, and it's also a great way to pay the bills. But I would still be coding if it didn't, I'd probably still be coding if I had to actually pay money to do so.

[+] RobertKerans|11 years ago|reply
A program is a building of thought. It is costless to build, it is weightless, and it grows easily under our typing hands.

I like the puzzle of creating fictitious miniature, living worlds, over which I [can sometimes] exert complete control. I like words and names. I like formal elegance. It is also pleasant that I can get paid to do this in a very stable, corporate environment.

[+] jpetersonmn|11 years ago|reply
I mostly code so I can save time doing things at work. I work in IT and am able to save many man hours by automating tasks. This makes me much more productive and valuable than other members of my team that don't have these skills. I'm really surprised by the lack of coding by IT people in general. At least the people I know.
[+] jekrb|11 years ago|reply
Although I love that coding is a means of creation, problem solving, and user experience. I feel that my primal reason for wanting to code isn't any of those.

Honestly, I don't even become interested or inspired to solve a problem until I experience it for myself (unless it's a job).

I feel that my interest in coding stems from the fact the I enjoy challenging conventions. I like asking why things are the way they are, and then breaking the rules to better the creation process & product.

The fact that I can learn on my own (as opposed to lectured) is what also drives me to code more. When I finally find something I want to build, I can learn how it's been done in the past, and develop my own opinions on how it should be done.

Also, coding is probably the first thing that I've ever felt I could do with my life.

[+] tluyben2|11 years ago|reply
Been coding almost non stop since 1982 when I turned 8 (birthday computer).

I like it because it's creating something from nothing. I like writing for the same reason (I'm better at programming though ;). For me the idea that I can simply get a <=$5 device of Ebay or the local thrash heap and open up infinite creativity, ideas, experimentation and even wealth is why my work and hobby is creating software. I don't have to anymore, but I like it and the more I learn about it the more I like it.

[+] johnward|11 years ago|reply
First of all I don't necessarily think I am good at coding. When I was young it was the fun of learning. Then when I work tech support I coded because I was for trying to create my ideal life, which was not having to work for someone else (failed at that). Now that it's my day job I simply do it for money. Ultimately I am too burned out from work to do any coding for fun anymore. However, if I had another way to get money I think I would probably start finding coding fun again.
[+] evanspa|11 years ago|reply
* It gives me hope. It's the only activity (for me) that may one day lead me to fully control my destiny (i.e., side project -> lifestyle startup)

* I can be god-like. When working on a side project, I get to make ALL the decisions.

* It's rewarding. Being able to take an idea born purely from my thoughts, and make it into something real, is inherently rewarding. Although I guess this applies to any creative endeavor, with coding it's cheap (all I need is a computer) and the feedback loop is short.

[+] clarry|11 years ago|reply
I like creating stuff. If money (and time I guess) weren't an issue, I'd do more than code: electronics, machining, etc. Hopefully one day I can afford a nice lathe.
[+] acaloiar|11 years ago|reply
Because, while it is a tired old trope that mathematically/technically-minded people are not creative in a traditional sense, it is my only creative outlet.
[+] ZanderEarth32|11 years ago|reply
It wasn't an option for me as a kid. I was told I "wasn't good at math" so not to bother trying to program. Later I learned to work through those issues, and now it's accessible to me.

Apart from the motivation to prove to myself that I can do it, it's fun. Nothing quite like getting some piece of code to run successfully, or making something that people enjoy using.