tags:

views:

2923

answers:

73

Do you have projects you work on in your spare time, just for the fun of it?

  • What do you do?
  • What techniques/technologies do you use? Is this a reason for the project?
  • Have you gained something? Has it become a real product you make money from?
+17  A: 

The reason I started to write code was because it is fun. The reason I still write code is because it is fun.

I work on several open source projects as well as have some of my own. I typically branch out and use several languages across my projects, recently it has been python, Lua, and C. I am trying to get back into Lisp.

mmattax
A: 

I am currently learning IronPython for fun.

Geoffrey Chetwood
A: 

of course! i write fun little programs in Shoes for Ruby. i publish some of them at The Shoebox.

Kevin Conner
+10  A: 

Absolutely. Always trying new languages and techniques.

Dustin
A: 
  1. Make apps I can't find elsewhere
  2. VB.NET ; Boredom.
  3. Made a brute-force app for downloading from sites like Photobucket (similar to Fusker, but I didn't know that existed at the time), a Twitter client, and a couple other minor things. None were decent enough for general consumption or purchase, however.
Kevin Fairchild
+83  A: 

Yes. (What more can be said?)

Seun Osewa
You could say what you do, what techniques you use, etc., etc. In other words, you could answer the question.
Matt Howells
great answer ! upvote, (You didn't think to be so popular with your answer I'm sure ;))
Nicolas Dorier
Out of 73 answers, this is the worst. If you don't want to answer the question, then don't post an answer.
Roger Pate
A: 

My side project is to implement a bloom filter in sql and pl/sql - not entirely for fun, but I wouldn't do it if it weren't.

David Aldridge
+4  A: 

Absolutely. I usually investigate a new tech to see how to implement it (like AJAX or ASP.Net Member Services), so the projects usually never become anything other than a scratchpad of source code that I then use on "real" projects at work.

Techniques/Technologies? There is usually one main focus, like I mentioned above.

Gained Anything? Direct monetary? No. However, I did learn quite a bit about graphics programming in Win32 at one point on my own, then used that at my job several years later. It really helped in that I already knew what you could/could not reasonably do with graphics programming, and it made me smell like a rose at the job, which was right before review time, so I think it DID give me some amount of $$ compensation, but it's very hard to quantify that.

Matt Dawdy
+8  A: 

I learned coding by coding just for fun.

daniels
+3  A: 

I wrote for fun back when I got my Commodore Vic-20 for Xmas when I was 9. I used to buy computer magazines that had BASIC in the back that you could write and save yourself. Open source is old school :)

Now, I still program for fun when I have the time, which is rare unfortunately. But new technologies I investigate for fun. Learning C# was a great experience.

Kolten
A: 

Both for fun and for hobbies. Various projects in perl and javascript for me and for friends.

I do it both to learn new stuff (like JS), and to scratch an itch for me or a friend (lots of IRC related code). At least one of these pays enough to cover all the rest, so I can't complain :)

zigdon
A: 

I am learning Perl for fun.

A: 

I do a bit of video game/graphics programming with Allegro in c++ and c#, mostly for fun.

Wes P
+3  A: 

Most employers won't pay you to learn something new, and if you aren't learning anything new you won't go far in this industry. So that leaves coding on your own. It's the only way I learn new stuff.

TheTodd
A: 

Yes. I like doing for fun WEB project that way I can see some use of something I code. Usually I code for a client and will never see the use of it.

Daok
A: 

Sure do. Aside from scripts for myself, I work from time-to-time on a roguelike game and lately have been mildly addicted to Project Euler.

It's a nice contrast staid stuff I do at work.

Dana
+13  A: 

I code at work. Work is fun. Ergo, I code for fun (and for money).

Kibbee
+1  A: 

I code for fun outside of work. Of course, it is also a HUGE bonus that I get paid to do something I enjoy.

Jason Z
+3  A: 

Does a chef use his kitchen at home?

Clearly an easy to differentiate between a good developer and someone who should be in another line of work...

we actually interviewed a girl with a Masters in CS and several years industry experience who claimed she "never written a program for fun". One of the worst candidates we've ever interviewed.

Chris Ballance
+2  A: 

Any time you find that you're no longer coding for fun, it's time to consider a career change. Coding is a vocation and the best coders are coders all the time, even if they're not writing code.

Jekke
A: 

Of course. If you don't enjoy coding and are trying to make a living at it how do you plan to be better than all the people who are doing it and really enjoy it?

tloach
+6  A: 
micahwittman
A: 

