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.
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.
For Alex, who asked, "Why can't I just hit F7 and get what I want?"
For Jerry, who asked, "Why can't this software just do things the way WE do them?"
For Sarah, who said, "We never have enough information! There's got to be an easier way to get information out of this system."
For Tom, who said, "I've been dreaming of doing something like this for years, but never met a programmer who could make it happen."
For Jolene, who said, "There must be a way to process our orders without spending $8 million on software."
For Jeff, who said, "I just want to know what's on HBO at 8:00 without clicking 47 times."
For Sue, who said, "Excel is the only thing we can get to do what we want. We love it, but we hate it. Can't someone just turn this into a real app?"
For Joe, who said, "If I just knew which products I was losing money on, I could do something about it."
For Jerry, who said, "If someone could just write an app to tell me when and where to mount my spools, everything else would fall into place."
For Wendy, who asked, "I just want to know what to buy in November. Can't this system just tell me without 37 different reports?"
For Fred, who said, "800 fucking emails every morning! Isn't there a better way to apply some intelligence to this without being a nuclear scientist?"
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?
"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.
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?)
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.
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?
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.
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.
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).
"to exercise my creativity"
This side project has been invaluable.
Development is slowly coming along, But that is the way I like it.
Definitely not "fame", I don't like a lot of attention.
I guess, some kind of mix of boredom and an urge to learn something new.
I do it for different reasons at different times.