11 ms·
Ask HN: How do you stay motivated to work on side projects?
It seems like its really easy to lose steam. How do you keep yourself pushing code when life gets busy or you just get bored?
- jseliger 12y agoEnjoy them. A lot. Figure out how / when / where you're going to release them, and work towards that moment.
- zeeshanm 12y agoDo as little work as possible. And deploy as much as possible.
- eccp 12y agoThis. Don't wait until everything is perfect. If your side project does a barely minimum to be usable, just release it somewhere (if it's an open source project) or deploy it and send a message for other people to try it. Other people's feedback is a huge factor in being motivated.
- noobermin 12y agoI've found that it helps me when I get feedback, like I finish some major functionality or feature, I feel fantastic when I see it work and during my working time, I think about that feature and can't wait to get back to it. When I stop in the middle where there is no discernible change or a feature is not fully implemented, when it passes my mind during work or free time, I think about how broken it is, and I feel like I'm heading back to a broken bike, which is not too exciting. It's hard, especially when a particular feature needs days/weeks of effort. For that sort of thing, you just need to persistent, I guess.
- lholden 12y agoOne thing that works for me is to get lots of external feedback on my project. If at least one other person beside myself has some interest/investment into my project I am a lot more inclined to continue working on it. When I am the only one with interest... Well, I tend to lose motivation pretty quickly.
- lukasm 12y agoBe consistent. Do some work every day, even if it's just 5mins of work. You will keep the idea in mind.
- dwetterau 12y agoA super easy way to keep yourself accountable when doing something like this is with the contribution graph on Github. My desire to not break my streak keeps me working on my projects every day. (https://www.dropbox.com/s/98kngmtwzrsmvjg/Screenshot%202014-12-26%2017.44.21.png?dl=0 https://www.dropbox.com/s/98kngmtwzrsmvjg/Screenshot%202014-...)
- davidy123 12y agoJust so you know, they got rid of the "rock — hard place" comment. You can relax now.
- flavioribeiro 12y agoI'm with you, everyday I try to fix a bug, make a small refactory or even improve README. (https://www.dropbox.com/s/v5czzto5zfzz7rw/Screenshot%202014-12-26%2023.22.17.png?dl=0 https://www.dropbox.com/s/v5czzto5zfzz7rw/Screenshot%202014-...)
- deleted 12y ago[deleted]
- Spearchucker 12y agoThat works for some, but not others. I have gone weeks and once even months with not doing a thing (intentionally). Distancing myself from it has always worked out well for me.
- lholden 12y agoOh... I also find that consistency to be very important. Rather than randomly using free time... Pick a day or two of the week and block out a bit of time for the project. This gives you a reason to not just procrastinate.
- joelrunyon 12y agoFind something interesting. If you find something interesting, you'll find a way to keep picking at them.
- gcz92 12y agoTalk to people about it. Get continuous feedback. I find that by discussing it with friends or family I get re-energized
- yamalight 12y agoDo interesting projects? If it's boring, I usually don't do it (unless it's some sort of educational project I picked to learn new tech, but those tend to be pretty short)
- Daishiman 12y agoHave spare time! If you're spending all day in the office or with your clients you're going to be burned out and you won't have the energy to get down and dirty into the denser parts of your own project. Be religious about setting aside your own time
- aakilfernandes 12y agoUse a technology that you would like to learn instead of a technology you already know. If you lose motivation in the project, you at least have the motivation of learning a new skill.
- dkopi 12y agoGet paid for them. Have a client that actually needs them.
- deleted 12y ago[deleted]
- motters 12y agoI view my side projects as the main work, and anything else as merely a way of supporting them. Also, I have enough side projects that if I lose interest in one I can switch to another.
- zxcdw 12y agoOut of curiosity, what kind of side projects do you do?
- Kiro 12y agoI do the same but I feel like a fraud for not putting my full loyalty, energy and passion in the company I'm working at.
- z5h 12y agoDo you invest any money? Do you invest all of it in the company you work for?
- AznHisoka 12y agodoes your company feel the same way about u?
- jackmaney 12y agoI promise you that your company doesn't feel the same about you (or any of your coworkers, for that matter). When it comes to employment, loyalty died out many years ago.
- atrilla 12y agoDon't you think that companies should support such personal deeds? This is very common in the electronics community, where expensive instruments are needed and workers find it difficult to buy them themselves. Eventually, motivated and eager-to-keep-learning employees are the best assets that a company can have.
- yareally 12y agoWhy? The work you do in your spare time can directly (by reusing libraries you build) or indirectly (learning a new language, framework, etc) improve your performance at work. Only reason you should ever feel guilty is if your side projects are meant to directly compete with the work you do at work. In that case, I would say it's a bit unethical.
- j_lev 12y agoRemind yourself of the alternative ie working in a company pumping out lines of code for the rest of your life for a salary.
- hawkice 12y ago(Also worth noting that this isn't particularly bad, in the grand scheme of things. When you are dejected the rose colored glasses come off -- so if you want to keep motivated, build that emotion from reasons that are true even when the alternatives seem quite good.)
- thejosh 12y agoA side project doesn't need to be profitable, or an actual business. It can be anything you want to do as a hobby.
- a-saleh 12y agoActually, I kind of like doing just that and leaving 4 pm sharp :)
- Mz 12y agoMaybe part of the problem is your framing: "pushing code." My projects don't involve writing much code, but there are always different things I can be working on. I can be working on the visual look of the website. I can be working on firming up my definition of what the project is about. I can be working on talking to people and recruiting prospective audience members. Etc. If pushing code is turning stale, what other thing can you do to further the project? Those other parts matter and you may be more able to address some other piece of it at some point where "pushing code" is the last thing you feel like doing.
- aberrant 12y agoIt's good to always have a problem in mind from that side project. It might get a little tricky trying to balance that problem in your head with your day job problems, but doing so may help keep up the steam.
- itake 12y agoKeep your side projects simple so you can get that dopamine reward with every launch/update.
- alexknowshtml 12y agohttps://unicornfree.com/2013/how-do-you-stay-motivated-when-youre-not-making-any-money https://unicornfree.com/2013/how-do-you-stay-motivated-when-...
- gexla 12y agoAnd here is sort of the anti-advice. ;) https://unicornfree.com/2014/dont-write-1000-words-a-day https://unicornfree.com/2014/dont-write-1000-words-a-day
- jbrooksuk 12y agoI build things that I need, so the act of me fulfilling that need is enough for me to carry on. Unfortunately I don't always have enough time to push code every day, but that doesn't mean I can't answer emails, add items to Trello and be active in the Gitter chatroom etc. For those interested, I'm currently working on Cachet, an open source replacement for StatusPage.io (https://github.com/cachethq/cachet https://github.com/cachethq/cachet) Today I created a CrowdIn project for translating the language files into other languages :)
- zxcdw 12y agoI think it might be interesting to note that different people have different motivations for "side projects" (as well as different definitions for side projects!). For someone, a side project might be about solving arbitrary problems such as trying to write a Tetris clone under, say 1024 bytes on x86-64 Linux machine -- something which has absolutely no real world relevance whatsoever, while for someone else that'd make no sense and be waste of time. Probably they'd much rather build something much more concrete, say a real product (say a web app) actual people can, and hopefully will use. Perhaps it is a meaningless and arbitrary attempt at making distinctions, but I find it relevant for myself as I certainly fall under the first example, while many here in HN fall under the second. I feel this definitely plays a role in what we consider "side projects" and how we deal with them.
- otaviogood 12y agoSince you mentioned it, me and at least 2 other people have written Tetris in 256 bytes. I used 80286 assembly and you probably can't get away with that these days - even when I did, it was already old. 64 bit code will probably be much bigger. But the main trick besides the right instruction set is to use XOR for drawing, erasing, and collision checks. Have fun!
- atrilla 12y agoI agree with you. It's a matter of taste and purpose, and this is dynamic, so you'll probably want to see them all in time. My motivation has always been focused on deliberate practice (i.e., a fancy way to approach personal and professional development). I have been through the app-based MVP and the personal mind-dump. I recently started a new blog, which intends to be a mixture of the two: personal interest and passion for Artificial Intelligence, and an approach to consulting: http://ai-maker.com/ http://ai-maker.com/ Programmers tend to say: ABC, which stands for Always Be Coding. I apply it to anything I like and that I intend to get better at.
- justinzollars 12y agoPure determination. I work more hours than any person should, or that is even healthy but I do not want to go to my grave having not fulfilled my dream and personal goal of having a company of my own.
- kelukelugames 12y agoBy not having kids. Not over working at day job.
- acketon 12y agoHaving children can provide a huge boost to your motivation.
- kelukelugames 12y agothat is absolutely true too.
- Jonovono 12y agoBecause I make things I WANT TO USE!! I'm not making them to put on my resume, or to show people, I'm making things that I actually want to use and they don't exist yet and they would make my life better/easier/whatever. Sometimes I show others and they like them because if I want something made generally there are others that want something like that as well. But sometimes I don't release them as well. But I find that to keep me motivated.
- kvakvs 12y ago1. Get paid for side projects (bad motivation but better than nothing for a boring project). 2. Since programming is a hobby and also a day job, make hobby part of it fun. Make your current side projects fun and engaging, drop when they become boring. 3. A side project which is used by people becomes a responsibility, sometimes you can throw it away, or pass over to someone else to manage. That's a relief. Sometimes being needed by people can give some motivation. 4. If stuck on an unpaid side project you cannot drop (or as well, have boring regular job project which you cannot drop for obvious reasons), make your side project relaxing and fun. Make sure you do your fun hobby often to avoid burning out. Side projects cannot last long, while you have steam to push it on. If, say, two months passed and thing isn't ready -- make a decision, do you want to keep it, will someone want or need it, then continue or drop it and find a new toy, which is fun again.
- andersonmvd 12y agoProgress is the best motivator dude. Check out the power of small wins: https://hbr.org/2011/05/the-power-of-small-wins https://hbr.org/2011/05/the-power-of-small-wins
- Spearchucker 12y agoI've been working on mine (bit.ly/1rqJ0NG) for over 7 years. There are a few things that keep me going - - The first is that while I've been using it (or a version of it) for about 5 years, there are a lot of features I want that are still missing. - Second is wanting to see it through. There are loads (over 20) of unfinished apps in my \Dev folder. I think some of them are epic ideas, but decided to focus on one and see it through. - Third is to make some cash. That's a nice to have, and I'm ok with it not making anything, because of reason 4 - - I love working on it. It's rewarding like nothing else is. I once told a friend (quite seriously) that solving some hard problem in it was better than sex. He told me I was doing sex wrong. Maybe... but I can stare at a piece of code for ages after writing it, if I think it's good. Narcissistic, I suppose, and probably deluded, too. But there it is. - Fifth, and last, I've learnt more from it than any other (single) project I've ever done - privately or professionally. Not just code, the cloud, document v. relational v. graph dbs, but also the not-so-great value of TDD, the value of DevOps, and arguably the most important, the value of just not accruing technical debt, ever, at all. If you gave me another minute I'll think of a million other things it taught me.
- rwallace 12y agoThe solution I eventually arrived at after many years: Don't start any more side projects. Save my energy for my primary project.
- dsl 12y agoI owe my career, and as a result my means and lifestyle to the Internet. In turn I like to do things to fix the Internet and make it better for everyone else. It also helps me to work on things that I think really matter. For some people that is building an easier to use templating engine. For me, it's building security and reliability.
- bbody 12y agoI always choose something that I am really passionate about and try to limit how many side projects I have.
- imkevinxu 12y agoI have 2 criteria for picking an idea I actually want to work on: - One is how many days consecutively am I still thinking about the idea without forcing myself - Second is even if no one uses it and everything about it's progress is shitty, will I still want to keep working on it?
- robot 12y agoThe greatest motivator is to think about the end result. This applies to other will-power consuming objectives like losing weight. You should think about what you will achieve in the end. Especially if the side project is one that you can make use of yourself, the effect is even bigger since you will have immediate benefits from the outcome.
- gavanwoolery 12y agoI turned my side project into a unicorn job. It only took about 10 years of hard work...but I did it the hard way. Find the easiest thing that you are legitimately passionate about. Do not work on a project because it is in a popular space, because you are looking to make a quick buck, or any other reason than you are undeniably interested in the space. If you are not interested in the project, it will become boring and you will lose steam. Even if you are interested in it, there will be boring tasks to tackle. It might be that the only project you are truly interested in tackling is not an easy one (as is my case). I have a massive graveyard of failed ideas that halted at some point because I lost interest and/or realized they were dumb ideas. The only one that has lived is the one I keep coming back to (and am now working on full time). These are not factual statements, just a reflection of my experience. Yours may differ.
- plinkplonk 12y ago"I turned my side project into a unicorn job. It only took about 10 years of hard work...but I did it the hard way." Sounds fascinating. Could you give more details? What was your sideproject? What did you do to turn it into a unicorn job? Thanks in advance.
- scroy 12y agoI believe he's talking about Voxel Quest [0], which was on HN some time ago. I see what he means, it has clearly been a big time investment. [0] http://www.voxelquest.com http://www.voxelquest.com
- gavanwoolery 12y agoYes, as user "scroy" points out I am talking about Voxel Quest. Bits and pieces of my story are scattered around, but here is the full thing (grab a pillow): In around 2000-2004, I was working several jobs while attending UCSB, as a gardener, a lab monitor, and a freelance web designer. I got by working the first couple years but the last year was hard and I was disqualified from engineering. I wanted to quit school but my parents pushed me to transfer. In 2004-2006, I worked on my first big game engine while finishing my degree. I lived the majority of my time in isolation (at a school that was built over a "haunted" mental hospital of all places; I wish I was making this up: http://www.hauntedplaces.org/item/camarillo-state-mental-hospital-csu-channel-islands/ http://www.hauntedplaces.org/item/camarillo-state-mental-hos...). The initial tech demo was well received, but no crowd-funding or "early access" existed at that point, and I tried to keep the game going via donations but only got about $200 outside of family (the original people who donated were given really good rewards from my recent Kickstarter campaign though). My parents nudged me to get a paying job (I had been out of college for 6 months at that point), so I worked for a startup in SD called Goowy Media (funded by Mark Cuban, led by Alex Bard, and acquired by AOL - I was just an employee though). Startup hours killed any hope of finishing the project but I kept working on small games and other projects in my spare time. In a way my many failures turned out to be the perfect storm. For a lot of people, I think success kills their ambitions - they tend to get into funding other peoples projects rather than their own. My failures hardened my desire for success, while helping me hone my skills. Several years ago, I was working for my twin brother and his partner making mobile applications (we have both since left the company although I think he still might consult). The people were all nice but the job was time consuming and not very interesting for me. In spite of working long hours, I still tried to do what I could outside of work. My job was often hard, but occasionally calm, so I had some windows to work on projects. After a few brutal months of work, I got really desperate. My life was falling apart in almost every respect - my health was suffering (there were some weeks I worked 100 hours), my relationship with my girlfriend (now wife) was naturally suffering as well, I was depressed, I had just finished paying off a large amount of debt so my financial situation was only just recovering. I started testing the waters for other jobs (could not find any good fits), and started cold-emailing investors to pitch bad ideas (no responses of course). I remember the exact moment I turned my life around. It is kind of embarrassing to say, but I was looking at myself in the bathroom mirror, and I looked like hell, and I broke down into tears (I don't often cry, or express any emotion for that matter - it takes a lot to get anything out of me). I wanted to blame my situation on anyone but myself, I wanted to feel sorry for myself, and then I realized that was exactly what was wrong with my life. Who was going to change my life if not me? F__k it, I thought, I'm reprogramming my life now. I put in my one month notice to quit, and threw a "Hail Mary" pass to Reddit, asking for advice about what to do in my situation. To my surprise, a person from Switzerland looked over my work and offered to invest some money (he was not an investor, just had some money in savings that he was willing to loan out). I was going to Germany to meet my (at the time) girlfriend's family, and made a side trip to Switzerland to meet my investor in what felt like a clandestine James Bond meeting. I also snuck in a proposal to my wife while in Switzerland. :) With my job severance and new investment, I began to bootstrap my game (Voxel Quest). I worked over a year on it (doubletime), and posted here on HN a few times. In fact, HN was almost solely responsible for my success up to this point, as it was one of the few communities that seemed to get what I was working on. Each time I posted to HN, I would hit the top of the front page, and investors began to take interest. Right now I pay myself about $15/hour and have a wife/kid/dogs/car/house to pay for, so choosing to stay private was not easy. I invested my life in my work, and cashing out felt too much like giving up on realizing its full potential (or I am just really bad at making financial decisions, you choose). :) In spite of turning everyone down, several have offered more than once, so there is comfort in knowing that additional options exist if needed. I launched my Kickstarter at perhaps the worst time possible, when projects are failing left and right, press is refusing to cover many KS projects, and backers are more skeptical than ever. I was lucky to reach and exceed my goal, and I am extremely thankful to everyone here for making it happen (over 1/3 of donations came from here on HN). Right now I am just working hard, when not procrastinating as with writing this. I try to update weekly, and each update seems to bring a bit of new interest and preorders are picking up so I am still optimistic about the way things are going, even though life is not easy at this point. A few more tips: Never hide your work. Make everything you do public. I went 6 months between updates, which is an eternity in project time. Strive to update weekly, no matter how small the amount of work done. It can seem time consuming but you will get better at it the more you do it. Publicity will make you accountable for your work (or lack thereof), it will motivate you (via praise), and it will help you improve your results (via criticism). Share your successes, even if you are not comfortable tooting your own horn. People like to hear about success, and it breeds interest in your work.
- Kenji 12y agoCoffee. Loads of coffee.
- weka 12y agoI do things that truly I am passionate about. I don't work on side projects because it's "popular" or it's an easy dollar but because the topic they are concerning are ones I actually care about.
- deet 12y agoSet small goals for yourself that have a visible or measurable impact. Each time you complete one, you'll feel a sense of reward. The important thing is to work with your psychology not fight it. What I've found to be effective is to have a list of goals roughly by week, for the next few months, and then each week to assign myself a small list of tasks for each day. I also try to mix up the type of tasks over each day -- some are fun and I'm excited to do them, some are more tedious but have to be done. So when I do some tedious work I reward myself with the fun tasks. When I fail to meet my goals I allow myself to get angry with myself -- almost a disappointed self-hatred. But only for a few minutes, and then I move on. Perhaps some people will disagree with this technique, and might suggest only positive self-reenforcement, but if you're not totally honest with yourself it's going to be tough to keep yourself on track. Whatever you do, you should definitely start by examining your goals and motivations for working on your project, since everything entirely depends on these.
- chvid 12y agoI try to remind myself that it is in the last part of a project (the 80% effort that appears only giving 20% of the result) that I truly learn something. Not finishing projects is a really bad habit, even for side-projects. Try to set a goal of at least publishing your project in some meaningful form - maybe it is just a blog or a forum posting. Also be careful of vetting your ideas before you start. Make notes, paper prototypes, drawings or something that allows you to better reflect on and filter your ideas.
- jmtame 12y agoI've recently started sending my todo lists to my friends and asked them to do the same. The progress I've made is substantial. Tasks I haven't finished in years were done in a week, and I finished significantly more work than I set out to do. One of my side projects which has been sitting idle for over a year will be finished this weekend.
- neaanopri 12y agoIf I've invested a lot of time into something, then I feel invested in the project to go through some minor pain. If i'm willing to endure major pain, it's no longer a side project.
- xanderstrike 12y agoShip quick and get users. My passion project [1] started as a weekend endeavor, I started hosting it on campus at school immediately and the users began rolling in. Now it's got an install base of about 5 that I know of and a userbase in the hundreds (it's popular with the VPN and darknet crowds). Having other people besides me who care about the project is the sole thing that has kept me interested and pushing. Just make sure to sell your project hard to your friends and family, and make sure that you never stop being a user. For things that are fun to make but nobody would want to use, beats me. Those things I usually play with until I run out of steam, at which point I figure I've learned what I'm going to learn from them and move on. 1. https://github.com/XanderStrike/caketop-theater https://github.com/XanderStrike/caketop-theater
- alexggordon 12y agoHow? By wanting to work on things that you want to work on, more than you want to watch TV, or play a video game, or do anything else. The thing it came down to for me is understanding how incredibly rewarding it is to create cool things that I use. For example, the digital situation of Chess really sucks in the work right now, so for the last few months I've devoted about 10 to 15 hours a week to created a catch all solution to playing chess online and on your phone. It's gotten to the point where I can now use it to play with my brother, dad, sister and friends. As a person that lives a fair ways away from my family, it's really rewarding to be able to do something like that. I love getting input from them, and just being able to bond with them over something simple. As far as the motivation, and not just the desire, it also came down to understanding how I work. I burn out quickly if I work on something a ton, and so I have an incredibly strict schedule during the week, and then completely leave the weekends open. Essentially, I kind of made a compromise with my personality so that I ended up happier, and my professional life came out ahead. In addition to that, I educated myself. I realized what I wanted to be in 40 years, and I found out how other really smart people did it. The books below really had a major influence on me in motivating myself to work harder at everything, and to motivate me to work on side projects. Lastly, and for myself this is huge, I surrounded myself by people I wanted to become. It's really really really hard to do stuff on your own, so I worked hard to become friends with smarter people than me, that challenged me at life, for lack of a better way to put it. I know stuff that like may sound a little cliché, but it really is one of the most rewarding things I've been able to do in my life. Book List: 1. Without their permission. Alexis Ohanian 2. Outliers. Malcolm Gladwell 3. How to Win Friends and Influence People. Dale Carnegie 4. Hackers and Painters. Paul Graham
- fak3r 12y ago"How do you stay motivated to work on side projects?" By going to work everyday.
- DennisP 12y agoI was having trouble staying motivated. Now I've quit my job and motivation magically appeared :)
- super-serial 12y agoI got a full-time job and my motivation magically appeared for my side projects. Before I was basically a bum that occasionally did contract work... now I work 40 hrs at my job, and 20 hrs at a coworking space on my startup. My hatred for the 9-5 job is what motivates me.
- dba7dba 12y ago"My hatred for the 9-5 job is what motivates me." This.
- ThomPete 12y agoYou prioritize it. If you don't want to prioritize it you are working on the wrong project. It doesn't matter if it's two our daily or two days a month. If you are working on something you like you will prioritize it. So don't be afraid to kill a project that you don't want to prioritize.
- philip1209 12y agoLots of great answers here. One I don't see is to work with somebody else on the project. Holding yourself accountable to somebody else can be a lot more motivating. In addition, it's hard to get a pat on the back from an end user for doing some things, like unit testing or setting up an LLC, but with a parter these baby steps seem more significant. If you choose to work solo, bring in a friend - preferably who is working on their own side project - to mentor you. Try scheduling work time together or swapping expertise (e.g. design feedback or code review). I worked on a project in parallel with a friend's project, and we did IDoneThis updates to each other every day. That accountability helped to motivate both of us, and rather than give up when we got stuck, we had somebody to talk through issues with. An organizatoinal tip is to set up a personal kanban and break everything that you are doing into tasks. Jumping into a large project that takes months can seem like a neverending tunnel, but being able to see incremental progress in terms of completed cards every day can be motivating. When you start to lose focus, look back at the cards and see what you are supposed to be working on or pick another card. Finally, don't lose sight of the end user - build something that people love, and keep dialogue with your customers before you launch the product. Get feedback, shadow them, identify pain points, grab coffee - a project become a lot more real when you humanize the end user. Good luck!
- chipsy 12y agoCombine more projects into the same codebase. With games this is easy - make a "multicart" game that has more than one game in the same program. Once that is done, you always have the whole portfolio of unfinished-yet-related things sitting there. If you can't work on any of them, you start a new one, but eventually you hit the point where you can see that you're just redoing an old one. You don't get stuck on overengineering it because the context of it is already as a small part of a whole. If one of them proves to be a really good idea and more deserving of attention, you chop it out of the original context.
- cheng1 12y agoFor me, it's desperation. I have nothing else to do nor I'm likely to achieve anything else.
- yarrel 12y ago1. I stop working on them when they aren't fun, interesting or rewarding. 2. I structure them in sprints. 3. I have a clear life cycle for them (plan, implement, promote, evaluate) that feeds into 1 and 2 . This means that it always feels possible and rewarding to work on projects. Hack your limbic system! ;-)
- krapp 12y agoI enjoy programming, and making things, but my side projects are the only code I write which really lets me be creative. So I keep going because I want to like what I do. Also,sometimes the only thing keeping me going is the sunk cost fallacy. I don't want to just give up on something I spent months or years on. But one think that did help me out was learning to recognize the difference between moving forward and moving in circles. Not wasting a lot of time refactoring stuff - especially if a lot of time has passed - because your tastes or mood has changed. I have one project (a web project, nothing anyone would care about) that I literally rebuilt from the ground up at least three times already, just because I got sick of the current framework I was using. I wasted a lot of time moving in circles because I didn't actually want to finish the project, but I did want to keep working on it.
- bob917 12y agoAmphetamines.
- vayarajesh 12y agoI have too faced demotivation when it comes to side-projects. Until recently (64 days to be exact) I have started spending my morning's first 3 hours on my side projects.. and these side projects are not to make any extra pocket money.. but just that it is interesting and I get excited to learn something new while doing something which is interesting. I get motivated even more seeing the github streak (github.com/rajeshvaya) and it a very small measure which helps me going as well.. everyday for past 64 days I have made sure I spend my first 3 hours of my morning time (even on weekends.. I make sure I get up early) after you get this initial start it is kind of self-motivating which will keep you moving forward. What i think is just 2 important things to get this: 1. Work on the projects which interest you and not because other people think its cool or just to make little amount of money 2. Try to spend first few hours of morning on your side project rather than ad-hoc amount of time and different time-span of day. Keep it regular, same time just like gym
- aaronbrethorst 12y agoMake something that can be built and deployed before you get bored[1]. Once you start attracting users, it's easy to keep going on it. [1] Which may mean that the MVP takes a day to build, or the project is something that will be sufficiently useful for you that you can work on it for six months without getting bored.
- Bahamut 12y agoIn my free time, I mostly do whatever I feel like, so I experiment on random projects - I don't necessarily care whether I finish them, but I have fun and learn new things.
- joshu 12y agoYou will lose steam at some point. Go with the flow; take a break, try something else, come back to what matters. I put del.icio.us down for 6 months very early on.
- julienchastang 12y agoIs that you Joshua Schachter? Del.icio.us was one of the greatest, and most underrated ideas to come out of the early web. For a while I would use del.icio.us as a search engine because it often gave better results than Google. If you can beat Google in search even in a limited area you are onto something big. (Am I remembering correctly that del.icio.us "static" pages would actually show as top Google hits?) Sadly del.icio.us has languished over the years under various owners. I still use it though and have a few thousand links saved.
- joshu 12y agoIndeed.
- karlmdavis 12y agoFor me, a combination of these three things has proved to be successful: 1) Every day. I've seen this with working out, side projects, or whatever... I can't stick with commitments if I try for an "every other day" or "only weekdays" strategy. Has to be every day. [1] 2) Track it in a visible fashion. GitHub's contribution calendar is fantastic for this. I've got a text file named 'work-log.md' in my side project's folder, and I update and commit that file whenever I spend time on my side project-- even if all that I did that day was research, rather than coding. My current high score/longest streak is 59 days in a row, and wanting to push that higher is incredibly motivating. With workouts, some sort of fitness tracker serves the same purpose. 3) I don't beat myself up too long or hard about screwing up. There are some folks whose "longest streak" on GitHub is 365 days or more. Good for them! I'm always sad when I realize I've missed a day, and I often take a break for a week or two once that happens, but I've never even thought about just quitting. Just motivates me to try and do better next time. [1] One exception to this was biking to work: I never really biked on the weekends, but it didn't prove to be a problem. Probably because commuting by bike was so hard to forget about.
- reboog711 12y agoI imagine the money this new crazy idea is gonna bring in; and how I'm going to use that 'windfall' to fund the new crazy idea I can't stop thinking about.. I have yet to have one of 'side' projects make me rich enough to fund my next side project, though... Really the side projects just keep me fresh and expose me to new technologies concepts in a way that I would not get from client work.
- sgold515 12y agoI have a Big Board in my room with my goals listed. It helps when you visually reinforce yourself. Also I have a physical calendar in my room. I want to go to the gym 70% of days in the year so cross a day off each time I do cardio/lift. I stole this technique from Jerry Seinfeld who used it for writing jokes :)
- cJ0th 12y agoSorry to break it to you but you didn't steal it from Seinfeld: http://www.reddit.com/r/IAmA/comments/1ujvrg/jerry_seinfeld_here_i_will_give_you_an_answer/ceiugt5 http://www.reddit.com/r/IAmA/comments/1ujvrg/jerry_seinfeld_...
- otaviogood 12y agoDon't be afraid to drop a project. I tend to have a handful of projects going at any one time. A good project will stand out and it will pull you through to completion. Pretty much all of my significant jobs were spun out of my side projects. My current job started as a side project that I prototyped in a few weeks. A company was built around it and now our company is part of Google. This. https://www.youtube.com/watch?v=h2OfQdYrHRs https://www.youtube.com/watch?v=h2OfQdYrHRs Take note of things that inspire you. For me, books or other people's projects. Show your work to your friends and try to convince your friends to work on projects with you. Find programming languages / environments that make it easy to spin up a simple project without too much overhead. Start small. Last I counted, I have about 140 folders in my dev directory. Each one has a small project I started up. One turned into a successful company. Another won a DARPA challenge. A few others were released in various forms. But most got dropped because they just weren't as cool as something else. And I think dropping projects isn't just ok, it's great fun and will help you find that project that's worth completing.
- ChuckMcM 12y agoLike others here, if I lose steam on one, I switch to another. The novelty effect is real. To support switching though I have to use a notebook. As I get to the point where a project is feeling more drag than energizing, I write down everything about it that I have in my head at that point into my notebook. Then I find another project I had left in that state, read the page(s) on it, and spin it up. Still, my biggest problem isn't losing steam its simply too many choices. I need to get better at deciding I'm not going to do a project and putting it down for good.
- parley 12y agoThis is good advice, and I agree! Anything larger than a small project will need to be put aside for a while from time to time (for whatever reason), and I've found that making it easy to pick it up again is one of the most important things you can do. My strategy for this (admittedly most suitable for software projects): 1) Write down your large, fantastic vision for the finished, complete project. 2) Write down the smallest possible feature that would bring you some utility. MVP, if you like. 3) Take this requirements and write an automated test at the highest level of abstraction possible. It should almost read like the MVP requirement you just formulated. That doesn't have to mean BDD, just something you can read easily. 4) Implement until the test passes. 5) Go to 2. What I've found over the years is: - Quickly reaching milestones of utility are key for keeping motivation while working. This is obvious, of course. - The written down vision brings the motivation and big picture plan back when picking things up: Get your blood pumping again! - The automated tests help keep implementation going when your drive falters. What should I do know? You should just make the test pass. Nothing harder than that. No need to think super hard. Just try to make it pass. - The automated tests help you get hacking again without the immediate fear of breaking things: Get the ball rolling again, quickly and easily! - The automated tests also serve as your requirement specification so far: You can easily see what already works. Side projects are so important, and one should make it as easy as possible to sustain and restart them! Good luck!
- dwillmer 12y agoI'm a bit confused by this approach. Is it related to some established design approach or principles? What is MVP or BDD? Could you provide an example of your process? Would it be similar to this example? 1. I want to put out a rpg for iOS. 2. Implement a pokemon style battle system -> when health < 0, NPC dies. 3. Not sure where automation fits in? 4. Code it and test until it works. 5. Move on to adding experience when killing an enemy, etc.
- kchoi 12y agoWhen I have a hard time getting myself to do anything, I try to think about why I should do something from different points of view at different levels. What I mean by this is that you need to rationalize why doing something is important to you in terms of its meaningfulness and impactfulness. For example, let's say I'm a web developer with zero knowledge of building a mobile app. And I want to build a mobile game in ios that doesn't exist in the world yet. When it comes to pushing myself to work on such an app, I remind myself that I want to become a programmer with versatile skill sets desired by many employers. That will be your high level goal. However, this goal might be too general and isn't convincing enough for you to keep working on the project. So, let's make your goal more specific. So, in this case, it can be that you are super interested in learning about technical details behind implementing the game whether it is about designing the db relations, software architecture and etc. That will be your middle level goal. Finally, if none of them made you want to work on the project, let's dig deeper and make a goal really personal to you. It can be something like you want to build it because you want to play this game but you cannot find anything like it from anywhere else. That will be your low level goal.
- rachelandrew 12y agoIf you find that you lose motivation or get bored with a side project then I think you really need to ask yourself why you are doing it. We find the time and energy for those things that we place importance on. If the project isn't important to you then maybe it is time to move on. If it is important and this is just a temporary state - perhaps due to hitting a difficult part or a bit you don't enjoy dealing with - you need a strategy. Break it down into manageable chunks. Put a date on them. Make sure however that the dates are achievable, there is no better way to become demotivated than to constantly feel you are falling behind. If your thing hasn't shipped yet, can you get it to a release version sooner? Can you cut stuff out? Getting your project in front of other people can be a real help. Treat the project as a first class citizen alongside your other work. Meaning that even if you can only devote 4 hours a week to it, those 4 hours are scheduled and used. Don't push them out for other work. Plan what you will do in that time, ahead of time, so you don't start to procrastinate when you sit down. We turned our side project into our main source of revenue, you can read some of that in the first chapter of the book I wrote based on that story here http://rachelandrew.co.uk/archives/2014/03/21/chapter-1-the-profitable-side-project-handbook/ http://rachelandrew.co.uk/archives/2014/03/21/chapter-1-the-...
- Osiris 12y agoI get energized about my side project when I get suggestions, comments, or other feedback from users. I can go months without doing anything and then I'll get one person asking for a feature or change and I'll work for a few hours or days to get it done. My advice is to make is easy for customers / users to give you feedback. Use a support ticket system and provide email links on your homepage.
- eps 12y agoNot just bug reports and feature requests. Compliments do a little wonder in fueling motivation, so the more things you give people to comment on, the greater the chances of hearing back will be. Keep a public work log, publish your progress and encourage feedback. Not just commit history on GitHub, something a bit more humane and substantial. Something to look back and see how much you've accomplished so far.
- jlarocco 12y agoThe first question you should ask is, if you can't keep motivated, why are you doing it? For me, side projects are things I do because I'm interested in them and have free time to invest. If I don't, I don't work on the project, and it's no big deal. Yeah, sometimes I'd love to have more time, but oh well. It'd be different if I made money off of them, but I don't. To me, that would make it a job, and not a side project.
- sagivo 12y agoIt's a side project. You have to want it or choose another one.
- balloob 12y agoWork on something you like. Don't care about money or fame. Use your side project as your playground to learn new things by doing mini projects within your side project: - Want to learn about testing? Add test coverage. - Want to learn about webcomponents? Find a way to integrate it. You don't have to finish all the mini projects. Dropping something is fine, you still have the experience and knowledge! What really helped for me in keeping steam is publishing the source of my side projects on GitHub. The idea that someone else uses your code is very satisfying. Once some traction comes, the pull requests and issues start coming in and it gets even more fun. And when you get bored? No problem, just switch to a different side project or think of a new mini project.
- cgallello 12y agoI just finished with a side project. I knew going in that I would lose motivation for reasons left and right, even though it's the right project for me to work on. In order to keep up my motivation, I started "Side Projects Dinner" - I would make dinner for my friends every other week, and they would give me feedback on my project. It worked great, and we've had quite a lot of fun. And of course, my friends are also getting feedback on their own projects and thinking of new project ideas. Highly recommended!
- sr3d 12y agoGreat idea about sharing the ideas around. I can use this idea, but currently 100% of my local friends are non-technical, still it'd be interesting to show an idea to friends. Friend-development approach?
- swayvil 12y agoWhat keeps me going is the awareness that my project is worthwhile. It's got science fiction level worthwhileness. Ya, that sums up the motivation source right there. I do it right. I take my time. Spend much time thinking about the next step. Draw and stuff. Spent like 12 years experimenting with different geometry games. Looking for the one that feels right. I have this stack of project sketchbooks. Sometimes I look at the stack and think "I'm nuts". The final climax seems close. Sometimes I wish a bunch of enthusiastic highschool kids would take my project over, but not quite yet. Also there's bucks in it. It's got material worth.
- lotusko 12y agoby learning foreign language
- lotusko 12y agoby learning foreign language
- richardw 12y agoI tweak my motivation setup, but for me, currently: 1) http://thinklegend.com/commit/ http://thinklegend.com/commit/ - I have "do 30 min X project per day", which isn't much but usually the hard part is starting. It's easy to kick out 30 minutes work, feel good and add a link to the chain. 2) Yesterday I itemised a bunch of push and pull factors about my current job and my side project. We regularly build amazing things for customers but forget to do what's important to us. We get caught up in "urgent" and forget about "important". 3) Startup podcasts. In the absence of a mastermind (Anyone else in Johannesburg?) they keep me in the mindset of building. They're like a small daily escape into a world of possibility. I listen while driving, so after the work-day drudgery I'm reminded of what I'm working towards.
- ryanmk 12y agoI use Beeminder.com to stay motivated. They have githun integration, which helps.
- dreeves 12y agoThanks for the Beeminder plug! Our GitHub integration is at http://gitminder.com http://gitminder.com
- jmadsen 12y ago- Trello, and break it down to the most granular set of tasks that you can. - Put some real easy ones in a list called "low-hanging fruit" - When motivation is low, pick one or two off to get going...if motivation doesn't come back that day, just rst. But often the mere act of getting going will move you along
- tfb 12y agoThe best kinds of side projects are the fun ones. When you really enjoy working on something, you really don't need to "stay motivated". I love to code and I love to build things, and I would lose my sanity if there was only one thing I ever worked on. Plus, one of the best things about side projects is that there's usually no pressure to really get it done, so when I load my workspace for a side project, I'm always excited to get started, because I know nothing really important depends on it. And unsurprisingly, I've learned so much from random fun stuff on the side that I would never have learned otherwise.
- fsloth 12y agoI've come to strive for what I call the minimum overhead principle. If I have a project going on I make it as easy as possible to continue (editor open, pad and paper at hand etc) and try to do at least a few minutes per day. Sometimes it's only those few minutes and sometimes I can get a few hours in. And those add up. For personal software projects I've discarded all engineering principles and do what I would call structured hacking. Everything is neat and tidy but only up to a point that it lets me progress swiftly.
- jonmrodriguez 12y agoTurned the side projects into a company.
- danbmil99 12y agoPerhaps a better (or at least related) question is: how does one find the time to put into side projects on top of staying competitive as a programmer in an environment where 45-55 hour weeks are customary and expected, and also achieve some kind of work/life balance involving significant others and children? I challenge anyone to show that the math for this works out. Everyone I know who has put effective effort into so-called 'side projects' is either living off saved wealth, working 20-30 hours/week on lucrative consulting contracts, and/or has an SO that works their ass off in some all-consuming, soul-crushing, high-paying career.
- HeyLaughingBoy 12y agoThe reason the math doesn't work out is that you're using the wrong math. If my job expected 55 hours/week from me, I'd look for another job. If life balance is really important for you, look for a job that allows you to achieve it.
- collyw 12y agoI work a 40 hour week, but still don't find much time for side projects, just because of other things going on in my life, and I don't have kids.
- gabemart 12y agoIt obviously depends on the type of side project, but if you can find users, that can be a big motivator to keep on working. Getting emails from people who enjoy your work is very effective at motivating you to continue.
- mrmondo 12y agoI break up my side projects into manageable chunks, completing one of the chunks is very satisfying. It's hard to see value in something until you add it, this is why your greatest achievements will be hard to see moving forward.
- briandear 12y agoSimple: I do my 'real' job and then I am reminded why I don't want to work for other people. That's insanely motivating. For example, if your boss has some project and design which which you disagree and you're powerless to improve it -- that's great motivation to do it the 'right' way on your own project. My side project work is often passive aggressive responses to my employers.
- sideproject 12y agoHere's the counter example of what happens if you DO get tired of your side projects one way or another, not that there is anything wrong with that. http://sideprojectors.com http://sideprojectors.com (disclaimer - I maintain the site) Based on my experience of running the site over a year now, there is nothing wrong with side projects that do not become "success" (whatever the definition of your success may be). The most important part is the building it and shipping that v1.0 (or v0.1.. whatever).
- jokoon 12y agoI guess that when I want something better that doesn't exist, the only possibility is to just make it instead.
- bra-ket 12y agofind a buddy
- Htsthbjig 12y ago"How do you keep yourself pushing code when life gets busy or you just get bored?" I don't. When life gets busy with other I am busy and the other people are my priority. If you are with your family and you are not really there, you will feel guilty later on work and not be there either. Steve Pavlina explains it better than I do: http://www.stevepavlina.com/blog/2014/12/130-days-off-per-year/ http://www.stevepavlina.com/blog/2014/12/130-days-off-per-ye... What Steve could do after years of training(and reading thousands of books and learning from others) is probably not what a normal person could do. But they can apply some of the ideas. In my experience, people from the US tend to work to much, but not really work. e.g When a German person works, he works, do not distract him because he will get upset. I had never ever got bored in my entire life. I have always done whatever I wanted to do. Life has been tough to me at some times, but always in the sense of the Lion on the wild, that if he does not hunt, he just dies. It is just so easy today to choose safety, but also living on a cage. Go to the zoo and look at the animals there. Have you ever seen an animal(lions, leopards, elephants) in the wild? It is completely different. It is the same with people.
- eru 12y agoJust keep in mind that Steve Pavlina is a crank.
- thinkzig 12y agoWould you care to elaborate on this? I think Pavlina is an odd guy, but I've found some of his advice to be quite helpful over the years. I don't agree with everything he says, but I don't think he's a "crank" either.
- eru 12y agoSee eg http://americanloons.blogspot.com.au/2014/04/1018-steve-erin-pavlina.html http://americanloons.blogspot.com.au/2014/04/1018-steve-erin... and http://rationalwiki.org/wiki/Steve_Pavlina http://rationalwiki.org/wiki/Steve_Pavlina
- burntsushi 12y ago
- benhamner 12y agoSet a goal of making a bit of progress every day. Even 10-15 minutes a day adds up over time, and it keeps you in the habit of making ongoing improvements.
- ratsimihah 12y agoDo something relevant that you really want to do. That means don't pick a project because it's easy, but pick one that passionates you, no matter how hard.
- pepon 12y agoFor me it is more difficult how to stay motivated in your 8-5 work when you are building an awesome side project.
- kevinold 12y agoI'm currently reading "Mini Habits: Smaller Habits, Bigger Results" and have to say it's could work for me. I've battled with starting/stopping side projects. This book presents an interesting argument in that willpower and making "stupid simple" tasks that you do every day (his example is one pushup) is the key to building a habit since repetition is what is necessary to build a true habit. http://www.amazon.com/Mini-Habits-Smaller-Bigger-Results-ebook/dp/B00HGKNBDK http://www.amazon.com/Mini-Habits-Smaller-Bigger-Results-ebo...
- gchokov 12y agoBasically two factors: 1) Money 2) Fun As simple as that :)
- xasos 12y agoKeep a commit streak. My current streak is at 153 days[1]. I've seen that I have grown as a developer, learning new languages and writing better code. It's awesome that git quantifies commits and puts it on a graph. I've adapted this from Seinfeld's productivity strategy and has played a large part in my streak[2]. [1] http://github.com/xasos http://github.com/xasos [2] http://lifehacker.com/281626/jerry-seinfelds-productivity-secret http://lifehacker.com/281626/jerry-seinfelds-productivity-se...
- poseid 12y agoI worked on a book about Node.js and Backbone.js last year as a side project. Keeping motivation is easier if you have some rythm. For the book, I wrote mostly on Friday evening and Saturday/Sunday mornings. From publication to first sales, it took much time. So, in that time, I was missing mostly feedback, what others think about my project. For my new sideproejct, a meetup group about Arduino, I find it great to have regular feedback from a "known" audience.