I have to admit that I had become rather buried in life and stepped away from coding anywhere but at work. I had forgotten how much I liked my job and what I do. What it took was for me step away from the .NET world and delve into other languages and try to re-envigorate my life long dream of programming games. Now I program in my spare time all the time. It is a great things and it has made me a much better programmer at work as well.

I would recommend that for anyone out there that has grown weary of the same old thing, go do something new. Grab a book on Python, or just head to one of the free resources online and start hacking. Try to make something helpful for you or someone you know. Find an open source project that you have some interest in and try to find out how you can help, not only will you have fun, but you will be a much better programmer for stepping outside of your languages of choice.

Most of all have fun!

Brooke Jackson
A: 

Yes: see http://www.codeplex.com/MajestyOfOmega

ChaosSpeeder
Have you seen the Supremacy project at Codeplex? That is a sequel of Birth of the Federation. Unfortunately doesn't yet have a combat engine... FWIW - It is also in .Net 3.5
torial
A: 

I don't think a programmer should ever code unless they find enjoyment in coding. So yes, of course I do.
I gain satisfaction and enjoyment out of completing a project...I aim to obtain nothing more but that. Anything else obtained is a bonus.

Adam Gibbins
A: 

I love to write code, so I always have fun doing it. It's great to be able to accomplish things at work or at home through what I've written.

Mark Allen
A: 

Playing with C (I've only done C++) for a Rockbox plugin. I may never finish it, but that's not the point; I'm having fun crashing the simulator! :)

Adam Neal
A: 

Yes. The developers who don't are typically the ones that I don't like... (typically)

I always have ideas going through my head of neat things that I would like to have or work on, and from time to time I start a project to make one of those ideas a reality. They usually get about 1/4 done before I burn out on them and forget about them, but I always learn something.

Max Schmeling
+1  A: 

Absolutely yes, I can't think about anything else I could do, if I'm not doing this what can I do with my life?

nmiranda
+33  A: 

Wow, I am surprised to learn that I am in the minority.

After a 1/4 of a day staring at the computer monitor, no, I don't go home and code. In fact, I even prefer to not use the computer at all. Don't get me wrong, I love my work (developer) very much and love learning new things.

Having said that, if there is something I want to automate or just a simple script that I need-- yes, I'll code that. But it's entirely for practical purposes, not for fun. To me fun is not in actual coding, rather problem solving. If you ask do I just solve problems for fun? Yes, I do that. But code? I would try something besides coding to solve a problem.

Edit: Even projects (multiple web ones) that I work on in my spare time are a means to an end. They don't exist because they are coding projects, but because they make something easier. i.e. A discussion forum for a group of folks on a website that doesn't have forums.

Swati
Maybe you are minority because people who dont did not bother to vote? Also, not people tend to vote "yes" if even if they only rarely do it for fun.
Mostlyharmless
I think there's a difference between loving your work and loving software development. The developers I admire most have a tremendous passion for software development and more or less _can't_ stop coding, whether they are at work or not.
Gabriel Isenberg
Wow, I love this Wiki thing, who am I even commenting on? Anyway... I am lucky in that I am either getting paid for coding or coding for fun. Depends on the week... but if I had a 40-plus-hour job, I would choose the gym over the computer any day.
Yar
Voted. I put in long hours as work coding and love every minute of it. But when I'm home my time better spent with my family ... or fishing ;-)
gnome
A: 

I try not to use a computer too much outside of work, otherwise my body and eyes suffer. I occasionally write simple Greasemonkey scripts for my own personal use though.

Greg
+3  A: 

Yes. Most coding I do is fun, unless it is boiler-plate -- but even that can be fun if you turn it into a task of automating the boiler-plate :-)

Personal projects include: - Porting stuff from on programming language to another - Creating tools to aid in creative writing. - Just started working on some game development.

torial
A: 

Coding for fun is the only way I know how to code.

It always as to be about fun, I could never do a single line of code if it wasn't. Sometimes boring tasks come along, but even then I'll find a way to make it into a challenging task.

And yes, I'll agree with them all: It's so good when you get money for play?

Gustavo Carreno
+10  A: 

No. I only answer programming questions for fun.

Even Mien
Usually, I don't upvote answers that are just there for fun - but that one really got me :)
Brian Schimmel
A: 

What do you do?

I wrote QuickTuner a web radio tuning application since most are laden with ads, I just want to hid them but still get the songs on my speakers. and I thought up a nice trick to enable just that so I go ahead and spent an all-night cranking it out.

What techniques/technologies do you use? Is this a reason for the project?

Initially, VB.NET but I am rewriting it in C# 3.5..

