views:

1432

answers:

13

Basically, I have recently started a "pet project" (side project/whatever) working with RESTful APIs that are on the Internet. I have never done this before, and I have found that it has really rekindled my love for programming.. I want to stay up late with it, take it out to dinner and spend more time with it than my friends..

Which is all fine and dandy, but there are downsides, it has impacted my study for exams. I am of course spending less time studying (as I should be) but I am still getting heaps out of it.

While I know I am responsible for my exam results, do you think we should all have "pet projects"?


OK, here is how this is going to work.. It's kind of my trying some PoC stuff..

  • I will create a single answer (clearly marked) and make it wiki-editable so I don't get rep.
  • Please vote UP if you think we should, DOWN if not.
  • I will not mark the Q as wiki editable, only vote on that if you think it is a good question (as you always should).
  • Please feel free to post some summaries of your pet projects if you have any, it would be great to see what sort of things we are all getting up to.

Why am I doing it like this?

  • I get a clear answer. +/- on the voting answer is a great way to get the community view.
  • Its a poll that raises discussion, there has been much talk that StackOverflow cannot support it, I think it can, when done right.
  • We should be able to talk and discuss, this is a community. Not StalagOverflow.

So please people of StackOverflow, vote! Share your experiences!


NOTE: If you post a summary of your project(s)/thoughts, please ensure you mark it as wiki-editable. Discussion shouldn't accrue rep.

+70  A: 

Yes or No? (Vote on Me!)

  • If I am Postive - StackOverflow says: AYE!
  • If I am Negative - StackOverflow says: NAY!

NOTE: You will not take a rep hit downvoting this as it is community editable.

Rob Cooper
AND a plus one for making it wiki editable :D
Mostlyharmless
I think it was made wiki so he wasn't accused of rep whoring
Kyle Cronin
Good edit. I think that makes it more clear.
Mark Biek
Kyle is correctamundo, I wouldn't want to be seen as a rep whore, just wanted to try and actually get some good meaniful results from something that is disputed to "not work" on StackOverflow. It's also a new, relevant Q in my mind :)
Rob Cooper
Thanks Mark, hope this clears it up - deleted your comment on the Q so as not to confuse. Hope you don't mind.
Rob Cooper
A single '540' is less valuable than a separate yes/no count
Vinko Vrsalovic
Then you can do it differently when you post a poll :). The thing to keep in mind is that he only cares about two possible states: < 0 is NO, > 0 is YES. He's not interested in comparing how many people think one or the other.
Mark Biek
Mark is bang on, I dont care I simply want to see how far the vote answer goes in any meridian..
Rob Cooper
Having 2x Answers also could lead to double-voting.
Rob Cooper
This may not work as well as you hope. I know I wouldn't want to take a rep hit just to vote in a poll, so I imagine others feel the same way.
Kyle Cronin
Good point there Kyle.. i have just tested this, I didnt take a rep hit downvoting a community answer?
Rob Cooper
You're right - this discovery should go in the FAQ
Kyle Cronin
I think it would be better with a yes and a no answer, else, the answer will drop to the bottom when it's a no. Making it harder to find.
daveb
Hmm, but then you get two votes...
daveb
You just divide by two, it's still more information than a single number. Anyhow I think Rob knew the answer previously, this would be a more valuable exercise with a less biased poll (this one's like asking "is studying good for your knowledge?" :-) )
Vinko Vrsalovic
I do agree with you there Vinko, but I was curious to see if I would indeed get a big, fat YES from the community, i think 25+ is a good yes, 50+ HELL YEAH! :) But, TBH I never found the value of a side proj until I start it, this may help others to do the same :)
Rob Cooper
A: 

Yes, but only 20% of the time, like Google


20 percent time:

travis
A: 

I don't have one right now, but I try to be very active in speaking in my local UG and local MSDN Sessions to make up for it. :)

Jon Limjap
A: 

I don't have much time for personal projects at the moment, but I am creating a lot of example code from my day to day work, and creating a library of common code blocks (vertically - database, DAO, model, functions, website/command line/GUI) that I can use in future projects.

JeeBee
Please make this Wiki Editable JeeBee
Rob Cooper
+3  A: 

Yes, I think pet projects are a great way to get experience and extra skills in areas you might not otherwise encounter in school or work. If it's something you enjoy, I think it will help prevent you from "burning out" on programming in general, which you might do if you only associate development tasks with work that you must do.

smo
+3  A: 

Absolutely - we should have as many as our schedule allows - Programming is a craft that you should be doing because you love it - not just because someone happens to be paying you for it. That being said, in my life, I tend to try to arrange to be paid for my pet projects...so... maybe that totally obliterates my credibility... but I definitely think if you're coding just because you happen to get paid for it - you're wrong.

