I want to win. I'm not sure what I want to win exactly, either a pat on the back from friends, an e-pat from imaginary friends on the internet, a double take when I tell someone what I did. I'm investing right now in my life, I'm 22 (23 in a week!) and I have no responsibilities. I'm unemployed (haven't looked for jobs, as I don't want to have a boss ever again). I'm investing my time (as I have no money) which is something that cannot always happen. I'm stretching the boundaries of my brain to do the things it can when no one tells me what to do (I like to think of it as wandering in a forest without a compass. It's lonely - none of my friends are thinking about the same problems I am at the depth that I'm thinking about them, but very rewarding. I'm investing to learn things that I will be unable to when I have money.
I like to be ignorant as to how hard a challenge is. I watched an episode of numbers last year about prime numbers (not a computer scientist so I did not know many of the complexity things and ways of finding primes, just a lowly self-taught programmer), and boom, off to the races to solve the primes. I never once slowed down enough to say hey... people have been doing this for a long time... just me and a friend trying to be naive and find a route no one found before. I think that's what gives me a lot of momentum, not putting things into perspective, and gives me motivation to keep working. It's awesome to run the show, to stop working when I get bored, to see and understand the smallest to the biggest details in what you're doing. To know the rationale behind all the decisions. Even if they're small ones, and there's only 100 decisions to make, being able to say "This is why I did that." and give a specific, personal, reason i awesome, rather than making excuses or attributions for why something did or did not happen.
Fantastic and inspiring. You should really consider getting this book: http://www.amazon.com/Algorithm-Design-Manual-Steve-Skiena/d... It's super fun to figure everything out for yourself, but I guarantee you that if you read this book, it'll blow your mind and have you off to the races trying a hundred fascinating things.
I hate my job. I made some stupid mistakes in picking my first job out of college and it's pretty bad. I was shuffled into a position I didn't sign up for (business analyst work instead of development) and the culture is extremely toxic.
I've been trying to get out but so far having this company on my resume has been a huge red flag to anyone hiring actual developers making it very hard for me to find something better.
Side projects are my way of proving myself as a software developer. I'm trying to build up a GitHub profile of projects which I've seen through from start to finish. My current project is an excuse to learn about the Play! Framework and asynchronous web development with Akka actors.
I was in a place like that straight out of college as well. It was for a trade magazine. The job description had lots of programming requirements but it turned out to be a basic "Webmaster" type job that only really required basic HTML/CSS knowledge to take the magazine editorial content, format it for the web, and put it up on the website. I was out of there within 6 months. If you have any programming credentials whatsoever, it should be fairly easy to plan your escape route.
Your willingness to learn new things on your own should help you get your foot in the door as far as interviews. It's a total developer's market right now, so I would encourage you to quit your job and start looking for a position.
They could be side projects at work! It's kind of weird, but I have my main work at work, and then I have a small stable of things that I work on when I'm not behind on my regular stuff and want to do something else.
I'm compelled to create. Side-project means a lot of things to me. It could be an app, or it could be a painting, or a series of short stories examining the human condition, or an EP of instrumental tracks using mathematics as the guiding compositional tool (this is something I have explored and am exploring more of).
I wish side-project didn't have such preconceived connotations as "web app" like it seems to here. Does anyone else like creating non-tech things as their side projects?
Something else. It's sort of a craving. Why am I drawn to the refrigerator late at night? "For fun" doesn't seem to cover it. "Just for the sake of doing something" sounds pathetic--as if I were bored, as if there were nothing good on TV, so what else am I going to do?
"To scratch my own itch" would be perfect, except that this poll implies that the itch is some external problem. For me, the itch is a craving for the flow state of working on a hard problem whose solution matters.
Without funding, it's the only way I have to move towards the freedom to work on my own products and ideas full time. Can't quit my job to work on my own company unless I can also pay rent, buy food, etc.
The very thought of working fulltime on my own products/ideas is intoxicating, a daydream that never ceases to get me to close all my browser tabs and open up Vim.
One big motivation for me to work on side projects is that (since I don't expect them to be really successful or anything,) I don't have to be pedantically pragmatic about the choices I make. What I mean is that I get to do things the 'right' way, not the fastest-to-ship way.
I get to write code in _my_ way, not in the way that business requires it to be.
Doing it the right way _does_not_ mean that it will not involve hacks or clever techniques etc. It just means that I get more time and space to think about the choices I make and I get to model my data-structures, code and the visual design in the best way possible (for my definition of best).
I like the fact that I can look at the same piece of code for a few days and refactor it like crazy.
I have found that this eventually helps me in my day job too.
Though to dig slightly deeper -- urges to procrastinate what I "should" be working on appear when I face a hard problem with no hook on it (some hard problems drag me in; others push me away -- if I try sometimes I can convert the latter to the former just by breaking it down and choosing a place to start, but some problems are just boring-hard and that can't be fixed...).
Those urges often come in the form of "what OTHER more inviting problem can I solve?", and they are friggin' everywhere.
I already have a side-project that has lots of actual customers hoping for new features and so on, though, so it's usually pretty obvious to me that leaping into new thing #15 would be a bad idea. I have lots of domains names for them, though. :P
One of these days I will find someone I can pay to mostly take over that main side project, and then I'll allow myself to tinker with new things... I'm looking forward to that, actually.
But finding someone and getting them started is/will be hard, so when I think about that task I see lots of other more interesting problems around...
(Side note: anyone here know lots of Java and music theory, and want a spare-time income stream?)
Apart from the things I voted for (fun, learning, new tech, itch-scratching, portfolio), I do it for creative control. As a developer with just a little over two years experience, the world of work only very rarely seems to give a shit what somebody like me thinks I should do. I spend most of my life building things that other people decided on, in the way they decided, to the schedule they decided. People with more experience and influence than me choose the features, the colours, the technologies, the equipment, the furniture, everything.
Don't get me wrong: I don't have a problem with authority and I truly respect all those people and their decisions. But when I get home sometimes all I want to do is escape into something where I get to call the shots.
I work on side projects (my own and others) for a number of different reasons. But primarily to see how I can solve problems. Working on non-time critical projects means you can get a bit more creative and explore a lot of different options to see which work the best rather than the quickest to integrate. Some of the side projects I work on add a little extra rev every month, some don't. The only side project that consumed a good deal of my time is the one that in fact doesn't make much money (I probably lose every month) but its the one with the largest user base and its the one that is more of a love rather than anything else.
To change the world. This is why people do startups, but my project is not something that could ever make money, and besides I'm not a businessman and prefer the stability and resources of working at an established company.
Only half kidding. In the UK, as a contractor/freelancer, it's easier to make the case that your company is a going concern in its own right (rather than a simple tax-avoidance shell) if you have projects other than the main one you're working on for a client. Particularly if you're working on-location for extended periods.
I also want to learn new things, build up a portfolio and eventually start a software company. So I guess all of the above?
I always bill my projects as if investing in a fast growing company. I often look for new restaurants, new housing developments, cultural institutions - but I don't exclude any project unless the client is overly aggressive.
It's always important to ask them for a website that they like and this gives you a target. When you meet and beat that "ideal" website - they're often incredibly grateful. I never attempt to retire off my prospects :)
I've done bakery and pastry shops and in addition to my project bid, I negotiate permanent discounts and even a few let me eat for free whenever I'm there.
I've done furniture stores and in addition, I get permanent employee discount.
I've pitched housing developments and in addition, I'll get employee rate for rent.
Lawyers are the same - you can rely on them to help look over your contracts. They're just as important, so I often do exchange in hours.
Just be a nice developer and realistic. We're blessed to know what many people don't and a few bad apples like to take advantage of their clients because of this. Be a breath of fresh air and watch the doors open.
Something else: The joy of flow in those times when you can't find it at work.
When there's interesting stuff going on at work, I don't have side projects. When there's nothing happening but boring stuff, I want do stuff I don't know how it works, to make something, and that's when I start writing some idea into code late in the evening at home.
I'm not sure "boredom" is the best word. Maybe "need", or "creative outlet." When I don't code in my day job for few days/weeks I find my self coding, anything. Similar to how I suspect writers feel the need to write, and musicians to make music.
Working on a side project definitely is more for an investment in myself, in that if I'm using my time to learn something that I find interesting and accomplish something that I find equally interesting, then it can only be beneficial for myself. Recently I've taken to using side projects to explore new (to me) stacks, with the latest being Flask.py with a Mongo DB in the back. In fact, the only downside is that sometimes I might forego my actual work (I'm looking at you, PSETs!) or sleep because I'm so into a project that I want to get it done.
Side projects help me stay sane. When I'm working for others and building things that are mind numbingly simple or tedious I escape to my side projects to prevent burnout. They keep me sharp, help me learn, and I love the rush of putting a new project online no matter how half baked or simple it is or even if it is something like yet another todo list app (of which I've made one so far).
I believe all of the above apply to me. If it brings me additional income, awesome, If not, No big deal, I will have learned a lot in my endeavor.
During my path to completion I will have learned from scratch or improved my knowledge base in C#,Python, Flask, Twilio, S3, NodeJS, and my other technologies.
This side project has been invaluable.
Development is slowly coming along, But that is the way I like it.
Voted for Fun and testing new technologies, but like someone mentioned before, it is the creative control of a project. Not ruining a perfectly functional and UI designed application or website and have a client have an opinion that changes the whole dynamic of how it works. Reminds me of the oatmeal comic about the client and the web designer.
Student here, it's a mixture of filling my portfolio and trying out new technologies. If I limit my learning to the knowledge shared in class - I'd know next to nothing. Side projects give me the ability to perfect my craft, learning some awesome (fresh) technologies, and promote myself when searching for internships - which is coming up soon!
I am tired of corporate way of building software with long development cycles and awful and aging stacks. Doing a side project allows me to learn cool new stuff, provides me a playground where I can do mistakes and learn and most importantly it allows me to do "customer development" which is essential for any viable startup.
My top priority when working on a side project is to work on something meaningful to me in ways that a full time job don't allow. Both on the technology side of getting to use tools I don't use full time, and working for non-profits or other organizations that would not have the ability to hire someone like me full time.
1º: for fun
2º: To learn something new
3º: something else - I love/hate when some of my coworkers say something is impossible/very hard to do, or that I can't do it. I know they are aware that saying that is pretty much all they need to make me do the hard work for them (not related with our work) but I do it anyway. =P
Doing side-projects is like using the right side of my brain. It allows me to follow my heart rather than the logic of my head and do projects that sound interesting/challenging to me, in the language I choose to use, in the way I like to code. That is power to me.
I love complexity and complex systems. I feel this irresistible urge to take everything and anything apart and understand the internal components and structure. I enjoy visualizing the components within hardware, devices, objects, buildings, and larger things.
A few of answers match actually. I do it "for fun", "to earn some side income", "to try out some new technologies", "to learn sth new", "to have some projects in my portfolio".
Way back 14 years ago, I did side projects as a source of primary income.
Now I have no time for side projects, but I'd love to have one to scratch my own itch or two.
I want to have something I can call my own while learning along the way, akin to passage to adulthood. Maybe we should call it the passage to entrepreneur-hood!
I like to be ignorant as to how hard a challenge is. I watched an episode of numbers last year about prime numbers (not a computer scientist so I did not know many of the complexity things and ways of finding primes, just a lowly self-taught programmer), and boom, off to the races to solve the primes. I never once slowed down enough to say hey... people have been doing this for a long time... just me and a friend trying to be naive and find a route no one found before. I think that's what gives me a lot of momentum, not putting things into perspective, and gives me motivation to keep working. It's awesome to run the show, to stop working when I get bored, to see and understand the smallest to the biggest details in what you're doing. To know the rationale behind all the decisions. Even if they're small ones, and there's only 100 decisions to make, being able to say "This is why I did that." and give a specific, personal, reason i awesome, rather than making excuses or attributions for why something did or did not happen.