Hacker News new | past | comments | ask | show | jobs | submit login
Getting too absorbed in side projects (bennettnotes.com)
203 points by _davebennett 6 days ago | hide | past | web | favorite | 111 comments

I've got the same issue, but only for the first 80% of the project. At that point, the project becomes a burden I have to finish, otherwise I would have wasted my time.

The initial burst of inspiration is always exciting: you've got a novel idea, there are no restrictions, no deadlines, no requirements. You don't care about bugs or beauty, just about making things happen. You could even abandon the project and it wouldn't affect anyone.

But the last 20%… I usually struggle with that last sprint. You need to handle the boring aspects of the project only to make it solid enough to launch and "decent" enough to share. This happened with CSS Reference [1]: very excited at the start about the concept, but then I had to go through all CSS properties one by one, and it took a very long time.

My most successful side projects are actually the ones that were quick to start and quick to finish. I had the idea for a "Web Design in 4 minutes" tiny project once [2], and for a few days, I couldn't stop thinking about it. I managed to design and code it rather quickly (as a result, several bugs still exist, but at least it was launched).

In comparison, "JavaScript in 14 minutes" [3] took me months, and I was dreading not being able to finish it. It was in the end less successful.

[1]: https://cssreference.io/ [2]: https://jgthms.com/web-design-in-4-minutes/ [3]: https://jgthms.com/javascript-in-14-minutes/

>I've got the same issue, but only for the first 80% of the project. At that point, the project becomes a burden I have to finish, otherwise I would have wasted my time.

It's only an issue if you're trying to publish or launch. If it's for learning, fulfillment, or just exploring something new, 80% might be more than enough.

By the way, CSS Reference is awesome.

It's worse if your hobby attracts users. Not a lot of users, of course, but barely enough to continue. You feel responsible and can't drop it. After a while the project becomes boring and keeps you from learning new and exciting things.

Soon you have to make excuses to family and friends, which don't understand why you still spend your time on the project...

I'm living through this right now. I get a sick feeling in the pit of my stomach whenever I think about dropping it. Do not recommend.

Just wanted to say I really enjoyed clicking through "Web Design in 4 minutes", every click brought a deep satisfaction of a task accomplished.

Awesome work!

Oh wow, just realized by clicking through that that grandparent poster is the mind behind Bulma.css.

I'm at 81% :) The fun part is over now with my e-commerce project. I have to integrate with payment provider, design a checkout form, create a shipping API, write legal text, subscribe to callbacks, etc :)

I will push it though, it's just boring stuff that must be done, but luckily I have the chi inside me thanks to the 80% fun part and positive feedback that I received during it.

Are you me? I literally have been through this recently, the first 80% went smooth, but when it comes to polish/css, it sure felt like taking forever to cross the line. Thanks for the cssreference link, looks like a gem.

I really wonder if this passion oriented coding is not a remain of teenage self absorbing passion.

With age I find myself caring about simple but group-global tasks. It's almost not about how joyful it makes me but how positive it affects you. Maybe nature natural triggering of caring for babies and/or the group.

Chunking your work, or using pomodoro are good ways to break this cycle. As you get closer to the end of the work make smaller chunks and have more breaks. Also understanding what gives you pleasure in your work will help through the mundane tasks.

Procrastinating here at 95% completion of my side project. Can't wait enough for it to get over at the same time dreading the fact that the end result will be never as good as it was in my mind.

Completing the remaining 20% is a learnable skill in itself. Like everything else, the more you do it, the better you get at it.

In that case it would make more sense to try and isolate the tasks comprising the last 20% and train on them separately, so that you get more practice.

the good news is that virtually all of the software in the linux ecosystem is missing the last 20%, so there's plenty of opportunities to train.

Thanks for your work with Bulma. I love using it :)

This sounds familiar, but I don't really see the issue.

Sometimes I get absorbed in a side project, and I'm being creative and having fun. Why put a brake on it? I think that some of the best things I've done (professionally) were when I was in a "being completely absorbed in a project"-mindsets.

Sometimes I don't works on side-projects for months at a time. I just don't feel like it and I'm doing other stuff. That's okay, too. No pressure.

If you're always being absorbed by side projects then there might be a problem, but as long as there's is an ebb and flow to these things I don't really see the problem.

Sometimes you don't realize how many thing are giving away for those side projects. With those side project don't make you any money, they are pure leisure you should see it like 'playing video games'. When start to refuse go out with friends or make simple home tasks to keep working in this side project, it becomes serious... Of course, those side project allow you to acquire or improve skills which may be useful in your professional life. But the way you balance it is very important.

