I just read Flinging Fish for Fun and Profit, a short little essay on how Pike Place Market in Seattle turned to dwindling business into a success by making it fun.

Obviously having fun at work is largely attitude, but I'm wondering what practical things can be done to have more fun with programming and related tasks? In Pike Place they were able to find more fun by chucking a fish across the market rather than carrying it. What do you do to make programming more fun?

Edit: To be clear I'm not making the assumption programming inherently is not fun. But certainly there are tasks or times when it is tedious or trying (making long commits, dealing with cludgy tools). The fishmongers took the tedious but necessary task of moving fish from point A to point B and made it fun. How do you do the same?

  • 6
    Easy...I answer questions on StackOverflow or here. :-) May 19, 2011 at 12:21
  • Take a look at "Go Put Your Strengths to Work" by Marcus Buckingham.
    – JB King
    May 19, 2011 at 17:18
  • 2
    I think this question could maybe be reworked a bit, but is a fundamental question to programming. I could maybe see the case for closing on the grounds of "off-topic" before the edit, but "not constructive" seems a bit obtuse to me. Does having fun not boost productivity in programmers, and is it not true that many programmers have a uniquely difficult time enjoying their 9-5 life considering the other unique burdens often discussed here, such as stress? The answers are not very constructive so far, granted, but they do not really seem to be answering the OP. May 19, 2011 at 17:28
  • 2
    @AnnaLear, personally, I don't think the original closing was a mistake. Whether the "not constructive" reason applies or not, the question still goes against the FAQ: "Avoid asking question where every answer is equally valid". There could be a dozen good answers to this question, all valid - how will the OP pick the "one" answer that deserves a checkmark?
    – Cyclops
    Jan 27, 2012 at 13:58
  • 2
    @RobMosher - that's not what Community Wiki is for - not has it been for quite some time.
    – ChrisF
    Jan 27, 2012 at 19:50

6 Answers 6


Honestly, I enjoy programming so it's fun for me. Truth be told, I actually enjoy creating and problem solving and programming often allows me to do those things. If the programming work I was doing didn't involve one or both of those, then I probably wouldn't be having fun. The solution would be to make changes (ask boss for different work, find new job, etc.) such that it was fun again.


It is very easy to make programming fun when it is done in leisure time.

However,in the world of pointy haired bosses, it is difficult to maintain 'fun' at all time. Unreasonable deadlines, improper specifications etc make things hard in the real world. The bottom line is ,you should always do things that interests you . But then this is not always possible when you work for large companies.

  • Why are you so biased against large companies?
    – Job
    May 19, 2011 at 19:42
  • 3
    There are lot of rules, policies , guidelines etc in large companies that often distracts programming. May 20, 2011 at 3:32
  • 2
    And there tends to be a greater density of idiots working in large companies because they can hide
    – CaffGeek
    Jan 27, 2012 at 16:40

It's not always possible to make tedious tasks fun. But, it is possible to find motivational rewards for doing them. If I am assigning tedious work to others, I make sure to let them know that I understand it's not a fun task. I also make sure my people know that I have absolutely no problem with them stepping away for brief breaks by surfing the web or getting away from their desk. When the job is done, I make sure to thank them and recognize their efforts.

If I have my own tedious stuff to do, I use Pomodoro and grind through it. Then, I reward myself with some time on this site, or on SO.

We also allow ourselves freedom to do things within the project that inspire us. We know we can find some fun feature to add, or we can get in there and refactor something that's irritating us. So, I guess the answer is balancing fun tasks with the not-so-fun stuff that we have to do.


First of all if its not already "usually" fun your probably in the wrong profession. Granted work is always going to be work but if you don't enjoy this kind your probably not going to last in the field. Beyond that if you can work on projects your interested in that can be a lot of fun. Not a whole lot of ways to answer this question beyond what I have already said.

  • 2
    If he has to work on uninteresting and boring tasks his boss put on him (there are always such tasks!) that doesn't mean he's doing a bad work or he's in the wrong profession. May 19, 2011 at 12:32
  • @František it may mean that he is working for the wrong boss, or the wrong company though.
    – glenatron
    May 19, 2011 at 13:58
  • Exactly what I meant. I was only trying to say that you need to think programming is already fun. If you have to try and make it fun on a normal basis then you may want to look for a different profession, different project, or a different place to work. PK
    – Ominus
    May 19, 2011 at 14:23

I'm lucky, I work directly with a few users on various projects. Finding a solution to a problem that you see a real person having helps. After they gain confidence in your work, you can joke around because they don't have to take things so seriously. They know you are helping make their job easier.

It doesn't always work that way. I sit around several users of one of our apps that they hate. They don't blame me because I didn't build it, but I don't joke about their misfortune.


Obviously having fun at work is largely attitude, but I'm wondering what practical things can be done to have more fun with programming and related tasks?

Look for interesting challenges. Not the ones that put your company at risk, I mean challenging problems to be solved and that can be solved.

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