I'm a hobby programmer. The absence of real world deadlines, customer feedback, or performance reviews leaves me free to daydream about having and implementing The Next Great Idea That Changes the World. Of course I'm aware I probably have a better chance of winning the lottery, but it's fun to imagine knocking out some fully-homebrewed app that destroys the status quo.

I know many professional programmers have side projects, some for profit others not. I was wondering on the way to work this morning (non-IT boring work) if having to code for your food tended to dampen the dreaming? Does greater experience leave you jaded and more focused on the projects at hand?

Not trying to be a downer, just interested in the mindset of the real software professional :-)

  • 1
    Switch to biotech. – Job Feb 23 '11 at 2:35
  • You should watch Blade Runner (the final one)... – user1249 Sep 19 '11 at 15:42


Those who don't, typically change careers.

  • 12
    Yes, and they do change the world, but you might never know the world has changed. xkcd.com/664 – Tim Williscroft Feb 23 '11 at 3:10
  • @Tim Williscroft World should change only then next generation coders will still dream of creating industry/world-changing apps :) – Gopi Feb 23 '11 at 5:17
  • @Tim: Today's XKCD is relevant too: xkcd.com/864 ;) – Macke Feb 23 '11 at 9:13
  • 2
    Most of us don't dream of changing the world, just of helping to keep it going and being able to maybe in 10 years buy a nice new house or car. – jwenting Feb 23 '11 at 10:07


If anything, coding for my food as you say has made me dream more. The experience I have gained over the years allows me to have a better idea of the actual work that would be involved to achieve the dream, but I still dream.


Not I. Not even trying.

The world doesn't want to be saved, nor improved.

I actually just like to write code and solve problems. I don't expect the next Sudoku puzzle I solve to cure world hunger either.

If I was actually trying to improve the world, writing silly programs that only benefit the already well-to-do wouldn't be the way I'd be going about it. I'd be in some third world hell hole trying to help dig people out. That's not what I'm doing.

Edit: I do someday dream of making an AI pet out of a remote control jeep though. Figure the brain can be in a PC with the jeep being sort of a wireless remote body.

  • 1
    I think Change The World in the question was a used facetiously. While I agree that the world doesn't need saving, I can't imagine what it would be like to live without dreaming of doing something cool. – Ben Hughes Feb 23 '11 at 6:42
  • @Ben - Well... dreamers dream. Doers do. Think I'll ever make a pet jeep? Probably not. That's why it's a dream. – Edward Strange Feb 23 '11 at 17:14

I think that's why people get into software development, that idea of changing the world.

I mean, we sure as hell don't get into it so we can spend our days maintaining legacy applications, putting up with office politics, and performing various monotonous tasks...

  • maybe that legacy app is the only thing keeping the world going. better hurry up and fix bug #14943 – jk. Feb 23 '11 at 13:34

I've known some hobbyist programmers. Looking back on it, they thought the same thing you did. They thought they were going to change the world.

Looking back on it, they were trying to solve very basic problems that had already been solved. To someone outside the field of software development and computer science, the concepts seemed mind-blowing. But for the professionals in the field, solving the world's problems or contributing to the growth of the field usually involves a very strong mastery of the field itself, along with years of professional experience.

Just check out the answers to the question, Does it Really Take 5 to 10 Years or More to be a Really Good Programmer? In order to solve problems in this field, you have to learn everything you can about it, and that type of learning only comes from being a professional.

I hope this doesn't discourage you. If you do have great ideas, that's awesome! I'm not saying you don't or can't contribute. But what I encourage you to do is take a step back and ask yourself if your assessment is accurate.

It helps if you have friends who are professional programmers. But if you live in a world that doesn't involve any pros, then perhaps you could benefit by getting involved in professional organizations or projects.

If nothing else, this will give you a baseline from which you can more accurately assess your ideas and have someone to bounce them off of.

To answer your question, I have some ideas for improving the Spring Framework that are based upon my reasons for Why I Will Never Use Spring Tag Libraries in My HTML.

These ideas aren't really life-changing, but it took me years of working with Developers and Designers to understand that a lot of the marketing behind frameworks is just that, marketing. Because I do this 10 hours a day, I'm a little less motivated to work on it in my spare time.


My hope is that at least some of the applications I build are useful to the people I write them for and change their lives in a small way. That's challenging enough to achieve and I'm happy if someone comes back to me for modifications to a system after six months because it means they've found it useful and are still using it.


Some may get in the field because they want to change the world, many though go into software development because it seems to be easy money at the time (relatively high pay for no physical labour, 9-5 job in an air conditioned office, maybe a company car and other benefits). Or they just slither into it because their originally chosen field of work dries up and they happen to have the right skills acquired as a side effect or hobby already.

Was I looking to change the world when I started programming? No. I was just trying to make my job a bit easier by automating some of the data analysis during my physics labs. And that "making the job easier" ended up being a job in itself, making other peoples' jobs a bit easier by making software to enable them to do that job more efficiently than they would otherwise be able to do it.

It's a job, it has its ups and downs. Some days you love it, some days you hate it, but overall it's just a job (albeit a nice one compared to others I could think of, if you like solving puzzles).


Like you and probably most programmers out there, I have a dream. But I don't dream of changing the world... instead, I dream of writing an article, a little library, a framework or a book which fills some sort of gap which others have left out.


I think this might depend upon what you are defining as a world changing program. Depending upon where you work, the programs you write might have a huge impact on things (i.e. wrote the software that assisted in the image analysis used to identify a new planet) but you find that you may be quite distant from the actual discovery that was made even though you were involved in writing the software that lead to it. Likewise, on the corporate side, odds are that unless you are working in some sort of research group or a start-up, it is unlikely that you will see a major direct impact from the software you write, but there does seem to be a "long tail" from software as the developers for Microsoft Office likely indirectly assisted in a number of major discoveries due to the analysis tools built into Excel or the like.

Not the answer you're looking for? Browse other questions tagged or ask your own question.