top | item 9112250

Side projects

698 points| fcambus | 11 years ago |antirez.com | reply

236 comments

order
[+] bglazer|11 years ago|reply
I'm working on a side project now that will eventually be an open source project. I think it could benefit a lot of people.

My problem is that I have a full time job. When I come home at night I want to cook dinner, run, socialize, drink a beer with a friend, or work on an art project. I don't particularly want to configure Ansible or read the OpenVPN docs.

At most I can get 3-5 hours of productive work per week on this project before I start getting really irritable.

I'm not a terribly skilled web designer so I feel like contract work isn't really a feasible option.

So I'm stuck with a chicken and egg scenario. I could make huge strides on the side project if I got funding to quit my job, but I can't get funding without an already working product.

I've considered quitting my job and diving into it for a few months. I have savings but this seems foolishly risky to me.

Maybe I just need to be more disciplined.

If anyone has been in a similar situation, I would greatly appreciate advice.

[+] jldugger|11 years ago|reply
> If anyone has been in a similar situation, I would greatly appreciate advice.

You can't have it all. A wife & kids, a full time job, a social life and an open source hacker reputation. Many of the biggest names in open source have none of those other things.

[+] rday|11 years ago|reply
2 kids, 3 freelance gigs (full time at this), a couple startups behind me (1 pivoted away, 1 still running). I would love to get 5 hours for an OSX app I really want to build.

You really do have to shut out the rest of your life if you want to make a serious run at a project. When you are cramming a side project into you life, you really can "work" 80 hour weeks. The irritability you're experiencing will probably just get worse.

I'm just starting to learn to cook. I began riding my bike last year. I'm 34. The grass is always greener of course. But it seems like you are enjoying a lot of the things I wish I had made time for earlier.

Maybe shut out the art project. Turn your code into open source and let that be your art for the next few months.

[+] seiji|11 years ago|reply
Please, step into my parlor of unsolicited advice for a moment...

will eventually be an open source project.

Lean Software people are right about one thing — you've gotta get software in front of users as quickly as possible. If the project timeline is "work for 6-8 months, then show people" it's possible you built an amazing thing only you know how to use and nobody else really wants.

Release early, release often.

My problem is that I have a full time job. When I come home at night

The simplest hack here: wake up earlier and use your first (and best) 2-3 productive brain hours on your project then go to work. You'll use your best performance (refreshed, alert, not tired) for your project while still not being fired.

I've considered quitting my job and diving into it for a few months. I have savings but this seems foolishly risky to me.

Yeah, that seldom works. Practical advice is: don't quit a job unless your side project is demanding an increasing amount of time and resources from customers/users (meaning: it's becoming successful). Non-practical advise is: screw work, if you're not happy, save money and do what you want.

If anyone has been in a similar situation, I would greatly appreciate advice.

The world isn't HN. You won't be an overnight success. You will fail. Nobody will use what you make. Or, you could be the next person the media starts comparing others against as a measure of unexpected success: "Is this new kid the next bglazer?"

[+] smurfpandey|11 years ago|reply
I have started many side-projects but left them half way, because i got bored or something else caught my eye. But with my latest project[0] I am following a simple philosophy by John Resig, "Write code every day"[1]. Even if i write code for 30 mins, it's okay. By following this i am always in touch with the project. It has helped me a lot in being disciplined.

[0]: https://github.com/smurfpandey/mysqlweb

[1]: http://ejohn.org/blog/write-code-every-day/

[+] tegeek|11 years ago|reply
I've been in this situation for as long as I can think of. But lately I've found something which is working for the time being.

I don't use my car to commute to office. It takes 25 minutes via public transport (one way), so I use that time and build all the complex logic/data structure/algos in that time for my hobby project.

Cooking doesn't break my mental loop. So I keep thinking & solving things regarding my hobby project while cooking. (I also cook for my office lunch almost daily)

Most of the labour work (putting up CRUD forms or repeatable things, some graphics work etc) I do mostly on weekends when I don't have to use much brain but just keep moving things which are important.

Things are much better now than before. Even still my hobby project is slow moving but I can see it moving further.