The analogy of 'playing video games' should help you to see how serious and important these projects are to your life.

I get what you're saying, but don't really like the video game analogy. Video games are about following other people's rules, usually to achieve other people's goals (the exception is "sandbox" games). I don't think of it as a creative act, unless it's something extreme like speedrun glitches and demoscene-like arbitrary code execution.

You've elucidated the reason why I cannot get into videogames, even though I tried multiple times this last two decades.

I love the aesthetics of a well designed game. Pretty graphics are mesmerizing. But following arbitrarily designed rules and solving riddles created for the sole purpose of having an end goal for the game,—especially when one has a teenager-like disdain for authority—is more aggravating than having to follow rules in the real world.

>With those side project don't make you any money

Says who? Plenty of my side projects have made me quite a bit of money.

I'd say your mindset is equally as unhealthy as you'd never put any serious thought into it, making your statement about them not making money a self-fulfilling prophecy.

My problem is side-projects infect my brain and make it impossible to sleep. These days I actively try not to get too sucked in. I try to ride the line of doing interesting things, but not _too_ much that I can't get it out of my head.

> some of the best things I've done (professionally) were when I was in a "being completely absorbed in a project"-mindsets.

I've been surprised at how many employers and engineers scoff at the idea of being "in the zone". Apparently you aren't a "rockstar developer" if the needless distractions in a corporate atmosphere bother you.

Are you trying to say that my 4 hours of meetings a day actually hurt my productivity instead of help it?

We’re always meeting to find out how to be more productive though, discuss the scrum status, update our timelines or a variety of things that give the illusion of things progressing when nobody actually has any time to work.

I'm too absorbed by parenting that I dream about side projects I will never do.

Enjoy the free time

Enjoy the time with your children too. The memories you build with them today will last a lifetime, and will be much more valuable than any side project you're dreaming of

I've learnt side-projects are possible you only just have... sleep less :) I'm a father of 2 (4yrs old + 6mo old) and I start doing side-projects when kids and wife go to sleep (we spent time together as well, she doesn't go to sleep at the same time as kiddos). So around 22:30 I've work on something for myself for 2 - 3hours. Then repeat :)

But I'm blessed that my kids are sleep through 99% of the night time.

I did the same thing when my kids were born (similar age difference), and it took approximately 4-5 years for me to burnout. I took for granted that my time was a limited resource, and left very little for myself (for rest, relaxation, and just plain enjoyment).

I got to a point that I couldn't bring myself to even open a computer after I got home from work ... and while I recovered to an extent (I've had a number of successful (IMO) side projects, and even did some startups since), I haven't quite felt that drive to spend my off-time doing more work. My daughter just turned 18 yesterday, and I'm looking forward to when my son is off to college in ~4 years; side-projects, here I come!

How do you balance your own needs against those of your family's? My kids are 2.5 and 6 months, and I frequently stay up late to work on personal projects or even just drink beer and watch TV. Its hard being tired the next day, but the alternative is never taking any time for myself.

I did that for a long while ... and eventually decided that I preferred the alternative to being tired all the time ;)

Took a long time to realize, and of course YMMV. I had kids younger than most of my peers (~10 years early, when I was 20 ... it was all planned, perfectly on schedule), so when a few of my friends' wives became pregnant recently, I gave them all the same advice -- to give yourself time and space to learn how to integrate this new aspect into your life. I went into it trying to maintain my "me time", with side-projects, writing books, making games, reading/writing blogs, participating in online communities (/. at the time), etc ... and I burned out, so my advice to them (and to you) is to learn how to re-balance your priorities. Beer and TV will kick your ass the next day if you stay up late, and eventually it'll catch up to you. Better to go in cycles ... have some "benders" from time to time where you hang out with friends, play games, drink beer, watch TV; and then have a stretch of time that you go to bed at a reasonable (and consistent) hour, exercise, etc.

I was really good at getting up early and working on my projects before everyone woke up (30 minutes a day, more or less) then we moved to a new time zone and my work day starts at 5:00 instead of 8:00. Meanwhile, we moved because my spouse has a great but very demanding job so I have way less free time. :) It's for a good cause (and she makes way more money than me). I'm figuring out how to make it work. 15 minute increments. Ha ha. It's possible.

How on earth do you function with so little sleep?

...or do your children not wake up at 6am sharp every day? :P

