Why Do You Write Code?

A hex dump of a binary executable file
Image via Wikipedia

Chris Brogan has been making me think a lot lately. The other day he asked what inspires people to action. He has a very lofty goal:

My goal with every blog post is to get you thinking in a way that might cause a change in your course of action.

As a blog writer that has a much smaller following than Chris, my goals are much different. I am not writing to inspire action (though if that happens I will not complain), I write with the hope of informing people or even to make people think. Taking the inspiration from Chris, and my attempts to write some introductory programming posts, I wanted to answer a question.

What inspires people to code?

I get asked this question a decent amount because it normally looks like I enjoy what I do. Actually, the real question is why do I write code, but the idea is generally the same. Why do people write code? There are several reasons for why people start a career in software development or web development.

  • Creation – Some people really enjoy the ability to create something. You start with a blank canvas, or an empty file, and you write code. Eventually that code gets compiled, packaged or whatever and becomes an executable thing. For something like a web site, you actually get to see and interact with your creation.
  • Instant Feedback – Right on the heels of creation is the instant feedback. This is true when you are programming in languages like C++ and Java as well as “really instant” changes like web sites. For programming, you get the code-compile-test cycle giving you the feedback. For web sites, you can change some basic feature and just reload the page in order to see your new results.
  • Puzzles and Problem Solving – Some people, like myself, just love to solve puzzles or various problems. In many cases, this is almost an addiction. These same people probably love to complete puzzles like Sudoku or crosswords. In “modern” terms, you can consider this a “House-complex” (after the fantastic TV show) where solving the problem is the only thing that matters.
  • People – Do you get to meet fascinating people in the software development industry? Yes, absolutely. However, many people get into software development because they do not like people. In product development companies, the programmers can all be “in the back room” and not deal with business people, customers or users. They get their needed (and limited) human interaction by dealing with other programmers.
  • See a Need, Fill a Need – Some people get into programming completely by accident. They may work in drug development research as a scientist, but they need someone to gather data and run complex analysis or simulations. In many cases, there is no funding in the budget for a new hire so that person learns to program. Eventually, they either become too valuable as a programmer or they “fall in love” with software development and they have a new career. This probably happens more often than you think, as there are a lot of programmers who do not have a formal computer science education. This is also good for the industry as it brings a different perspective into development, instead of all the people learning all of the same theories.
  • Money – There are plenty of people who start a career in software development because they want to make a lot of money. In reality, you can make a very good salary in software development, but that can not be the only reason for joining the field. If one of the previous items is not true in your case, you will hate programming within two years. Also, some people see how much money startups can make and figure they just need to learn to program a little to get there. Well, most startups fail to make any money and most programmers do not work at startups.

I am sure there are other reasons, but these seem to be ones that are commonly mentioned. What reasons do you have for getting into programming? Me? I love problem solving and puzzles. What about you?

12 thoughts on “Why Do You Write Code?

  1. Definitely the first three of those. When I finally started coding and web design on a serious basis my sister, always the creative sibling, commented ‘I think we’ve found your medium’. I’m not a good artist, I can’t really make things with my hands, but I’m confident that I can style pretty much anything on the web and have a good eye.

    The instant feedback helps fuel that creativity, and an additional inspiration is being able to find elegant solutions and workarounds to technical limitations that other people view as obstacles to their design.

    Like

  2. I am a bit surprised that the reasons people mention for programming don’t match mine. Because I thought my reasons would be more common.

    But any way, the reason I got into programming was because I was fascinated by the artificially intelligent behaviour of the simplest programs or electronic devices. It was as if we had created life forms in our image.

    Another reason I got into programming is I am a technophile since childhood. But that’s probably just a minor reason because a lot of non-programmer users are also technophiles.

    Like

  3. I code because it gives me enjoyment. I don’t think I have ever had a job more satisfying than coding and solving problems.

    I enjoy interacting with end-users and streamlining process for them to make their job(s) easier. That is just gravy though.

    The main reason I code is because it is apart of who I am. Some people are cooks, health professionals, musicians, trainers, etc. I am a coder; it is what I was meant to do. There is no other way to describe it.

    Sure I like creating things, instant feedback, problem solving, people, and money, but they are not a driving force.

    Good post

    Like

  4. Robin,

    I think that web design (making the pages “pretty”) is almost as much of an art as some artistic endeavors. It is a good thing that you found some way to channel our artistic ability.

    Like

  5. Abeer

    I have never met anyone describe their interest in programming as coming from the “artificially intelligent behaviour of the simplest programs or electronic devices”.

    I guess it is very close to what I was thinking with the creation idea, but it definitely sounds different. The most important thing is that you found your way into programming.

    Like

  6. Brent,

    You are touching on something I was avoiding in this post. Some people feel like programming is their true “calling”. The problem is that for a blog post like mine, how do you explain it 🙂

    Like

  7. I’ve always liked puzzles, liked math and logic, liked being creative. I’m very intuitive and I’m a perfectionist. Working in information allows me to to do what I am naturally good at and make a lot of other people’s work that much better. Computers amplify my abilities many time past any other medium that I’ve worked in.

    Like

  8. I just sort of fell into it. I decided to try making a website in 1995 and that was pretty much it — my fate was sealed. I like the challenge, especially if it involves very little repetitive work (I bore easily).

    I like the creative aspect and the immediacy of web development so that’s where I’m at. I actually like what I do most of the time… the pay is good and I don’t even have to get out of my jammies if I don’t want to (I telecommute).

    Like

  9. I code because I’m fascinated by technology.

    I first realized this after rethinking what my favorite anime series are and what artice they? Cyberpunk and science fiction series! I love how computers can be trained to do tasks with programs. I also love the process of learning and reading the mechanisms of a program. Creating web sites and web applications is something I practice right now and that’s really what it’s about. Practicing because it’s something you want to do. My gramps always used to try and convince me to be a nurse but…that’s not really my thing. I’d like to enjoy what I do and there’s plenty of money here, otherwise no one would be in the field regardless of their love for it. Even though paying bills is far more important, pick something you like. You don’t want to be miserable all your life, do you? Programming is about design, logic, and problem solving and these are skills you can take with you anywhere in life.

    Like

Comments are closed.