The technique is host IE inside the app but hide it from view and throw in some bookmarking feature, is all to make the webradio feels like traditional radio again! pretty simple eh?

Have you gained something? Has it become a real product you make money from?

I got donated $25 and a few praises from people with the same need as mine. Not too much for an obscure hobby project :-)

chakrit
A: 

I code for fun, though lately I've lacked the time to really devote to it.

My coding follows two general trends: to automate something I do around the house a lot, and to create games for my amusement. Automation often entails very little conventional coding; more often than not, I find myself simply "coding" mappings and functions in Vim to make editing various records files easier. Amusement yielded Sphaero a few years ago. Someday I'll need to update it.

https://sourceforge.net/projects/sphaero/

None of my recreational coding leads to money except indirectly. Money typically means support obligations to the code for longer than I care to maintain it, but this of course is always subject to change.

Paul Brinkley
A: 

Not anymore. I used to, but after having programmed software professionally for a decade I realised that for a project to be interesting it usually also has a size where the time investment is substantial. And now I prefer spending time with my family instead. :-)

mlarsen
A: 

sure, I think most developers do, I think is the only way to learn new technologies or suggest them in our real work or in any other project you are involved in.

important things,

  • get a suitable machine
  • get a nice comfy chair
  • dont over do it or too long or you ll get burned out

so its still yeah enjoyable

Miau
A: 

If I wasn't a brand new user, I'd mod up Swati's post.

I still enjoy coding as much as ever, but at the end of the day I need more than to "just" program. On one level, de-stressing from work plays its part. It's nice to let the brain relax from "real" problem solving and use other parts of the imagination through gaming, reading, etc. I'm also one of those geeks that actually enjoys being outdoors and running around. I think it's pretty important to get a taste of other parts of life, otherwise I would burn out. There's more to life than playing with (or debating) the latest languages, designs, etc.

All that said, there are times when I do enjoy reading up on (or playing around with) new technologies outside of work. It's just not that often nowadays.

pdwetz
A: 

Yes. Programming contents like TopCoder can be fun.

A: 

Yes, that's the only reason I code.

I have also built a business out of what I created for fun and still do for fun.

http://simplovation.com

Chris Pietschmann
+2  A: 

Yes I do. Coding for fun, for me, is like playing guitar for fun.

unforgiven3
A: 

If you don't ever do this, what on earth are you doing here?

simon
+12  A: 

Fun ?

Not in the way i have fun when i go to a movie or the beach or travel or visit the pub.

Coding, for me, is more like an addictive hobby that pushes me to get more cool stuff done, and get more and more cool tools and is something you could brag about if you cared to. (Latest Ubuntu ? Latest Gaming Laptops ? Latest Games ? Lisp ?)

Its like an affliction, the way people who love cars love to know the details of that 30 grand V12 that can do 100 mph in 3 secs. Something that stirs the youngster in me.

At times, it aspires me to tinker on something coz i know that it can be improved. And i simply cant consciouly let it pass knowing that something that can be improved and is within your powers is not perfected. This feeling at times is referred to as a 'programmers itch'. The feeling i have when i succeed in this is at times pride, gratification or of plain brag value. But never is the actual process of improvement fun. Its hard work. But the goal drives you towards that final gratification.

You cannot be careless about it and you have to learn and you cant help knowing about the next cool thing that just happened.

I would say coding, is definitely a hobby - that pays.

Very well put :)
Swati
Totally true about the addictive hobby thing. If it weren't for the cash it brings in, I would think coding is 100% evil... though I love creating stuff...
Yar
A: 

Not as much as I used to. I've written some utilities that weren't easily available elsewhere and did other things just to see if I could (like writing a VB.NET/SQL application that ran on a handheld just to see how the .Net Compact Framework was). I've got a half-dozen projects I'd LIKE to write and hope to have the time to write them in the near future.

David
A: 

I don't code for fun. Its not cause I don't think coding isn't fun, its just a matter of 1. finding time to code and 2. having a specific thing to code for. I also agree with a few posters that have said that its hard to do it when you sit down and do it for 8 or more hours a day, but the reason I got into programming was of the intrigue of learning how things worked deep down in the guts of something. More and more my job is less programmer and more to lead other developers on a project, communicate with the client, do that kind of thing. I'd like to go back to just coding and the more I continue the job I'm doing now the more I'm motivated to get back to that.

A: 