haha not really, but around 7AM, sometimes even 8AM (so I'm really blessed I think :D )

But what I say is - I'm not doing that 7days per week - if I'm tired I watch some Netflix or just play games or just go to sleep (but I feel really guilty that I've wasted free time to go 'just to sleep' - I know that's a bad mindset, I'm trying to fight with it, because sometimes your body needs to recover a bit more)

Agreed. I wish I could have spent more time with my parents when they were younger. At least they were able to retire early and we're making up for it in adventures nowadays.

My parents retired early too, and it looked like we were about to be in a similar situation, but then my mom caught a rare and aggressive form of cancer. It happened so fast. We are all still in shock. Don't take any moment for granted, and call your mom—even if you're busy.

Yeah I know, that's why I keep myself on sync and spend all the time I have with him!

Ditto !

That will fly faster than you wish. They grow up so fast, and leave you before you even realize it. Enjoy it while you can!

Ha-ha, been there, done that.

It takes a lot of effort, energy, support from the spouse, ...

I often say - if I could go back in time, I would go visit younger me, single, with 9-5 job being only obligation. I would go there, and slap him (myself) across the face for complaining about not having enough time. I mean, seriously?

And a note to those parents with one kid - enjoy your spring break. That's what it feels like compared to having two kids. Wouldn't dare to think about how it is with 3+.

Enjoy your time with kids, you won't get another chance with that. With side projects you can always start over.

Parent of three here: one amazing thing that’s happened is the two oldest ones (both under five) self-organized a morning playtime routine when the new baby arrived. So, rather than coming straight to my bed, I hear them laughing and playing, and working out their problems in their room for a solid hour.

Given that the third baby is very, very likely our last I’m definitely trying to appreciate every moment. The upside is that by the third baby you’re able to just enjoy things because you’ve got some experience and aren’t overly anxious all the time.

I’ve learned the value of slow and steady progress on hobby projects. In some ways it’s more effective. I spend weeks without any real time to sit down and code, but by the time I do I’ve either worked it out in my head during spare moments, or on pencil and paper.

I feel like this is an excuse (sorry to be blunt). I’m a new parent and managed to build and release a side project in the first few weeks, as well as keep up with a bunch of other side projects. I’ve just had to adapt the way I work on them. Eg I’m spending significantly more time planning than before, I’m using tools that have been consistently applied to solve similar problems, I’m ruthlessly prioritising features, I’m spending much more time thinking about the implementation before I commit anything, etc.

I know exactly what I want to do when I sit down and write code and to be honest I’m spending very little time on writing code. It’s maybe 30 minutes a day, plus constantly going over ideas and research on Trello/iOS Safari when I’m commuting or I only have one hand free.

I think my productivity is not much lower than before, although there are moments when parenting gets in the way I still think it’s possible to keep making progress.

>I’m a new parent and managed to build and release a side project in the first few weeks

Oh gee, no, no. If all you know is the first few months, you know not of parenting time requirements. You need to come back and talk about ruthless prioritizing and efficient coding when you parent a toddler, or two. Then we can all have a hearty laugh at this post together.

I have two young kids. While I can empathize with OP, I have found that if I discipline myself enough to get up at 5:00 I have enough time to work on side projects. Never as much time as I want, but some time. It is certainly not easy. And everything is in chaos when a newborn arrives.

I'm lucky enough to have 1 - 3 hours between their bed time and my bed time to work on something. At the end of the day its hard to do more work when you want to decompress / spend time with spouse, but some days I make it happen.

I think that's fair. And I can see how having 2+ will make a big difference.

I do find myself already thinking I'm too tired / busy to do something, but then actually I sit down and get started and find I can make progress. I feels to me like it's a mindset of prioritising the things that matter the most, and side projects should be high on the list in my opinion.

If you can find the time to read articles and articulate a response on HN you probably have time to spend on your side project.

I have absolutely no idea how you've managed that, and well done to you, but the judgement at the start is unnecessary.

For another perspective, I lose 11 hours of my day with my day job, including commute time. With the 13 hours remaining, I get maybe 45 mins a day to groom myself at start / end, usually interrupted multiple times. I don't tend to get more than 2 hours continuous sleep in any given night, so while I get to bed and sleep by 10pm, and usually woken up and forced out around 5am, I've probably been interrupted twice over night. Most of the rest of the time is tending to cooking, cleaning, feeding, laundry, homework, ferrying to and from various hobbies, and when there's moments to enjoy, stopping to enjoy those moments.

When I find that elusive 10-15min break, I don't have the mental power to think about side projects. I just want a nap.

> 2 hours continuous sleep

Awch. I've got a 2 month old who, for the moment, is a surprisingly good sleeper. It's still exhausting, getting in from work, trying to spend an hour of quality time with her while helping mum finish dinner before she goes into an over tired 'witching hour'.

I'm much more driven to try some side projects though. The sudden drop to a single salary and the vain hope that one day I could be finically sound enough to take an extended trip with the little one are big drivers.

Things change, my son was an angel for first 2 months so keep your fingers crossed.

Be careful with this. When the kids go to bed, then your spouse wants your mental attention. If you go into side project mode every evening, you spouse might not seem to mind, but gradually it can take its toll, and you might not be aware of it until it is too late.

> I’m a new parent

I found to have a good amount of free time during that first year or so. The weird sleep schedule provides it, I think. If you're like me, you'll find your schedule filling with more and more kid activities as they get older. Then it gets harder to fit all the things in, and you have to make some interesting choices.

This a million times over. In my first son's first few months I got loads of side stuff done. Now he's 7 and his brother is a toddler and every day is filled with one or other's requirements. from various sports activities (training and or competitions) to just getting regular day to day stuff done, the exhaustion factor is way above what it was when 1 was a baby and only sleeping in 2 hour chunks... I'm trying to get side projects done but opening a laptop at 11PM knowing it all starts again at 6AM is in itself sleep inducing. Though that doesn't stop the occasional sprint to 3AM... finding a physical departure from the house helps. once a week I go to a local hackerspace and rarely feel tired there.

A child really does not do much in the "first weeks". Most of the burden is figuring out all the APIs, but if the child and the mother are healthy, it does not really take much time and attention. This gets worse as the child grows up and gets more active. And there's the extra laundry, dishes and cooking that you need to take care of. And then the second one comes...

Parenting is really honestly taking a lot of time from me that I used to spend on hacks and projects.

+1 on the thinking ahead, that definitely helps. But that limits you to stuff that you already know and can model accurately in your mind, which BTW precludes any sort of debugging work, exploratory programming, etc.

(But as you witness, there's always time to shoot a random remark on HN ;) ).

> Most of the burden is figuring out all the APIs

I hope they’re Restful APIs.

The first few weeks you have to support your wife while her mind is at war with the post-pardum hormones.

> I feel like this is an excuse

Yes. It is an excuse. That's literally what it is. Its not an invalid excuse or a fake excuse just because it's an excuse. This person has real material daily struggles and constraints. They have logical reasons they can't do more. They are excused from judgement for not doing their side projects. That's how excuses work.

Well it depends on the context. I and my wife are expats and we cannot rely on any external form of help, except ourselves. Our parents live far away and cannot support us.

With a 8am-4pm job, plus commuting, plus cooking (you cook fresh for your kid and don't rely on delivery services, don't you?), playing with kid and buying groceries, well.. there's not so much free time.. my energy is over by 8pm

And even if you might feel free the first months, how are you helping your wife keeping up with the baby? Don't you change it? Don't you try to make contact with it? Don't you support your wife by giving her some hours of freedom between breastfeeding times?

You mean the first few months, before they learn to roll-over, are easy; you can just put them anywhere and they will stay there, mostly asleep?

When they get older and start rolling around and walking, then the amount of time you have to be watching them increases dramatically. Especially when they go from 3-4 naps a day to 1 or 0.

Let alone that sitting around programming all day is probably not what you should become a parent for. Note that I am not saying you do this at all, I just mean it from a hypothetical 'maximum-amount-of-time'.

Personally I couldn't care less about my side-projects in comparison to the joy I get from seeing my daughter explore the world, learn languages, etc.

0 naps when it should be 1 or more is always a fun stage for both parent and child. His comment isn’t going to age well.

Fun as in Dwarf Fortress "fun"?

Haven't played Dwarf Fortress, but if it's anything like having sharp needles pushed into your brain, then yep, that kind of fun.

Thanks for being blunt. I appreciate different perspectives and honest opinions. Don't mind the downvotes, which hardly means anything worthy of attention.

As someone with a five week old that refuses to be put down most of the time and even the short quiet spaces of time are spent having to do things around the house, how do you do it?

they may be lucky... my first was as you describe, but most of the other parents in our (ante natal) group spent their first few months relaxing (relatively) as their babies were a lot more compliant early on.

The adrenaline of being a new parent eventually wears off, just saying :) Gotta pace yourself, it’s definitely more a marathon than a sprint.

I guess it is no secret that what helps is a schedule.

I do it with accordance with a to-do list: setup realistic deadlines for all projects/side-projects and build a schedule based on them (The deadlines are the only "tight" stuff in my schedule, the rest is flexible). Your work/life balance has to be part of whatever you plan! (e.g. I usually try to have ~2 weekends in the month for other activities and ~2 weekends for projects).

Also it helps me during my free weekend/night to simply keep away from my laptop, this way I don't fall in the trap of wanting to work 1 hour and end up working the whole day.

Sadly your problem is quite common. I know too many people that can't handle their work/life balance...

Every time I see articles about time management with side projects, it reminds me of this Onion article:

"Find The Thing You're Most Passionate About, Then Do It On Nights And Weekends For The Rest Of Your Life"


I have 3 things that keep me from sideproject burn out:

1. Users. Once someone uses your project and you're growing, even if it's slow, it "motivates" me to keep working on it. That is also why for me, it's a must to keep the project small and launch ASAP, which in turn also helps against feature creep and bikeshedding.

2. Delegation. Once I validate the project (people are using it) I try my best to outsource time consuming tasks, mostly programming, administrative, research, and data entry. This frees me up to enjoy leisure time while not feeling the project is stagnating.

You have to find your balance - decide what's the velocity of the project you're comfortable with. Once I realized that wanting to build and grow as fast as possible is stressing me out and ruining my social life, I decided I'm going to try and be ok with slow growth since I don't depend on it for a living.

3. Part-time job. I work 3 days a week. This should've probably been number 1 on the list. I still make good enough money to live comfortably, while my side projects make little money I can save. Obviously not everyone can or want that, but as a developer I have the privilege of earning the same as some of my less techy friends with 60% of the work. Frees me up for a whole bunch stuff.

This might not apply if you have kids and want to save as much money for their futures sake.

You have to think though, if full time work requirements weren't so demanding (yet so necessary, talking from a rent-paying perspective) then you could work on side projects in a more healthy way and still have some confidence that you could get them done in a reasonable time scale. Finding a work/work/life (duplication intentional) balance is pretty challenging.

After I got my motorbike everything changed. My coworker went for a bicycle, everything changed....

I use to do side projects to learn more. That is what I used to say.

The reality was that change the activity I really loved for decades to another has not been easy.

Side projects has been the perfect excuse to stay on the laptop.

How do you replace a no-competitive activity where you are in control of what you do and decide what and when to do?

So what worked for me?

Find something that exists in the real world, in my case an old, unchecked desire (learn to ride), and just do it.

How long I waited? Long time, years.

This resonates with me. Before I took up tree climbing, my side projects were at the laptop or workbench and never got past 85% or so.

Once I hopped in a saddle and took to the trees, things have never been the same, and I know I'll have the rest of my life to make it the last 15%.

Maybe the real problem is that so many creative people are trapped in wage slavery?

I am a 49, still love my side projects. Yes, sometimes it's hard to listen to the signal your body is trying to send you (e.g. forgetting to eat when you are in flow state.)

One simple view that helped me are the little github green-boxes that show your commits. If it's too full for long stretches, time to take a break so I won't burn out.

I have the same issue... but it makes me love side projects ("there are no projects like side projects" from https://crastina.se/theres-no-projects-like-side-projects/).

I don't take for granted that I can get absorbed by something. It's like... love. While I can hold myself from it, I cannot force myself to have this level of energy, and dedication.

What I struggle with are ill-invested infatuations. Obsession for starting a project, but then later focusing on not-so-important details... or dropping it in favor of another project. I am haunted by a ghost-town of unfinished (undead?) projects. For ones that I finished - I rarely (if ever) regret them.

Another story is with balance - how to make sure my projects don't have too negative impact other activities (don't mind a pile of clothes from time to time; all in all, I won't get influential by "this you kept his room tidy most of the time"). Though, it is crucial to take into account long term consequences on health, paid work, relationships or... energy to do side projects. E.g. my brother considers it unwise to cut on sleep (I agree) and claims that overnight work is a load (with high-interest).

Full disclosure: I am a consultant and I do have time between paid projects (I organize my time, so to be able to have ~50% for side projects).

> my laundry starts to pile up, my kitchen doesn’t get cleaned, and my social contacts get neglected from any meaningful conversation

Yup, that's the sacrifice but worth it for me personally since that side project became a business and enabled me to do a big exit.

This is how I justify becoming so absorbed with my own side projects. Maybe one day it will prove to be a net positive!

Congrats on the exit. How long did it take you working on the side until you were able to make it your full time gig?


It was a side project for a couple of years but things snowballed after we reached a certain threshold and it became impossible to keep my day job.

We need to make an internet pact to kill floating "navigation" bars.

Especially when they don't do anything other than display your name, face, and a hamburger menu. If you want the hamburger to follow me down the page just have that float...

I spent a few years working on side projects of different magnitude.

My process repeated the same cycle: I come up with an idea for a side project, start working on it, get more and more involved with time, until a few months later I am completely burnt out. At that point I drop the project, take a few months break, rinse and repeat.

I'm glad to say that once you identify this pattern, you can start working on it and develop healthier habits. I'm also glad to see that I am not the only one who struggled with this. I wish more people, specifically young and enthusiastic programmers, read this article and learn from it.

I feel what’s really intreresting with side projects is momentum and sense of urgency. I rarely have side projects that have a real dead line. However, I image a sense of urgency to build momentum. Once I am spending every free hour outside of work on my side project, it’s really hard to suddenly take one day off. What’s interesting is that this momentum, I think, creates intrinsic motivation. If you want to be productive you should learn to harness this. However, of course balance is always needed, even though I don’t consider all side projects to be part of “work” in the work life balance.

I know the feeling. Sometimes I've been so absorbed that I forgot to eat.

I'm trying to get into meditation hoping to find a way to have better control over that strong force that keeps me glued to the laptop.

In my experience, I think the problem with side projects is that it starts with a certain timeline. But eventually, due to unforeseen circumstances or improvising over a period of time makes the project even more time-consuming.

The whole purpose of the side project is on-the-go learning and therefore you get this feeling inside that the side project is not optimal, or the project is not what it should be or that something is lacking. Whatever the reason, but somehow the side project is delayed on the timeline. Once the project is delayed; a) Try to finish the side project ASAP by removing some of the important parts of the project and now it doesn't turn out to be the way you initially imagined it b) Since the assigned timeline has passed, the project gets delayed forever as new priorities kick in c) You finish it for the sake of completing the project because you have invested far too much time in building it

As a founder of http://draftss.com; I get to interact with alot of other founders who are struggling with completing and making their side projects beautiful. They want us to undertake the complete project for designing being Apps UI design or creating landing pages. Some founders ask us to handle complete projects as we think right, while others provide inputs for every minor inclusions and deletion. Conclusively, I'd say that it totally depends how dedicated you would be to your project from start to end. And that would define how your project is going to turn out in the end.

I had the same thing. My side-projects would end up making me anxious, and I'd resent them -- whether they were code or volunteering or what. But then I just kinda left my job -- my ordinary life -- downscaled to the point that I didn't need my apartment, and started living in a hammock tent in my city's equivalent of Central Park during the summer. My side-projects (or at least my appetite for them) are right-sized, it was my distraction of a job that needed downsizing, and I had the privilege and luck to do that. Now I'm figuring out that my side-project has given me skills and experience that essentially no one else has, because I've spent 3-4 years focussed intensely on something that capital mostly says shouldn't have been getting any attention (it mostly doesn't). I think I can wrangle that into an ordinary-ish life again, but we'll see...

Anyhow, just wanted to provide a counterpoint to "side-projects are making me miserable" when there's likely a hidden 3rd factor: the other thing you need to work/do to subsidize the life you currently fit into.

Best of luck! I'm excited for your side-projects <3 (or rather, whatever it is that makes you happy, but I hope you don't stop experimenting with what that might be!)

So true, It's really hard to get the mental balance to not think about your side project while doing other things :(. I'm also at the same position.

I find working towards wins (new users or customers) helps to replenish my excitement and enthusiasm for my project, so I aim for those.

Otherwise, I just end up grinding until my mind eventually says enough and I'll just have to stop for a few days. I've considered whether a more balanced schedule could help but have currently settled on the opinion that while we may be looking for the right approach, there isn't one, only trade-offs. You either neglect progress on your project or neglect your personal life. You just have to decide how important each of those are in your life, then prioritise accordingly and accept the trade-offs.

Great post. I suffer from this to some degree (not to the point where I lack sleep). For me it's just that I feel this sort of obligation to work on the side project when I would rather, for example, read. Then I start to feel resentment from the side project because it's taking me away from that other thing. This is basically the same thing that the article says :)

What helps for me is having a set time when I always work on my projects. Which for me is an hour or two before work. This makes me feel less obligated to work on them after work. But if I choose to, that's ok too.

This was my experience last year. In my case, i just want to build a neat, universal stack for my future projects. I started with Haskell and feel the pain with GHCjs. Then i tried out Elm, Vue, Purescript and they lacked of SSR capability at that time. Then i start with Next.JS and feel the pain with its opinionated choices. Now i'm done with a pure Typescript, React and Apollo stack. I reached my goal, not a fun experience, but learnt a tons of things from it. I must say, balance is hard to achieve once you're far from your goal.

Hire cleaners. Outsource laundry. Have food delivered.

If you love hacking, nothing wrong with hacking from the time you wake up until the time you go to sleep.

> Outsource laundry

Know any good services for that? I feel like this is always the hot, new startup idea that's gonna take over but they always fizzle out

A coworker of mine originated from NYC. They didn't have any space for a washing machine or dryer in their apartment. No one did. According to him, there were several dozen laundry services that they could use, super cheap. All they had to do was put the bag of laundry outside the door in the morning, and next morning would be bag of folded laundry. To me, this sounded like heaven, but it was just common for him.

For less populated areas, this seems like an extension of housecleaning services. I've known a few people that have someone come in, maybe just once a week to clean. Some have laundry done then, others just want the cleaning. Granted, since they would be using your washer/dryer, there is a limit as to how much laundry they can do in a day. Manageable with 1-2 people, but 3 or more, each with their week's worth of laundry could really add up the dryer time.

Talk to your local dry cleaner. They may offer this service. It may be price competitive.

I agree with you about cleaners, laundry and food... but, what about stop seeing friends? Hacking is just so cool as addictive.

Electrons are the best friends I ever had. (Seriously though, the longest lasting friendships I have had in my life have all been online.)

My problem is I become relentless about making the software do what I want it to do.

If I know something should work, and I can’t get it to work, I’ll work on it for days weeks and even months.

I hate to say it but sometimes the thing I’m trying to do isn’t even important, it’s just that I MUST make it work.

I feel all of this boils down to how much of self discipline we can show in sticking to our schedules, I have faced this challenge multiple times and it has been hard,, I believe companies should give friday afternoon's to pursue our side projects , but there are many who disagree with that too

I recently read Atomic Habits and there was a great chapter in there about people with a strong ability to self discipline. It raised the question: are people who have a strong sense of self discipline, better about architecting their environment for success? The would lead to less distractions and more work towards their intended goal.

It's a great book, highly recommend.


James Clear's (the author) blog with a ton of great content: https://jamesclear.com/articles

This is awesome,, may thanks for this

This sounds very familiar to me. Usually after a month or so of doing that I feel a mild burnout and cannot touch the project for a long period after that, if at all.

Needless to say, this is not a very good strategy to build a healthy project in the long run.

I get this aswell! I've had a long standing side project ( 1 year + ) and I'll have 1-2 months all out followed by another 1-2 months off then rinse and repeat

This is too fitting for this thread...a rap song about the woes of actually finishing a side project:


Same situation here. I'm working on my side project, which is modern macOS, and it totally hook me to accomplish it at the beginning. And then the rest 20% is actually harder than I thought, and I eventually drop it out

I was able to rewrite and retest my 40k loc side project from scratch in the past year in a new language. It took some effort, but I am away from home doing military stuff so I had the time to get it done.

I do this so much to the point of extreme obsession, very unhealthy but super intense and feels so good when things go well. I then put my project on a shelf and never touch it again :) What a joy