Please make this Wiki Editable.
Rob Cooper
can you post a link to instructions how to do this: i've scanned the FAQ's that I could find and can't figure it out...sorry :(
Hey no problem, dont apologise! It looks like you can only do it on creation, there is a little tick box in the bottom right of the edit box. I will update the FAQ later. Its your choice, you can leave this here, but do so at your own risk :)
Rob Cooper
A: 

You might be interested to read Chris Wanstrath's Keynote from Ruby Hoedown about this. He talks a lot of about side projects and their benefits, starting about a third of the way into the talk.

http://gist.github.com/6443

Roland
+4  A: 

You should absolutely have a pet project:

  1. You'll learn a lot of things from your pet project because it is (probably) different from what you normally do at work/school. One day some of what you learn will be useful in those areas.

  2. It keeps things interesting. Programming is supposed to be fun; but what you do things day in and day out it can become a drag. Pet projects help you to "keep dreaming" of new possibilities.

Giovanni Galbo
+3  A: 

Only one?

Pet projects are good. I would be less enthusiastic about pet projects if I had exams to pass. But like most IT office workers, I don't. Or If I had small children to care for. But I don't. Perhaps you should put the pet project on hold when the exams come close?

In fact, I've decided against more MS certifications, since they can only take you from beginner to intermediate on a given subject. A good pet project can be a "deep dive".

You have to be honest - the chances of your project attracting long-term users are small. And the chances of it changing the world are smaller still. Most likely, the main benefit is that you will learn about coding, and the project will be completed or abandoned within the year.

Anthony
A: 

I'm fairly new to programming as a profession, but I think it's helpful to have a pet project or two if you have the time for it. As others have said, it's great to work on something completely different than your day job, and there's no deadline or pressure, you just have fun experimenting.

For example, I'm writing a very simple plugin for Rockbox which is written in C. I work with .NET all day, so sometimes it's fun to use a new language that's "closer to the machine". And, if I push bad code out to my MP3 player, I get the chance to reformat it! ;)

Adam Neal
I used to work on iPodLinux, and it was great fun too. It's a wake up call when you don't have a FPU.
Alex Fort
+8  A: 

I'm a bit on the fence on this one for two reasons.

It's certainly a good idea to do some coding away from work. Especially if your boss doesn't give you the time to try out all the exciting new technologies that are coming out now. But I don't think this has to be in the form of a project. It's just as good just to try stuff out and never finish it. Finishing usually takes way more time than just playing with a new tool or technology. And while finishing projects is an important skill to learn I usually do enough of that in the boss's time.

I think there should also be a place for 9-to-5 programmers in this industry. The majority of people just want to make a living and watch battlestar galactica when they're at home. I've worked with a lot of people like that and although I'd rather work with passionate people who do interesting stuff when not working. I don't think it's reasonalbe to expect this passion from everyone.

Mendelt
Great point on not finishing projects. And one thing that was worrying me.. Software can always be taken to the nth level and side projects should really be about fun and learning, not trying to destroy your spirit by never finishing :) +1ed!
Rob Cooper
+2  A: 

Pet projects can be your carrot or Code Kata.

Sometimes during long maintenance cycles I like to have carrot type projects to reward myself. It might be playing with some ideas in a new development environment or tinkering with something to do with some upcoming development project.

If you know you get distracted, maybe find something shorter to do, like solving puzzles Itzik Ben-Gan's SQL puzzels

anixi
+1  A: 

yes, absolutely have pet projects, they keep you interested in the field, as opposed to just slogging at a job.

i have several pet projects, so many it's getting hard to feed them all:

  • combining Agile/XP principles and Getting Things Done principles into a method that works for one developer, or scales peer-to-peer for large-scale distributed development. I call it "Extreme Programming for One - or 1000". And yes I already bought xp41.com ;-)
  • next-generation grid computing (can't talk about this one yet)
  • consumer-friendly watermarking of digital media to solve the DRM problem [patent pending!]
  • creating music and forming a record label (labor of love in progress...)
  • a book on practical object-oriented programming, titled Object Mechanics I
  • working out the theory and practice of advanced formal object-oriented modeling/programming principles (can't talk about this one yet either)
  • i think about how to push the envelope of modern gaming in terms of character depth and behavior and object/player interaction (no code yet)
  • i write sci-fi short stories for fun (not all pet projects have to be coding) and to explore far-flung future possibilities of the other things i dream about. (nothing published yet)

my last pet project, simple application monitoring for .NET applications, has become my first product. Always have a "fun" project to keep you enthusiastic. If your 'fun' project turns into a sellable product, even better!

Steven A. Lowe