I've had two types of hobby projects:

  • The "big idea". For example, I had an idea for a flex-based photo editor that used a radically different method of interaction from traditional photo editors. Usually I'll work a few months on these, and then I'll get bored with them, and they become a collection of files on my disk that never see the light of day.
  • The fun little gadget or tech demo. I've built a few google gadgets, and host them on my personal website. Easy to build in a reasonably short timeframe. These tend to get to the point where they're released. Google gadgets really lends itself to personal time projects.
Joeri Sebrechts
+2  A: 

I do a lot of programming in my spare time just for the fun of it. Probably more than I do at work, in fact. A lot of my programming has been related to the original Doom (there's still a fairly thriving community of people online who play it), although I've written a whole range of things - libraries, compilers, etc. Some are game-related but not Doom-related.

I pride myself on learning as many different technologies as possible and mastering them to the best of my ability. So, while I'm perfectly confident building a Ruby-on-Rails webapp using Javascript, HTML and CSS, I'm also quite capable of writing bootloader-level C code to program an FPGA on an embedded processor. I find that knowing what is happening "underneath the hood" is a great help - and computers with their many layers of abstraction provide a nested collection of many "hoods" to look under :-)

I can also state for certain that it has helped me. Although I have never commercialised any of my personal work or made any money from it, it has been invaluable in gaining employment. At all of the three places that I have worked, the fact that I can point to things that I have done in my spare time has helped me to gain the job. It demonstrates that you have a personal interest in the technology rather than simply a professional one. It also helps to give you experience - I am easily as or more skilled than colleagues who have ten or more years of experience.

Simon Howard
A: 

Yes! And do stuff like visit this website. Although, I have to admit I coded for fun a LOT more in high school. Since I got to college my programming has been basically limited to what I do for classes, which isn't that much really.

A sample of what's in my 'Projects' directory (where I keep all my programs):

3dify.py, 5tris, AIroids, BMPtoASCII.exe, Blackjack, Cave, G-RPG, GLBricks, GLGrapher, Life, MusicGetter.py, OGLSim, PrimeFactorizer.py, RISCEmu, Ruby, SuprMusicDB, TinyInvaders, WeatherThing, calc_primes.py, cardcounting.py, curry.py, ycomb.py

Claudiu
A: 

I still do.

Prog
A: 

The only reason I code is for fun. I'm stricly a self-taught progammer doing it in my spare time. Its an amazing way to think around corners and solve problems.

A: 

well, since you mean spare time right now, no.

I have a great employer and learn what i want when I need it. Since work is satisfying that way its good to get a break so I'm fresh at work.

In my spare time, I like to meet friends for beers, have sex with women, go see a sporting event!

scootdawg
A: 

yes, I love picking my brain to try to figure out how to do something. most of the time my leisure programming is to create a simple application to do some sort of mundane task such as modifying ID3 tags in MP3 files or emptying a download folder of empty sub-folders.

I find that leisure programming helps my professional programming because I'll learn nifty tricks and tips figuring out how to do whatever I set out to do that can be applied in the workplace.

Anders
+1  A: 

Isn't all coding fun, at some level..? As I have gotten [cough] older I've really realized the every project I have worked on, even the small seeming trivial 'just for fun' projects have aspects that apply directly to larger 'important' projects in my day job. Unless it is really truly mindless busy work I find that almost every project has a problem/puzzle that helps my development in some way. Even if the project seems boring and simple I might take the time to apply a new concept or language feature I am not that familiar with to give me something new to learn. So in a way, all my coding is fun because I make it that way.

ChalkTrauma
A: 

I do it a lot to learn things I've always wanted to.

Chad Moran
A: 

If you're not coding for fun, then why are you doing it?

Andy Lester
Is that a question or an answer?
Yar
A: 

I wouldn't hire anyone who doesn't code for fun ;)

TraumaPony
A: 

Of course! Besides, one of the best ways to learn something new is by working on a meangingful project that you enjoy.

Anjisan
A: 

Do you have projects you work on in your spare time just for the fun of it?

less often than i used to but i still do.

i like to try out interesting things like lower-level networking, internet stuff, services, etc. i also have done embedded C programming (and the hardware) entirely for fun & function.

i gained skills, something cool to do with my son, and learned some new things. it's also a chance to get rid of some of the mystery surrounding things i don't know much about.

one of my original hobby projects has become a full-fledged product (distributed worldwide) that i work full time on now. it took 10 years of growing but now it's literally my job.

X-Ray
+1  A: 

I work as a developer full time, and when I get home, I often write some more code. Usually more or less in the same realm as what i do at work (php, mysql, xml, xsl, etc.) but different applications. Yes, i am a nerd.

Kris
Well then welcome to Nerdville, now called "StackOverflow."
Yar
A: 