[+] josephschmoe|11 years ago|reply
The only way to do it is to have a job where you can complete the work in less than 5 hours a day. Preferably one that gives you the freedom to leave early/come in late so long as you're doing well on your work.

No one actually works 8 hours a day and comes home to work 4 hours sustainably. I couldn't see someone doing that for more than two months without getting burned out.

[+] capisce|11 years ago|reply
> My problem is that I have a full time job

The tyranny of the 40+ hour work week. Why is it that so few people are willing and/or able to negotiate working fewer hours in a week, for example 6 hours a day or 4 days in a week?

Is it fear of being fired for making such a request? Are the employers so powerful and the employees in such a weak bargaining position?

Or the fear of having to take a pay cut? Maybe people get used to too expensive life styles instead of keeping living frugally when the money starts rolling in. They're then in the fragile position of not being able to afford a slight reduction in income.

It's kind of sad that there is not a lot more individual variation in working hours, when people are simultaneously lamenting their lack of free time.

[+] maaku|11 years ago|reply
I did the quit and focus thing. It ended up working out, but just barely. I was underwater for a while and my marriage about to fall apart.. I'm not sure I'd recommend the same path even though it did have a happy ending (co-founder of a well funded startup, a cash bonus that wiped out my worst debt, and my wife and I are back on good terms).

Wish I had better advice, but it is a hard problem. If you only have 3-5 hours per week, perhaps you should consider going to meetups instead, and networking outside of your existing communities? You might get more results out of that, or find an opportunity you are willing to leave your current job for.

[+] gdubs|11 years ago|reply
"Or work on an art project"

Well, you might want to ask yourself if this project is really something you want to work on. That is, do you love it? If you'd rather be working on an art project, why not do that?

There's that famous Steve Jobs quote that goes something like, "you only make great things when you love what you do."

[+] derekp7|11 years ago|reply
I'm in a very similar situation -- got a pretty decent open source project out (a mad 2-week programming project over a Christmas holiday vacation). But I'll be darned if I can find time to work on it now (how does the average person find 5 hours a day to watch tv?)

But here's what I'm starting to do now -- I set an alarm to make sure I remember to leave the office at 4:30 pm, instead of squeezing in that extra bit of work (or slacking off). That gets me a bit of a jump on the evening, instead of leaving work at 6:30 or so. Seems to be helping a bit.

[+] lugg|11 years ago|reply
Sounds like a scheduling issue to me, you either have to go full tit and code for 3-5 hours a night, every night, or you dont see progress.

That is the wrong way to tackle the problem, and you probably know it.

Attempt to set aside 30minutes to an hour a night to work on it, but no more, and you have to stop yourself from working more.

This is the only way I found worked for me. You dont have to set time every day (that part just helped in my case, I need consistency to build a habbit)

[+] parasubvert|11 years ago|reply
I've had a similar issue, and decided to treat it like a hobby - too risky to see as a job, but too interesting to ignore.

If you have a hobby and part of the pleasure of the hobby is the end result, then I'd suggest carving time out daily to work on it like exercise. Even an hour a day and 2 hours on each weekend would triple the time you've put into it to date.

That said, if you enjoy doing other things more, I wouldn't sweat it.

[+] thebouv|11 years ago|reply
I'm with you on this and will hungrily lap up any advice on the subject.

I write code that can't be open sourced for work, but want to contribute to OSS projects. But dammit, at the end of the day or week of coding all the time for my full time job, it is hard as well to sit down in front of the screen again without going mad.

Life, kids, wife, non-coding hobbies, coding hobbies -- whirlwind of competition for my time. Ugh.

[+] ctrlrsf|11 years ago|reply
I'm in the same boat. All programming effort was for work and no time for side projects. Until recently. I've started making projects open source by default and committing something at least once a day no matter how insignificant. This has kept my motivation going and hard to find an excuse not to fix or add this one little bug or feature. README file clearly states its alpha work in progress so others know what to expect. Something about putting your work out there that makes you want to maintain and improve upon.

Good luck, start small, make a few commits.

Oh, and if not open source software, try getting minimum product out so you can feel that sense of obligation to improve and develop further