Sounds like garden variety ADHD. Been dealing with this my whole life...

I second this. Many on the autism spectrum have the problem described in the article.

Didn't relativity theory start out like that? If you don't want to sacrifice sleep or free time, use office hours (if you have a job with not much to do, that is).

I don't think it's wise to work on your side projects during work. Moral objections aside, there's a reasonable chance your employer will then own the rights to your side project.

I'm too absorbed in me being worried about being worried about being too absorbed.

I used to get absorbed in side projects in my 20s that would go nowhere. I once quite my job to work on one, because I wanted it to turn into a business. (Where it went is TLDR.)

Anyway, a few months after the business went nowhere and I got a real job, I decided that I wasn't going to start any kind of a side project until I found a girlfriend.

That was the best decision in my life.

I'll admit: Ever since I met my girlfriend, (now we're married with two kids,) I haven't been able to have a long-term "side project." I tried to start this and that, but what I realized is that anything that interesting would be so all-consuming that I'd need to quit my job; and that I have no desire to figure out how to make it profitable.

So, every once in awhile I take 1-2 days off from my job and work on learning projects. I don't have any expectations that they will ever be finished.

Personally I think balance is overrated.

My perspective on side projects has evolved over time. When I was younger I would generally devote time to implementing project ideas. This was fine for smaller projects, but larger projects were cumbersome (the "finishing" problem). The birth of my first child threw another huge wrench into my free time and ability to do "work after work" (even the mental energy after a day of work and child-rearing was lacking).