Big Yes This is my Hobby as well as the means for my bread and butter

Jobi Joy
A: 

I absolutely code for fun.

In fact, I find it pretty difficult to keep my "A" game going unless I'm learning in the after hours as well. The enterprisey problem domain is surprisingly limited, and there's only so many slants to exposing data, parsing XML and working with services.

To do this, I work on applications, games and technologies that I don't really get exposure to in the work environment. I poke around open source projects I use to see what (and how) I can contribute. I work on programming and math exercises. I brush up on my basic data structures. I try to get a group together to do these things to help keep momentum.

All in all, I can't imagine not coding outside of work. :)

Gabriel Isenberg
A: 

Sure, and open source projects are just the right place to start with it.
Whenever I use some open source, I feel the need to give back something to the noble people having coded "just for fun" to my advantage.

I learned quite a lot about topics that I do not touch at work.

Listworthy small projects:

  • Rockbox, a firmware replacement for many mp3-players and portable media players.
  • CHDK, a firmware addition to numerous Canon compact still cameras.
lImbus
+1  A: 

I love coding for fun in my spare time. I just don't have spare time.

borisCallens
Same here, I haven't coded outside of work for several months now, and before that there was a stretch of years when I didn't. I work all day, get home, do house/car repairs as needed, crash into bed, repeat. Weekends are all sucked up by required family events.
Brian Knoblauch
A: 

I definitely still code at home, for fun, but also to learn. I am one of those programmers who never liked school, and have been programming since I was 8. I learn by doing, which makes programming at home a critical factor in my progressing career.

In particular during the last few years, with the advent of so many new programming languages, notable ones including Ruby, F#, etc., I find that I can't let my skills stagnate and still remain a competitive prospect in the increasingly diverse software engineer and architect job market. I'm primarily a C# and .NET developer and .NET architect, but companies less often choose a single platform to develop their software on (and why not, SOA paradigms and technologies break down the kinds of boundaries that once previously existed.)

Given the truly dynamic nature of software development, I have an on-going personal project that I continually evolve and improve, adapting to new technologies and new approaches to software development as I learn more. This project has the potential to become something real and marketable, if I ever chose to (kind of an added bonus), but so far its been more valuable in exposing my misunderstanding or misconceptions about development technologies, methodologies, platforms, etc. and clarifying my understanding in a practical way.

I highly recommend starting a "practical", long-term home project to anyone who really wishes to test their knowledge and push the limits of their experience and capabilities. Cover every base...from architecture to platform to unit testing (i.e. I never liked TDD, but BDD a lot of sense and when actually applied, provides all the benefits of TDD with less ambiguity about how it should be applied.) You might be surprised at how much you learn about yourself, your conceptions, and the possibilities that exist when you open your mind to new technology.

jrista
A: 

Sure, one day I hope to write a full game for it:

textual adventure engine

Itay Moav
A: 

This is how I started, and this is how I'll end. :P

Mostly game related pet projects so I can learn new techniques & learn how to use new technologies.

Chaoz
A: 

I dont get to code at work. as such, coding is like a release from work pressures. Its so totally different from my day job that it immediately takes my mind off work pressures. But even though coding is fun, at all times, it is focused on solving a specific problem.

Fake Guy
A: 

Always.

If it wouldn't be fun, I wouldn't do it.

A: 

Yes, I do.

I'm mostly interested in very heavy stuff in my hobby programming projects, like compiler development, sound and graphics demos (demoscene stuff), functional programming, but also I try to learn as much about best practices and new technologies as possible.

But, frankly, it's easy to do. C# and F# makes a developers life fun.

Turing Complete
A: 

Always for fun. I'm C++/C# developer but I like to write on Prolog

Andrew
+1  A: 

Yea I code for fun after hours. I'm a .Net dev by day and if I work at home, I switch over to working on my Mac instead. If I'm not working on some pet or open source project in Python, Ruby, or Java, I will pull up Mono and play with it some. Overall, playing with different things at home allows me to work better during the day because I know different ways to address a given issue.

JamesEggers
+1 for the truth. I learned many, many good things from my hobby projects.
Turing Complete
A: 

What do you do?

Pick a project that I can learn from or could be sold later (or preferably both).

What techniques/technologies do you use? Is this a reason for the project?

Whatever I want to learn or whatever is the best tool for the job.

Have you gained something? Has it become a real product you make money from?

Every time. I have frequently later gotten jobs because I could talk intelligently about a technology I learned in this way. Other times it was sold or used as a resume point.

It gives me something productive to do with my time and it's part of being a professional and not just a hack.

Jay