[+] smattiso|11 years ago|reply
I was exactly where you were and it didn't work for me. In my opinion the only way to build something substantial enough that is worth selling is to quit your job. If you put your whole mind to something you can accomplish exponentially more than being scattered about. I think a more realistic approach is to put all of your effort into saving money via a job, and then all of your effort into your own business. Jack of all trades, master of none and all that. Again that's my opinion YMMV. Whatever you are doing make sure you are enjoying it otherwise what's the point?
[+] compwron|11 years ago|reply
What I do is to sometimes take a 'sanity day' to sit at home or in a library and get some serious work done. 9-5 (or whatever) just like work. You even get to sleep in instead of commuting. I realize that this is partially because I've been lucky to have jobs where taking one day won't be a vacation/sick-day disaster-overreach.
[+] someotheridiot|11 years ago|reply
Wife and 2 kids with full time job here, trying to build a side project currently worth approx $1-2k/month. If you're not prepared to spend the hard hours to build it up, you're not going to succeed. Suck it up if you believe in it. Sorry to be so harsh, but most people don't get fairy tale success stories.
[+] Arjuna|11 years ago|reply
I can completely empathize. I have a family, and so it takes even more effort to create the time and find the space to make things happen.

I just launched a game into the App Store. The journey was incredible, and filled with joy, sweat, and tears.

I've written about what I've gone through. It might be helpful for you. A small caution... these are relatively long posts, but hopefully they are enjoyable, insightful, and personally beneficial for you.

My experiences with what I felt while developing the game:

https://news.ycombinator.com/item?id=8888070

An older post that I wrote about work, embracing the grind, and driving through.

https://news.ycombinator.com/item?id=7076143

I wish you every success.

P.S. I figured I should do a TL;DR since those posts are even more epic in length than I realized, so I snagged some salient points:

1. You may look at your project and think, "I'm never going to make it. I'll never finish." Please, I urge you to set these thoughts aside and push through. Think about the analogy of building a wall. A wall is built one brick at a time. Watch a mason build a wall one day. You will observe that he or she lays one brick at a time.

This is how you have to view your project. Sure, it would be amazing to have an entire day, every day to devote to your project. However, the reality is that most of us simply do not have that luxury. So, strive to think of it as a mason: lay one brick at a time, and eventually the wall will be built. Every character that you type into Xcode, Visual Studio, etc. turns into a keyword, a variable name, etc... that subsequently turns into a line. Those lines build up, day by day, and before you know it, you have a program, and you look back and think, "Wow, why did I ever think I could not finish?"

2. You have to fight. This is paramount. I will say it again... you have to fight! What I mean here is fighting by engaging your Will. Engage your will to get up, to get moving. Engage your will to eat right, to exercise and go to bed on time so that you have the energy to get up and bring it.

3. You never know where your work will take you. Do not forget that, you have to dream it first in your mind before you can see it in your life. And to see it in your life, you must work. You may not be able to see things clearly now, but you never know what doors could open for you that you did not even know existed.

4. I find that I read this story at least once a month; it's just incredibly encouraging to me:

http://whatshihsaid.com/2013/02/26/ang-lee-a-never-ending-dr...

[+] prawn|11 years ago|reply
Are you in a position to negotiate four days/week with your employer?
[+] whatupdave|11 years ago|reply
It can be tough to stay motivated while working alone. If you're happy to share the success with other people you could build it with the help of the assembly.com community.
[+] megablast|11 years ago|reply
Well, you can hire someone to work on it for you.

You can upload the project to github and try to get people to help you for free.

[+] sogen|11 years ago|reply
Same boat here, IAmA designer, PM if you need anything!
[+] register|11 years ago|reply
I believe that the solution could be to try to find collaboration in a liquid organization like ttps://assembly.com. I think that it's a good model exchanging labour ( instead of funding ) for shares. I haven't joined any of these projects yet for two reasons: I am not excited by the one already available and was focused until 1 month ago on my new app for iPhone which unluckily is not going well from a sales perspective even if the little feedback from users is positive. Good luck with your venture.
[+] binarymax|11 years ago|reply
I hope this question isn't too forward - but my main question is 'how did you afford to do this?'

