by hugozap on 6/28/20, 10:48 PM with 145 comments
by jlengrand on 6/29/20, 9:37 AM
Don't finish that article, or don't stop with code that compiles.
The reason is stupid simple : It just removes all the blockers of starting working on the project again. It removes the initial step, which is usually the hardest. Come in, finish that function and make it compile. Boum, now you're in the flow just keep going :).
Also, it's ok to stop side projects if they're not fun any more. Stop beating yourself :). You most likely learnt in the process, which was the original goal.
EDIT : Not meant to be taken as a silver bullet at all! Just a small trick to keep a 'live thread' between you and the project.
by bbx on 6/29/20, 4:16 AM
I have my share of past and ongoing side projects, including hobby websites [1], funny tutorials [2], an ebook [2], coding references [4] and a CSS framework [5].
Like the blog says, the motivation is always here at the start. It’s the second part, when this motivation fades, that is hard. What you need is discipline. I work from home so discipline is key, even in my professional work. How you acquire it is through time management: you need to dedicate time to a project. I do this through predefined 2-hour slots each day or week where I have to work on a project. That way I don’t have an endless timeframe in my kind (because endless would mean “this is never be finished”) and provides me a repeatable and reproducible pattern. And by scheduling it in advance, it provides me with a plan to look forward too, and not end up sitting in front of my computer during a break and asking myself “What should I do now?”.
[2]: https://jgthms.com/web-design-in-4-minutes/
[3]: https://jgthms.com/css-in-44-minutes-ebook/
[5]: https://bulma.io/
by deeg on 6/29/20, 12:07 AM
by zuhayeer on 6/29/20, 2:28 AM
That way you don't mentally feel like you're accomplishing things by just texting the idea around. The discussion bloats your senses and conflates self-reassurance with getting things done.
And secondly, sometimes its easier to communicate an idea by building it than to try to use words to describe your intangible hallucinations. Translation from your head to words to someone else's head is pretty lossy (esp on things like Twitter, though I do think its a great creative exercise)
They say the difference between a vision and a hallucination is that other ppl can see a vision (h/t Ben Horowitz). But no matter what, everyone can see cold hard product.
by jakedahn on 6/29/20, 3:24 AM
My main quest is my day-to-day life. When I'm feeling bored, bogged down, and tired of the daily grind -- I head out in search of a side quest.
A side quest can be easy (1 hour), or hard (14 days). But the goal of a side quest is to distract me from my daily grind, and help keep me learning and motivated.
While this difference in perspective is subtle, I feel like it's enough to give me the headspace to stay more deeply engaged with interesting topics I'm trying to learn or understand.
I wrote a related blog post last week on related thoughts, if you're interested: https://jakedahn.com/2020/06/23/its-not-a-side-project-its-a...
by vbsteven on 6/29/20, 6:42 AM
I read Refuse to Choose by Barabara Sher because someone recommended it here on HN and it showed me that I am a scanner always looking for new problems to solve and the act of working on an interesting problem is what makes me tick, not the finishing of an actual project or product.
Usually I learn a thing or 2 by starting and working on a side project that I can use in my day to day freelance work. And sometimes when the planets align the interesting problem I am obsessing over is that bug I need to solve for a client and the satisfaction is double. Working on an interesting problem and making the client happy.
by bconnorwhite on 6/29/20, 2:09 AM
The question seems to be how to keep your project top of mind. Once you're forced to stop working on your project, the context file this post mentions acts like a save point to return your project to top of mind.
I'm sure there are other similar hacks. Maybe review your context file before showering each day?
by tkainrad on 6/29/20, 7:40 AM
I just released the first public version of my first real side project [1] and I don't expect it to be "finished" for years. I have so many ideas for the domain and I am sure new users will bring continued input. Are there popular examples for successful side projects like this?
[1] https://keycombiner.com - a web application to learn and train keyboard shortcuts
by jasonkester on 6/29/20, 6:23 AM
My most successful side project from last year is this climbing community that I built for my wife:
We live in Fontainebleau, France and have arranged our life around the bouldering here, but she had always struggled to find good projects because the climbers who travel here tend to be mostly gym-strong men who power and lank their way through the problems here that suit that style. But there's a ton of other stuff that needs good technique and benefits from being able to bear down on small holds. Women are good at that sort of thing, but there was never a way to find information on those boulder problems.
It made a perfect "Side Project" because the core idea was buildable in a single day, leveraging the same framework I'd used for S3stat, Twiddla, Unwaffle, and the other "Real Business" projects I'd been doing. I was able to avoid silly Javascript build systems and other time-sink pitfalls that normally plague everybody's side projects (presumably because they seem fun and you're trying to learn stuff in addition to building something). The only real "reactive" stuff it needed was in a little "Project Finder" that lets you adjust sliders for grade, popularity, style, climber height, etc. and would benefit from having the list of climbs update in real time:
https://bettybeta.com/bouldering/projects
... and that was just a few hundred lines of vue.js, again minus any build system.
I still stick new stuff in regularly (like the "remoteness" filter so that you can find boulders deep in the woods where no plague-carrying-zombies will find you), but since it's built on a polished and time-tested architecture, I can get an awful lot done in a couple hours, so it's just a matter of disappearing off to the office on a rainy saturday morning, then coming back and announcing a few improvements.
Fun stuff.
by awinter-py on 6/29/20, 5:19 AM
yup critical. I do this and even if it gives me a 10-minute head start at the beginning of a work session, that means way more successful work sessions in a crazy week
I've started splitting my high-level todo list (tradeoffs + optimization) from my 'stream' todo list (next 5 linear things) -- the latter is useful for context + obstacles.
Writing down obstacles + setbacks also helps here.
by daenz on 6/28/20, 11:53 PM
Like a world-changing pandemic and riots? I'll be honest, it is getting hard to focus on building my cute little software bullshit project when a voice in the back of my head is telling me to spend my time prepping for social collapse.
by sime2009 on 6/29/20, 8:31 AM
1)
Work on it consistently. Ideally, work on it every day. It doesn't have to be a big block of 2 hours each day, browsing through bug reports for 10 minutes can also be enough. But it has to be consistent.
The benefits are:
* It keeps the project fresh in your mind and ready to go. No time wasted on figured out where you were at the start of each session.
* It avoids the that demotivating feeling of guilt that may creep in when you think that you've neglected your project, or once again "started something, but not finished".
* It provides a consistent sense or forward progress which helps generate motivation.
2)
"Motivation" is a resource which needs to be managed. Projects will have a mix of interesting tasks (motivation generating) and dull tasks (motivation consuming) tasks. Be aware of this, and mix these two types of tasks so that you don't bottom out on motivation. Developing some self-knowledge of how you work as a person pays off here too.
Demotivating tasks can also be chipped away at by working on them a little bit per day over a longer period of time. Consistency is the key here too!
by jv22222 on 6/29/20, 2:01 AM
It also gives you an in built audience to launch with who will use it - rather than launching to a loud thud of silence - which sucks and feels like the long dark night of the soul.
by Darkstryder on 6/29/20, 9:10 AM
At some point I had a mental shift and decided that a side-project that doesn't get finished but gets me a new job is a huge success and not a failure.
This had a big impact in me continuing to explore new personal projects as long as I can learn something interesting from them.
by ciconia on 6/29/20, 10:22 AM
What I find useful to do when I get stuck with some problem that I don't have the time or the patience to solve, is to leave it alone and just let my subconscious continue digesting the issues. A few days, weeks or months later, the solution would spontaneously reveal itself, and with it new drive and inspiration will fill me, and then I'll dive right back to the work.
I've also had other side projects that I pursued for a while and then abandoned because I had other more pressing or interesting stuff to work on. They're still there on GitHub if I ever feel like revisiting them.
In other words, don't worry about it. Sometimes it fizzles out, sometimes it sustains itself.
by sagunsh on 6/29/20, 3:35 AM
My completed side projects have been the one that took me less than a week. Some of them was less than 100 lines of code.
by woutr_be on 6/29/20, 1:39 AM
by ZainRiz on 6/29/20, 6:21 AM
Instead of trying to keep your motivation up, figure out how long your motivation tends to last for (mine is ~2 weeks). Then at the very start of the project ruthlessly cut down the scope to something you think you could actually get done in that time period.
Perhaps this will require you to simplify some of the stuff you were planning to develop
Maybe you'll adopt just one new tool you need to ramp up on instead of five.
But by embracing the ticking motivation deadline you can modify the work you take on to something that you'll actually finish.
I wrote about this just a few days ago, and how I applied this technique to a project I was working on.
by DrBazza on 6/29/20, 10:58 AM
I tend to check in code that's broken on purpose with a message: "BROKEN... " and then roughly where the project was.
Also, I tend to check in code with links in the comments to anything I was using so that I can find the links again.
by siavosh on 6/29/20, 2:42 AM
by Aperocky on 6/29/20, 12:41 AM
Any project but the simplest always keep finding more things I want to add to it.
by sideproject on 6/29/20, 12:17 AM
by fimdomeio on 6/29/20, 9:30 AM
by robmerki on 6/29/20, 6:33 AM
I've been studying how this affects people with ADHD for my book. Everyone I've interviewed concludes in some way or another that there needs to be a far deeper, compelling reason to do something for them top do it long term.
Discipline is just a routine way you develop to execute something. Some people (usually not those with ADHD, I've found) are able to continue riding the wave of discipline until the project is complete, but they are doing so despite wanting to do other things. Is the conclusion that you have to suffer through some unhappiness while "forcing yourself" to complete projects?
by robotichead on 6/29/20, 2:22 AM
I have been working on NearBeach for nearly 4 years. I have always done it in small steps.
- Implement projects functionality
- Implement customer/organisation functionality
- Implement tasks
- etc.
I find this helps me keep myself motivated. That and I couple it with a set goal - a very achievable goal.
Currently NearBeach is a minimal viable product currently going through a UI/UX and backend refactoring, with the goal of improving UI/UX and backend readability of the code.
by LaundroMat on 6/29/20, 10:02 AM
My biggest problem is finding the energy to market the thing/find users outside of the ones I built it for.
I've worked on a tool for product managers (I built it for myself first) that attracts about 5 to 10 users every month (it's free).
I released a tool for a lab manager friend of mine. I wanted it to attract more users than his (enthousiast) staff, but I can't be bothered marketing the thing (except a lame post on LinkedIn).
And so on... Now I'm building a niche appointment planner, hoping I can get other sites to do the user recruitment for me (through affiliate marketing).
So it's never been about getting the project in a state where it's ready to accept user feedback but more about finding the motivation to go and market it.
by catchmeifyoucan on 6/29/20, 6:03 AM
This line perfectly states the reason why context switching is such a drain:
> With the limited amount of mental energy, is crucial to reduce the number of setup tasks required to do a working session on your project.
Setup is like one of those hidden costs that we take for granted.
Anyways, I built amna, and it's an information manager. It's organized like a to-do list rather than disparate documents. Amna allows you to do research, document compilation and quick app access. I'm not quite done with the website to launch broadly, but this seemed like a great thread to post early on. (open to feedback, and would love to chat if you're interested)
by coopsmgoops on 6/29/20, 5:02 AM
by drchiu on 6/28/20, 11:52 PM
by m-i-l on 6/29/20, 9:25 AM
by CapsAdmin on 6/29/20, 10:51 AM
I love completing things, but I tend to see sub projects/tasks more fun to complete than the entire project.
People are different, but I can totally imagine I would be depressed if releasing something was my goal.
Composing music is similar to me. I've got around 1000 unreleased music ideas with varying degrees of complentess, but I've only released around 50. Interestingly though this viewpoint of not being able to release something was something I mostly saw with people starting out, and eventually it fades.
by blakbelt78 on 7/10/20, 8:56 PM
by jjcm on 6/29/20, 1:14 AM
What I found key was making it a habit to work on it. Side projects, especially solo ones, take a long time to complete. If working just a little on one is part of your daily habit, you'll have ongoing steady progress that won't come with burnout.
by aphroz on 6/29/20, 12:59 AM
by pr0j3ctaway on 6/29/20, 5:53 AM
But after reading a lot of these sorts of articles and threads over the years, the most consistently useful advice that I've seen is simple:
Learn discipline, because motivation will always fade.
It's like getting yourself to exercise regularly, or read at least a half-hour every day. Easy to get started, but even easier to skip a couple of days, then a week, then to stop altogether.
Like they say at Nike: "Just do it."
by ChrisMarshallNY on 6/29/20, 12:01 PM
One of the big reasons that I do them, is because they help me to develop the habit of ship.
Also, one of my side projects has actually become a worldwide standard, so I think that treating all of my projects as "ship" has turned out well.
I have a number of works in progress. Some, I will complete, some, I won't.
"We are what we repeatedly do. Excellence, then, is not an act, but a habit." -Attributed to some guy that wore a sheet.
by ultra_nick on 6/29/20, 7:10 PM
A continuous drip or spaced repetition of similar work also helps. Reloading the context of your work can take a lot of mental energy if you've already forgotten where you were. Keeping the context in memory partially reduces the cost of getting started again.
by quickthrower2 on 6/29/20, 5:32 AM
by jyriand on 6/29/20, 10:49 AM
by dustingetz on 6/29/20, 2:21 AM
by winrid on 6/28/20, 11:46 PM
by roland35 on 6/29/20, 2:15 AM
by josefrichter on 6/29/20, 5:40 AM
by slicebo123 on 6/29/20, 4:18 AM
by dukoid on 6/29/20, 12:01 AM
by losthobbies on 6/29/20, 7:57 AM
My motto is make it easy to start but hard to stop. Stopping can be hard when you have built up some momentum and have a clear view of what needs to be done but I think it’s good to leave something for tomorrow.
by myth2018 on 6/29/20, 2:46 PM
- writing down the ideas after finishing a working session. Besides, I never understood why, but doing that using pen and paper works way better to me. I have an inclination to overthink, which uses being much more exhausting than the actual, productive work itself. Writing the ideas down somehow convinces my brain that they are safe and won't be forgotten, freeing resources for other important things like slowing down and resting;
- planning for interruptions. Whenever I can, I write a slightly detailed plan containing tasks I have to perform. Not necessarily the steps needed to _finish_ the project: sometimes I just have to learn some fundamentals before I'm able to have a slight idea of where to start. In such cases, I try to define some steps with things I have to learn, tests I have to perform to validate an idea and so on. Planning for the smallest tasks as possible allowed me to cope with interruptions. Sometimes I could simply pick a half-hour task and do something productive while I was waiting for somebody, for instance.
I successfully applied many of the ideas in the article on my masters. After wasting some months being stuck, I could eventually finish everything. A ~15k loc custom application to support a set of experiments + analyzing and interpreting data + writing the dissertation. I feel really proud now for seeing my work serving as a basis for further studies.
But my takeaways are:
- it's not always fun. It feels fun and rewarding now that everything is finished and I'm seeing my hard work being useful, but at the end I just wanted to finish and meet my deadlines. It works for some people to keep the end goal in mind. For me, it was detrimental: the end goal was huge and to think about it would only overwhelm me. On the other hand, having a plan with small, achievable tasks, helped;
- keep your mind in shape. Besides having healthy food, sleep and so on, try to create conditions for a good emotional environment;
- plenty of time was detrimental. I had always dreamed of an opportunity of having 8 or more hours in a row, for many months, thinking that, then, I would do lots of meaningful work. I ended up procrastinating everything else, other important tasks started to pile up and I faced what is the worst feedback loop of my life so far. I came to realize that I was more productive on 4-hours or even less work days;
- I keep collecting unfinished projects, but, as another commented said here before, it's OK. That might not impress recruiters and the community, but I learned something from them, have some reusable code and knowledge, and I can finish them whenever I feels like.
by tobyhinloopen on 6/29/20, 9:22 AM
Getting it done is just a (great) side effect.
by petejames on 6/29/20, 5:29 AM
Sending love to everyone building side projects, you're awesome.
by iampno on 6/29/20, 3:46 PM