Somewhat organically, my side-development has shifted into a more meditative exercise. While the day job necessarily forces consideration of prioritization, deadlines, and other concerns - my side development is free to be "pure" with respect to some goal.

These days I take small problem spaces and implement them _again_ and _again_, from scratch, trying to get a finer understanding of the problem each time. The code is not on github or publically shared - it's not really meant for outside consumption.

For example, I did several re-implementations (from scratch) of a tokenizer for a toy programming language with some typical syntax, with the goal of optimizing the core tokenizer loop while still handling a full unicode input. Just to illustrate why I find these sorts of exercise to be valuable, I'll expand on this example in detail.

Over the various implementations I gained a few key insights that I carry forward in my future implementation work:

1. State machines with O(1) dispatch using arrays-of-edges for transitions seems appealing at first, but is in fact a poor optimization choice. The approach assumes an even distribution of probabilities between all states, and the distribution is in fact highly skewed. A hand-rolled approach that is able to carry the current tokenizer context implicitly in the code-location performs far better. The final design was a parser that has a top-level `nextToken()` routine which checks the first character and then uses a series of conditionals to branch into subroutines for parsing individual token kinds.

2. Rediscovered the well-known trick of using sentinel characters in the text to eliminate the "test-for-eof" branch in the inner `nextChar()` function which is the main workhorse of any tokenizer.