I have had plenty of fun little side projects (some finished some not), but my main project is my salaried position. Aside from being independently wealthy, how can one create and maintain a long term open source project as a full time job. Consulting on the side? Donations? Something else?

P.S. Thanks for Redis :)

[+] antirez|11 years ago|reply
Unfortunately I've no good answer for your question, since I'm sponsored by Pivotal, but if we consider the percentage of open source software created, only a small percentage is sponsored. Many developers simply do it for free, as I did it in the first year of Redis developments, because I had an alternative stream of money to pay the bills. So, my point of view, is that the IT ecosystem is broken and IT companies are leveraging a huge value from OSS without providing enough back to pay developments of more OSS. It is one of the biggest injustices currently happening in the "rich world", but there is no easy fix.
[+] robotkilla|11 years ago|reply
as someone who works on a lot of side projects: figure out where most of your free time goes and decide if you can sacrifice the hours you spend on those activities for side projects... and then actually do it.

I watch very little TV. I have only a couple of friends that I see every few months max. I don't go to meetups, I don't use social media and I don't play a lot of video games. I can hardly stand to see a day go by without creating something however small it might be.

I don't celebrate holidays and don't see family very often either. That helps a ton - I worked through Christmas and NYE last year while everyone else was partying... and then I switched to a side project on the weekend.

I also have a sleep schedule that makes most people cringe: go to sleep anywhere between 8:30 and 9:30pm, get up anywhere between 4:00am and 6:30am.

All that said, I think its incredibly important to switch off for days at a time every couple of weeks or months and break all the rules. Watch TV all day on a Friday or something.

Edit Sorry, I misread your question: "how can one create and maintain a long term open source project as a full time job"

That's something I have been working towards and haven't succeeded at yet. I'm leaving my comment up in case it helps anyone though.

[+] hastly|11 years ago|reply
Maybe we should turn our open source projects into businesses? At least make it clear we're open to taking money for extra features and/or support?

I mean, I have a whole list of projects I would like to support in a meaningful way through a subscription for some service, but it seems finding a way to do this is itself a hoop to jump through. Even if I'm super benevolent maybe I'm not willing to do HR/accounting work in order to exercise my benevolence.

I know about Gittip and the like, but if you're a business (the only kind of entity with meaningful money to throw at this problem), you'd rather have a clearcut way to pay for a service, not a platform for dropping pennies.

[+] graghav|11 years ago|reply
Thanks for Redis. It has come a long way over the last six years. Looking forward for your "few side projects for the next years" to come.
[+] gadders|11 years ago|reply
Rather than start a new thread, I'll add my congratulations here.

Congratulations, Antirez!

[+] Spearchucker|11 years ago|reply
I have a full time job, and a 3y/o kid. Get up at 7am and take him to school at 8:30am. Get to work at 9:30am or so. Get home around 6pm. Give my son a bath, we all have dinner and my son is in bed somewhere between 8 and 9pm. I then spend ~2 hours on my side project, in bed somewhere between 11pm and 12am. I train twice a week so this pattern happens three days out of 5.

On weekends I can often negotiate up to 4 hours to myself. Progress isn't too slow, and I keep my sanity.

[+] fit2rule|11 years ago|reply
I'm a huge fan of LOAD81, its been a very interesting too for a few things .. one thing I've used it for is to view system statistics, akin to a poor mans gnuplot. Its also been valuable in teaching my 7-year old about computing - the ease with which you can bang out a program to draw stuff is very appealing. So count me as a LOAD81 fan, antirez .. its one of your side projects that gets regular use around our house!
[+] digisth|11 years ago|reply
Companies have long sponsored (or hired) individuals to work on FLOSS, but I think we could go a lot further. If we could make it part of the culture of (scaling) companies / funding ecosystems to say "when we reach X revenue, we're going to hire /sponsor 5 people to work on FLOSS stuff full time." Obviously, these companies will have more incentive to sponsor people who work on software they use heavily (which should stay the first priority, as it makes a lot of sense), but it'd be great to take it to the next level and have them hire people who work on useful / popular software that they don't use everyday (directly) or doesn't have much to do with their bottom line. This could include 'adjunct' software work like package repository maintainers and writers of documentation for these projects.

