HACKER Q&A
📣 cebert

How do you make time for side projects and Leetcode grinding


Hi, I am looking for advice on how you make time for side projects and activities such as Leetcode grinding. I want to do both, but am having a difficult time making it happen.

It’s much more difficult to find time now that I have two small children (6 and 3). Also, my job is rewarding, but I easily have some 50-60 hour weeks semi-regularly and get on the hook for after-hours support. I’ve been a software engineer for over 15 years, so I’m pretty good at picking up new skills at this point.

I’d like to do some projects both because they’re fun and they are also helpful to highlight your skills. Additionally, Leetcode grinding is important in case you need to find a new job.


  👤 hamdouni Accepted Answer ✓
50-60 hours weeks seems too much, even if it is semi-regularly, to have a side project. If you can "cut" 2-3 hours a week from your job, it helps to make space for some tinkering.

If you can, get up earlier every morning, before everybody wake up in the house. You must be very motivated if you are not a morning guy.

Other solution is to have a fixed schedule, like having a meeting with yourself, with a "not disturb" agreement with your family (very difficult with young kids)


👤 ipaddr
Switch between activities. One month leetcode one month projects.

👤 injeolmi_love
Your job is too many hours unless you’re someone with innate natural energy. Judge your own health and if you start to see signs of illness cut back side projects. Maybe consider that even though your current job is rewarding, it might be trapping you in a dead end if you can’t both do your job and the side activities required to stay relevant.

👤 maxrecursion
My kids are 6 and 2. The only time I have for this is after they are in bed, which is around 9:30 when they're both fully asleep, and I'm usually just ready to sit down and mentally checkout at that point.

I feel motivated all day to go to my office at nights, like I do right now, but I'm so drained after parenting kids all day.

I'm sure you're aware of this having a 6 year old, but once the 3 year old is a bit older you'll be able to do it during the day. I study and do stuff on weekends with my 6 year old while he plays Minecraft on a laptop next to me. And I try to explain how mods work and such. So you're almost there to when you can have some time back to do that stuff during the day.


👤 rasulkireev
For me side projects are fun and so I often think about them and when I get the chance I just remember that really want to work on it.

Leetcode I don't like. I know I should do it, but it's not fun and it is never in my head, so I just don't ever find the time for that.

The lesson here is if you want to do something you will find the time. So phrase it or make it such that either of these to are fun for you to do.


👤 dbsmith83
I think you will have to accept that you won't have time to sit down and grind leetcode or work on a project for very long. You might have only a few minutes to dedicate each day. I would see if you can find 15 minutes here and there, like the morning, lunch, and night. I bet you might be surprised at how much you can accomplish on a side project because you can think about it throughout the day, and then use your 15 minutes to code it up. Also, try and cut back at work... not getting roped into extra work and setting boundaries is also a skill. Let the younger devs cut their teeth on some issues. You might seem slightly rude at first, but once people understand you have boundaries, they will accept it. If they don't, then it's time to move on to someplace that does.

👤 medler
If you’re regularly working 50-60 hours a week and have two small children, I don’t see how you can possibly make time for anything else. My advice is to cut back on your working hours. Also, why do you want to grind leetcode? Unless you want to switch jobs in the next 3-6 months, grinding leetcode is not IMO a very good way to spend your limited time

👤 Boxxed
I must have had very different experiences from everyone as I can't imagine how grinding leetcode is a worthwhile activity. Do you want to do leetcode because you find it helpful or because the hive mind of the internet says you should?

👤 holiveros
50-60 hours plus two small children, no way you can have side projects and live to tell your children the story in 10 years.

That is, start looking at your mental & physical health, start cutting hours, then you can evaluate investing time in learning something you want.

As for Leetcode, I’m no fan, unless you’re looking to get a job in a FAANG-like entity, invest your time in something else.


👤 SnorkelTan
Like others have said, finding small chunks of time here and there is best. To make the best use of short chunks of time, come up with a project plan ahead of time of for tasks you need to accomplish to move towards your goal.

Trivial example for framework X:

1. Setup environment (database, install frameworks, etc)

2. Generate boilerplate hello world application

3. Connect app to db

4. ...


👤 richardw
Patio11 has some excellent old articles on working with very little time available. Can’t help you with leetcode but can with side projects:

https://www.kalzumeus.com/2010/03/20/running-a-software-busi...

https://www.kalzumeus.com/2009/10/04/work-smarter-not-harder...

My own advice: dip your toe into the water. Do 10m this week. Expand if you like it. Just get a little bit done and you’ll be solving the problem rather than thinking about it.


👤 ChrisMarshallNY
> Leetcode grinding is important in case you need to find a new job.

This is sad.

Sad, but, sadly, true.


👤 thebigspacefuck
Grinding leetcode is inefficient. What you should be doing is familiarizing yourself with the common patterns you might expect to see in an interview. Look at the blind 75 and https://seanprashad.com/leetcode-patterns/.

Initially, you don’t need to solve any of the problems from scratch. Look up the problem on YouTube and someone will walk you through it. This will build your intuition of when to reach for a heap or for a DP array or when to do BFS, etc. If you don’t know these, then watch another video explaining the concepts. These videos are often 10-15 minutes so with a 30 minute time commitment a day you potentially can get through 3 a day, getting you through the complete blind 75 (more than enough) in less than a month or 1 of each of SP’s 22 patterns in a couple of weeks.

The great thing is you don’t need dedicated time for this approach, you can often start a video while tackling laundry or doing some dishes.

Then, start putting these into practice but spend no more than 10-15 minutes on the problem. If you can’t solve it, go watch the video again. There are so many times where you can have the right approach but make a stupid mistake that will cause you to flounder and you can pick up a better way of doing it. Eventually you will be solving these in 10-15 minutes and the time commitment will have remained at a minimum.

After this, find a new job that is only 40 hours a week and voila you’ve just opened up 10-20 hours for personal projects.


👤 bwilkins
Also approx. 15 years experience, have a newborn (my first). Probably different circumstances, but I'm in Australia - our hiring system doesn't value Leetcode at all (and even when I've gone to work for US businesses, we've done without needing to do it). So IMO Leetcode is a complete waste of time.

I've been told by a great many fathers before me that the child becomes the hobby. I don't 100% believe this myself; I've always had interests far exceeding my capacity to fully explore them, but I hope that when my kid is old enough, I can explore them with him. In the meantime, I tinker on my 3D printer on the weekends.

And as 95% of other comments have already effectively said - you're working way too much! I've only ever worked a 50+hr job for 2 years, straight out of high school. Now with a kid, I'm basically trying to figure out how to do less work, not more! Get your hours down to 37.5 or 40, and/or work 4 days a week.

Negotiate for extra pay for after-hours support. Time-and-a-half (or double-time if you can swing it!) whenever you get a call and have to work; ideally get a 10% retainer for the inconvenience of having to work.

Or, you know, get a different job without the after-hours support contract. Your time is important, particularly with two kids.


👤 CobaltFire
My career was typically 60-80 hours a week, and I managed to do a Bachelors degree during it (military). My example is to say it’s POSSIBLE; I do not recommend it however. Here’s how I did it:

First, a supportive spouse. They need to have 100% buy-in on what you are doing and why.

Second, an solid goal. Why are you doing this? Without this, you won’t make it far.

Third, a healthy mind and body to hold up to the strain. Before embarking on this journey, get your diet and fitness right; this will pay dividends during the working time. Also incorporate this into the routine so you can do it without thinking.

Fourth, give up all hobbies, etc. to spend whatever time is leftover with the spouse and children. I mean this. Your goal path is now your hobby.

I managed to do a degree in Nuclear Engineering while a Senior Enlisted on Active Duty, working 60-80 hour weeks and deploying for a year at a time, using these guidelines. It’s not easy, it’s not fun, but it can accomplish those goals.


👤 quijoteuniv
Move to a job that pays you to learn the things you want to learn. So you do not need to take the time out of your family

👤 atomicnumber3
For me, it's all about enforcing WLB. I work a maximum of 40h/wk and to be frank sometimes I work an hour or two less.

Let me put it this way - I know I cannot compete with people who are able and (for some reason) willing to work 60+ hours / week. So I don't try. Maybe I'm lucky and am charismatic (I dunno about that) or smart (also dunno about that, I mean I get by, but -) enough that I excel with fewer hours, but also I think a lot of it is just setting boundaries and using ninja moves to just be more effective instead of wasting time.

Many of the people who work longs hours are either not actually working during them, or are working but are so eager to die for capitalism that they don't try to solve the problem in any other way than death marching.

Example. A coworker had been death marching for 2 days on a project and I was getting worried about him (he likes being the coding hero but also has mental health issues.) So I pressed a bit here and there in the background and find out all Product actually wanted to do is something rather simpler and that they could do just by using a different feature in a particular odd way. So I had my manager suggest to my coworker that he investigate this way. He left work and went to bed on time that night. And I do this for myself. I don't shirk work, but if someone is in a rush and you simply present to them "take longer" or "cut scope to focus on what you really care about", it usually goes well.

Will I eventually get dinged for not being willing to death march? Maybe. I haven't had to do it yet so far. And in the instances where projects ran late, it hasnt been for reasons that even doubling my hours would've helped.

So anyway, I know it can feel like it isn't as simple as "just don't work such long hours" but also sometimes it is (just being willing to set boundaries).

So, with that, even with 3 kids aged 3, 2, and under-1, I still have a few hours each night to spend with my kids, wife, and do a little bit of coding here and there.


👤 bluepod4
> I’d like to do some projects both because they’re fun and they are also helpful to highlight your skills. Additionally, Leetcode grinding is important in case you need to find a new job.

You need to be more clear about your intentions. Are you looking to find a new job soon?


👤 suyash
Don't do leetcode prep if you're trying to do side projects, Leetcode in itself can be a massive undertaking.

👤 jacknews
By not having a job!

👤 zeroCalories
You shouldn't need to spend a lot of time on leetcode as a senior engineer. I do one leetcode problem every week from lists of recommend problems. You will realistically have 40 min of time to work on the problem, and you will go slower during the interview, so if I don't get an optimal solution in 30 min I give up and look at a solution. I'll spend at most another 30 min filling the gaps in my knowledge that will let me solve a similar problem next time I see one. I then add the problem to a queue of past problems I've failed. I've been doing this for years, but if you're just starting out you might need to cram more.

For side projects, I don't do them and have never had issues with that. I spend time reading stuff on my phone during downtime, which has been enough to keep me up to date on stuff.


👤 FuckButtons
Speaking as someone in a similar position, it’s not possible. You can have young kids or have time. Not both.

Which, sucks, given that what it sounds like you actually want rather than time to grind leetcode and do side projects is to find a different job.

But the way the industry is set up effectively precludes you from doing that, because as you’re aware, you need to have time to do stuff outside of work to get and prepare for interviews.


👤 cpach
Why not try to spend more time with your kids instead? They need you. Seems like a much better “investment” than grinding Leetcode.

And never forget: It’s a marathon, not a sprint.


👤 angarg12
I'm going to somehow contradict some of the comments and agree with others.

Every time I changed jobs in my career, whenever I grinded Leetcode I ended up in a better position (more and better job offers) than when I didn't. That being said there are diminishing returns. You don't need to solve hundreds of problems, possibly a few dozens should be enough to significantly change your odds.

However I agree with others that you are putting way too many hours. The other funny thing is that I have always, at least in part, done Leetcode during working hours. This might be an option for you to a) cut down working hours and b) actually use hours towards your goal.

In any event good luck.


👤 b20000
the last paragraph of the OP highlights the problematic state of hiring. if you can build something, why do you need to leetcode? and if you can leetcode but cannot build something, why should you get hired?

👤 SeanAnderson
I saved up money, didn't have children, and quit my job to find the time to work on passion projects. I don't think I would be able to do it with a family, children, and while working a full-time job -- at least not past my 20s unless I had extremely strong health/fitness habits.

👤 elicksaur
I often wonder what problems could be solved in the world if so much free programming time wasn’t wasted on leetcode.

👤 marginalia_nu
Work part time and don't have kids, pretty much. Kids are great in many respects, but they are also going to eat a lot of time and money and limit which sorts of career bets are of acceptable risk.

👤 mtpockets
As context, I am in my late 30's, I'm a dev with a 3 and 1.5 year old, and I aim to build a side-business leveraging AI in some form starting in January while doing my due diligence and ideation this year. As more background, I did start a startup in my late 20's that failed before marriage and kids and entrepreneurship runs in my family - so I have a strong emotional desire to build again.

I give that context to help you see what I mean that the reason side projects and leet code have taken a back seat to your other initiatives (playing/building a relationship with your kids, time with your spouse, maintaining progression or status quo in your job to make a living) is that you haven't found a way to make it a true priority in your mind.

An analogy I find useful for myself to be honest with my own priorities is to think about your other life initiatives as epics on a Jira board. And during backlog grooming and at the beginning of every quarter and sprint, your team is tasked to re-evaluate competing tasks from different epics - some of which you have committed to at the start of the quarter and need to deliver an outcome by the end of the quarter, and some that are aspirational - like cleaning up tech debt most times. As you know being an sw engineer, some things just end up perpetually in the backlog.

And applying that to family life, with kids, you ultimately ended up with 2 new initiatives, one for each kid (each epic with their own stories and things you'd like to do and you find important). And this, for the first time in most people lives creates a true time constraint because now you can't possibly do all stories for all the epics in your life. So you have to pick and chose wisely.

Emotionally, this is hard to come to grips with and accept - for myself especially on a daily with my strong dive and frustration I can't capitalize on the AI moment now with the speed I wish I could had I not had kids. But in my heart, the Kids epics will always take priority and I derive a lot of personal, non financial, satisfaction from working on them.

So in this framework of thinking of your life ^, you can then begin to do the grinding work of trying to constantly figure out how to do other personally important epics from the backlog by trying to "kill 2 birds with 1 stone" like I try to do by combining kid activities with my backlog tasks - ex. make a morning quiet time routine for the kids to play with each other on the weekends when I have the most energy and clear thought to make progress on ideation and try to think of the next steps in testing my business ideas either by doing or just spending time to think.

This ^ type of constant thinking is only present if you truly value the other epics in your backlog (for you it could be side project or leetcode) and don't find it even more draining to think about. If you emotionally feel drained thinking of doing those tasks, then you won't have clear emotional alignment and as a result, never want to try to squeeze in these tasks into an already fully committed sprint or quarter of epics/tasks related to your family and job.

For many, including myself, leetcode's lack of clear deterministic value to career growth often makes it hard for me to really want to focus on it. Whereas, I have strong desire throughout my life to build a company of my own.

I'll give you an example of how strong my desire to start a company by next year by saying, I purposefully looked for jobs this year that did not prioritize my upward corporate trajectory to director of eng and instead looked for months softly on LinkedIn and just asking around for contract jobs or full-time jobs that paid well (maintained our family afloat and met the requirements of my epic of paying bills) and did not demand more than exactly 40 hours a week where I had to even think about the work during off-hours. And I was fortunate enough to have one show up within 4 months. And now doing this job, I can easily spend 30 hours a week thinking/doing work for that job and now have 10 hours during the week, when the kids are in daycare!, to focus on build.

And as context, a year ago I did not have this strong of a desire because there was not a great new tech shift to make building a company easier, and secondly, I was highly focused on having my 2nd child (our decided last) and just getting him to an age where he could be more autonomous (around 1.25 yrs old I've found for this guy). So my "epic" of starting a company was not a strong emotional desire because the pieces and timing were not there.

I say this in order to maybe help in framing how to make sense of your own prioritization in your heart on these other things you want to do. Sometimes the timing is not right just as it is in the corporate world and why you do quarterly business reviews in Google or other companies to dynamically realign based on the situation around you to make that one initiative seem like it is the right time. If you are a business strategy nut like me, you should read Working Backwards the book for an anecdote on how even Jeff Bezos could not force Amazon Prime to happen. He wanted them to deliver that promise of 2 day delivery but not all the pieces were there and quarter after quarter they tried to "kill 2 birds with 1 stone" by fitting all the pieces needed to make Amazon Prime possible logistically with other immediately impactful initiatives.

This is just to say ^ even in work, companies face the same constraint problem you have with your 3 and 6 year old - they want to do amazing things now but can't because there are 50 other immediately impactful and amazing epics to work on. And depending on how strong a drive there is by leaders to get those done, they can either wither away or be incrementally worked on by trying to "kill 2 birds with 1 stone".

Hope this framing helps you find your drive and filter through your personal emotional priorities to find a productive path forward on your current backlog initiatives of "side projects" or "leetcode for career development or job security"


👤 modzu
don't

👤 docandrew
There are still plenty of good SWE jobs out there that don’t require a whiteboard-style interview. But having said that, I try to think of Leetcode as akin to a crossword puzzle or sudoku, just kind of a good brain-workout for fun every now and then. Sometimes you get it, sometimes you don’t. Even if those types of problems don’t come up very often in day-to-day work I think it’s good practice.

👤 sneilan1
It’s not easy. I have two children under two, a full time job and am actively interviewing. I do not have a baby sitter. It is often long hours. There is no magic solution. Keeping yourself in shape helps a lot because your brain moves faster if your body works well.

👤 lawn
Get another job that doesn't require 50-60 hour work weeks for crying out loud.

👤 baq
Leetcode interviews are a way of selecting for people who are young and have free time to grind without saying this plainly. IOW you not having the time or the strength to prepare for these interviews is by design.

👤 jeffrallen
Spend the time you'd spend on leetcode to build a network instead. Give a talk at a meetup. A good topic is "how I used tool X to debug problem Y". At the end of the talk mention you are building your network, etc.

If you are in Switzerland, drop me a line.


👤 dennis_jeeves2
cebert no advise here, but let's just say I feel for you.

That many programmers have to post something like this here shows how nerd-psychopath (I mean the interviewers) a large portion of the interviewer programmers are. A slave hiring another slave by holding the hiree to a misplaced sense of loyalty, and standards of their sorry profession. A sobering reminder of how people are their own worst enemies.


👤 hahamrfunnyguy
Wow, that sounds exhausting!

I've been doing development work professionally since 2000. In that capacity, I've been self-employed and worked for a number of firms providing work-for-hire development services. I worked full time for one mid-sized company (1,000's of employees) and it was not for me. I am now self employed again working on a second startup. At this point, I have enough savings to continue my current lifestyle in perpetuity whether I ever make a penny from my startup or not.

I've never heard the term "leetcode grinding" before but I assume you mean completing programming puzzle type interview questions. These types of questions might be prevalent at certain kinds of companies but I can count on one hand the number of times they were asked to me. I haven't interviewed as a candidate since 2013, though the hiring process I put in place at that company is still being used. There are some easy weeder type questions, but the process is largely practical.

It took me too long to realize this, but my time is my most precious resource. Investing a lot of time to get hired by a certain company is not a great investment of time. Recruiters will happily brief you on a firm's hiring process and share as much with you as possible to help you prepare successful. No need to do it if you're not looking. The more important part is to keep up on the new tech. If you're not getting it where you work, it's time to move on. Move on to the right company, one that provides opportunities for growth and needs and appreciates the skills you bring to the table. Find a place that's not going to expect you to work extra hours all the time. I regret working lots of extra hours when I was in my 20's. It did not help my career in any way.

In your free time, if you want to work on a project - at least pick something that you enjoy! If it could make you some income, that's even better.


👤 nunez
It's incredibly difficult, honestly.

You're gonna have to prioritize which projects are important to you and cut corners/make sacrifices to dedicate a very small amount of time to them.

By "cutting corners," I mean things like settling for lower test coverage than you're comfortable with, hacky CI (if you do CI), more tightly-coupled code than your happy with; i.e. all of the things that startups do to ship stuff fast.

As for leetcode, I'd recommend doing that during downtime at work (if you can) and focusing on one problem a day, especially given your years of experience.

Many of the medium/hard problems are basically puzzles; you either have that kind of mind or you don't. In my opinion, this is why side projects matter way more: you can bullshit Leetcode problems (by memorization), but you can't bullshit _things that actually fucking work_.

(#338, "Counting Bits", is a great example. The trivial solution is O(n) time, but getting to the O(log n) time solution requires you to think about the pattern in which the 1's in the bit sequence typically generate. I would've never thought of that had I not read the solution.)

Like some other posters have said, you'd be much better off (re)learning foundational data structures and algorithms and, if you can, implementing them from scratch. No, you'll never actually implement a hashtable library or quicksort, but knowing how to do those things will help when you get asked a leetcode-like question.

Good luck!


👤 simonsarris
short version: mostly 1-3 hours at a time, at night, usually when everyone else is asleep. I find it helpful to have many projects going on at once, and choosing whichever I feel like that night.

Like you I have 2 babies (1 and 3).

I wake up at 6-7 and spend time with my wife and babies. We sit around mostly drinking coffee until 8:30, when we make breakfast. I start work at about 9 and then work until about 5.

From 5 to 7 involves: eating dinner with family, taking 3 year old outside to do work together (yard work, timber framing barn/shed(s), cutting up wood), or going on walks with everyone to the village.

Once babies are in bed (~7:30pm) and the house is quiet I have time for programming projects, or writing (I have a newsletter that got sort-of popular). This gives me about 1 to 3 hours a night, though. Usually 1, and I don't work every night. This is how I made https://carefulwords.com or am currently making https://garden.simonsarris.com (very work in progress!) and if I can find enough hours https://grotto.cc

On weekends I spend considerable time on outdoor projects (building and landscaping right now, cutting trees in winter) or family things. I try not to use the computer much during daylight hours (except right now because I'm tired from moving so much dirt around!) Usually outdoors I try to take 3 year old along with me so that my wife has an easier time.


👤 flashgordon
So I would not put side projects and leetcode grinding in the same vain. It's like saying how do you find time for your favorite sport and having to do exercises that you have to whether you like it or not because your health depends on it. Yes you could enjoy leet code. In either case if you enjoy it and you are doing it for an intrinsic desire you will find time. By the way doing so may not make you more employable or even a better coder and it should never be an expectation by employers.

Now you kinda answered part of your question. Looks like your day job is very rewarding that when you are tired you are "good" tired and you need a recharge so you can go back to that goodness the next day. For me my spike in side projects came when my job sucked. The more it sucked (regardless of how tired it made me) the more I'd come home fuelled. Again ymmv!

Same with boring exercises, I mean leetcode. Frankly I have not seen a good reason for lc unless to crack that faang job (I'd just pay for premium and go through company Xs problems a month before the interviews). Sad but true.


👤 gwnywg
I'm in the same boat, have 2 kids and want to enjoy trade the same way I used to many years ago :) but not at expense of my kids. This feels possible only in a universe where I run my own product and am capable to make a living (not the universe I live in atm)

I'm probably in worse situation than you since Ihave a problem you probably don't have- motivation (I mean, you must be really motivated to put 60hrs every week, I hardly find motivation to do 40 and I'm guilty of feeling I have built everything that was to be built for that co and now all my time now is a waste..)