3. Pushing the parsing of full unicode entirely out of the fastpath by leveraging the fact that the first byte of a multi-byte unicode character will fail any test for an ascii character or range. This led to a design where instead of `nextChar() -> Unichar` as the interface, we split the methods. The fast-path method is `nextAsciiChar() -> MaybeAscii`, which blindly returns a type-wrapped `u8` value. The value is then sent through the series of fast-path checks in the main control flow. If the fast-path checks fail, there are two methods that help handle the slowpath: `unreadAsciiChar(MaybeAscii)`, which can implicitly do a blind decrement on the current text cursor, and `nextFullChar(AsciiChar) -> Unichar`, which reads the full unicode character without unreading the first byte.

4. Realizing that it's better to use a temporary copy of the current cursor during the invocation of a single `nextToken()`. That memory write at every `nextChar()` can be eliminated and replaced with a single write when a token has been successfully parsed (or error). Updating the cursor pointer in place can potentially be eliminated by a smart compiler, but given that we're hand-rolling our tokenizer due to reason 1, the tokenizer code gets large enough (and contains enough loops at various points - e.g. to parse numbers, identifiers) - we cannot expect the compiler to both inline everything as well as eliminate every spurious write-back of the current cursor position. This prompted a modification of the design to have the methods not be implemented directly on the tokenizer, but a temporary `TokenParser` value-type that is effectively a `(&Tokenizer, *u8)` that is moved around by value through the control flow, and is written back and destroyed when a token is parsed (or error).