If it wasn't one-offs and outliers, but just something that companies did as part of getting big, we'd have a lot less need for periodic emergency fundraisers, and fewer stories about "important software X that's about to lose its sole maintainer(s)."

[+] jmgtan|11 years ago|reply
My situation is getting bad enough that even my wife is complaining that I don't spend enough time with them (her and my son). I have a full time job with SAP, I also have regular consulting work on my own which I have been doing since I graduated from university, and lately I've started working on a number of products that I strongly believe in.

I've started applying a bit of scrum in my own work where in I have a Trello board with my backlog, my plan for the current sprint, what is done and what is deployed (for demo). This allows me to focus and not jump around developing endless streams of features. I set a side a chunk of time (w/ adequate negotiations with my wife) where in I blitz through my tasks for the current sprint. It also helps that my wife is a project manager in her day job so she understands my Trello board.

I find that this setup is the most effective for me, of course YMMV. For my consulting work I normally have 1 ongoing project at a time and usually a few in the RFP type of stage where in I'm still in discussions with clients.

[+] _pferreir_|11 years ago|reply
I would like to highlight dump1090, the ADS-B encoder. It has become a "must-have" for RTL-SDR enthusiasts.

It is small, simple, and works great.

[+] platz|11 years ago|reply
dump1090 is great.
[+] jjling|11 years ago|reply
I have a hard time focusing on side projects for very long. At any one point in time I'm usually working on 3 or 4 different projects. Then I get burned out and do something that isn't programming instead, like write a book.

Ironically, the only "side-project" I've finished is a book and not code (https://kindlescout.amazon.com/p/M0X7KAS29H5Q) Makes me wonder if I'm cut out to be an entrepreneur or even an developer if I can't dedicate all my free time to coding.

[+] derekp7|11 years ago|reply
Does anyone have any suggestions for promoting an open source project? I hate mentioning my side project on various forums, even if it is topical -- it makes me feel spammy. I thought about taking out some ads once I add in a few more "enterprise" type features, and was hoping that some open-source focused sites would have a discount on advertising open source projects using unsold ad inventory. I'd also like to find someone to work with that can point out deficiencies in the project web site, or general improvements/features I should add.
[+] humbertomn|11 years ago|reply
I'm another believer that focussing in 1 thing is overestimated.

"There’s a myth when it comes to what we’ve been taught about focus. Doing only 1 thing isn’t focusing. It’s essentially just doing 1 thing. Following a course of action until completion is FOCUS" - Hodan Ibrahim

Interesting related read: http://www.psychotactics.com/blog/psychological-marketing-my...

[+] andhof-mt|11 years ago|reply
I've got a side project. And chances are it will never make any real money. But I opted to do it because I know its a pain in the butt to make, and if I don't likely no one else will (or at least do a good job).

Nicely edited, free, organized CS videos. I'm opening sourcing my education: https://www.youtube.com/watch?v=4nyzl3pVXp4

[+] cheriot|11 years ago|reply
My side project is an escape from my real job where process, politics, and domain experts outside of their domain prevent progress...
[+] moron4hire|11 years ago|reply
I think the key is that you have to dogfood your own side projects. I have a project that I've been building over the last, oh, 9 years. I haven't worked on it exclusively during that time, but I keep going back to it and tweaking it, making it better, etc., because I actually use it in just about everything.
[+] udev|11 years ago|reply
I am curious whether it gets more and more (legally) tricky for employees of large tech-companies to have side-projects.

For example, if I am working at Google/Amazon/Microsoft. What side projects won't get me into legal problems?

Can I work on search, email, virtualization, etc. without being in conflict of interest?

[+] wuster|11 years ago|reply
I agree with his sentiment. Working on side projects keeps this career interesting. During the most boring, most soul-sucking projects of my corporate jobs, being able to accomplish projects on the side reminded me of why I am excited to be building software in the first place.
[+] Edmond|11 years ago|reply
You're spot on about using side projects as positive distractions. When you are working alone on a significant project, at some point you're not going to be as motivated to work on it, that's where other side projects can be helpful.
[+] xacaxulu|11 years ago|reply
Sicilian pride! Antirez is an amazing guy and the OS community is indebted to him for Redis.