5. Optimizing the parsing of keywords (which show up as identifiers) was interesting. The trick I used here was to keep track of the cumulative `xor` of the low 4 bits of each identifier byte. At the end of parsing an identifier, this cumulative value is fed to an explicitly coded state machine which switches directly to the most appropriate subset of identifiers for that (admittedly terrible) 4-bit hash value. A better hasher did not justify its own computation cost.

6. Reordering all of the sequences-of-conditionals using a statistical analysis of the probability distribution of characters at every step in typical source.

That whole process took about a year of casual work. I didn't drive myself to complete it - but simply let the problem sit in my mind and percolate - trying new ideas and implementation strategies as time allowed. The final set of insights I derived from the exercise are something I consider very valuable.

A tokenizer is a simple thing, conceptually. It's something a sufficiently intelligent first-year CS student should be able to whip up. It's something I myself have done for various pragmatic reasons several times. But the meditative exercise: "take a small thing, make it faster, then make it faster, then make it more faster, then faster yet", has provided me with a real insight into all nooks and crannies of the problem space. Something that seemed trivial at first yielded more and more depth the more seriously I analyzed it.

This approach to spending your "side-time" is not appropriate for everyone. If you want to ship stuff, and that's your motivation (a perfectly reasonable and fine motivation), this does nothing for you. If you have a lot of extra time and the energy to complete large projects independently of your employment, that might well be a better choice.

But for those of you who are finding yourself in the same position as I am: not enough time for big projects, not enough interest for small toy projects.. perhaps treating your side-development as a meditative exercise on a focused problem is something that works for you.

For me personally, it gives me a lot of gratification because I appreciate the gained understanding far more than I appreciate the litter of toy projects I've produced in my younger days.

True! Nicely written..

Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact