9 ms·
Ask HN: 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.
- gwnywg 3y agoI'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 of making a living (not the universe I live in atm) I'm probably in worse situation than you since I have a problem you seem not having- 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 I work for and now all my time is a waste..)
- ipaddr 3y agoSwitch between activities. One month leetcode one month projects.
- hamdouni 3y ago50-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)
- pylua 3y agoFor me, it is not the hours, but the context switch between work, side project, and family that is difficult .
- Jtsummers 3y agoThe context switching, for me, is made easier by separating the contexts in space and time (NB: No kids yet). For space, I mean parts of the home or going to an office (I telework occasionally, but have lab work that cannot be moved or done from home). My home office is upstairs, I don't spend much time in that area unless I'm working on a computer. The sitting room (my reading space a lot of the time, future kid play area) is separate from the kitchen and living (TV) room. The home gym (such as it is, yoga mat and rowing machine) is in the basement (living in CO has a perk, nearly every house has a basement which is useful for storage, exercise space, and hobby space). Even virtual spaces. My home office has, if I brought it home, two computers: My personal PC and my work laptop. They are not the same, I cannot access work stuff from my personal system. The only work app I have on my phone is Duo for MFA. When my telework day ends, I shove that laptop back into its bag and don't open it again until the next day. So if I'm working on a side project or even just gaming, I cannot easily go back to work. For time, I find intermediating activities to separate contexts if needed (mostly work and home life). The commute is this, but when teleworking I'd go for a walk, do yard work, or exercise (often all three, no kids so that part of my day is still pretty much mine). Once I'm done with the physical activities or commute, I'm in a new context and have cleared my head from work. This works even if they're in the same space. Going back to virtual spaces, switching from work to hobby programming is easier if I've left the office for a bit.
- rasulkireev 3y agoFor 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.
- injeolmi_love 3y agoYour 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.
- medler 3y agoIf 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 if you can. 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
- maxrecursion 3y agoMy 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.
- cebert 3y agoGreat point. My six year old is mostly self sufficient for a period of time now. The three year old is still a bit demanding, but is progressing rapidly.
- dbsmith83 3y agoI 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.
- richardw 3y agoPatio11 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-business-on-5-hours-a-week/ https://www.kalzumeus.com/2010/03/20/running-a-software-busi... https://www.kalzumeus.com/2009/10/04/work-smarter-not-harder/ 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.
- deleted 3y ago[deleted]
- ChrisMarshallNY 3y ago> Leetcode grinding is important in case you need to find a new job. This is sad. Sad, but, sadly, true.
- SnorkelTan 3y agoLike 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. ...
- holiveros 3y ago50-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.
- Boxxed 3y agoI 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?
- deleted 3y ago[deleted]
- jrjarrett 3y agoYou have to do leetcode if you want any hope of being able to find a different job. You have to be ready for that kind of question. I’m a software engineer with 20+ years of experience in a bunch of different industries. I know what I’m doing. I did 3 interviews with 3 different companies in the past couple months and utterly failed at the leetcode style coding interviews. The last one was to “print out the contents of a binary tree, each level on its own line.” I had 1/2 hour to do it. Oh, and I had to translate their sample seed code from Python to Java, since I’m stronger in Java. I haven’t seen a raw binary tree in 20+ years. I at least remembered how to depth first traverse it, but haven’t seen in order traversal since my freshman year of college. So look-I was able to read and translate Python, a language I don’t use to one I do, and pull out of deep storage how to traverse a binary tree one way, but since I couldn’t remember the other ways, I failed. My daily job is far more about translating complex business requirements into appropriate data stores, improving performance, working with cloud providers - NOT banging out freshman level programming tasks. I’m out of practice for that. So to be in a position to change jobs, you sadly have to spend time keeping that information freshened. It’s not helpful to leetcode grind; I’d rather spend the time and energy I have for non-work coding to learn a net-new language. It’s not the “hive mind saying we should”. It’s the stark reality of the hiring processes everyone has decided is necessary because there’s a myth that no one applying for a software development job can code and if you don’t do these kinds of interviews (and don’t screen any other way) you’ll hire these fakes.
- Boxxed 3y ago> I at least remembered how to depth first traverse it, but haven’t seen in order traversal since my freshman year of college. Well, to be fair an in-order traversal is not what you needed to solve that problem...an in-order traversal would get you the elements of the tree sorted, irrespective of level. This is not a "gotcha" problem where you either know it or you don't, it's about using a basic data structure in kind if a weird way.
- jacknews 3y agoBy not having a job!
- suyash 3y agoDon't do leetcode prep if you're trying to do side projects, Leetcode in itself can be a massive undertaking.
- thebigspacefuck 3y agoGrinding 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/ 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.
- rcarr 3y agoThis. Do not try and do the problems from scratch. All you will end up doing is frustrating yourself for hours and taking far longer to get through the material than you need to. You wouldn't do this in any other field e.g you wouldn't jump into a Linear Algebra textbook with no prior experience and expect to be able to solve all of the problems without first reading the chapters. Don't expect to be able to do that with coding interview patterns either. I'd recommend NeetCode but there's also Algomonster as well. https://neetcode.io/ https://neetcode.io/ https://algo.monster/ https://algo.monster/
- b20000 3y agoyou just confirmed you don’t need any actual skill and just learn the solutions by heart to get hired
- bwilkins 3y agoAlso 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.
- bluepod4 3y ago> 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?
- cebert 3y agoI’m not sure my particular division is doing the greatest, so I want to be ready if layoffs happen.
- CobaltFire 3y agoMy 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. In reality, I’d advise getting a lower demand job so you have more time rather than embarking on the type of journey I did. I’m comfortably retired now, and I look back at those years with some very mixed emotions.
- isodev 3y agoI think 60 hours is quite extreme and unsustainable. A good work-life balance is around 40 hours (and not every week) and it’s in this window that I try to create time and opportunities for side projects.
- nonameiguess 3y agoSo, I did this too, but would not recommend it in general. I was a commissioned officer, so possibly even more busy, and went back to school for Applied Mathematics at first and then ended up switching to Computer Science in order to reskill and get out of the military to go into software instead. I was up at 3 most mornings spending a few hours on studying and homework, took another hour at lunch, then whatever it took in the evenings, on top of the job, staying in shape, bailing sergeants out of prison at 2 in the morning on Sunday, finding housing for privates who got kicked out of their houses for spousal battery, all the things you do in the military. It's no way to live, frankly. I ended up with very serious spinal degeneration problems for years, probably due to the amount of sitting and all the rough exercise with no rest. I got divorced. I guess it's a fine thing to do once in your life when you're still in your 20s. I got a significant bump up, earn more than a four-star general now, and never even work 40 hours in a week, let alone nights and weekends and being 24/7 on call like in the military. But the entire purpose of doing this is to relax afterward. You can't live your entire life like this. Nobody should be grinding and hussling for decades. Every now and then, I still get incredible spurts of energy to dive deep into side projects, continuing education, professional development, and all that, but we're talking maybe a couple months here and there every other year or so, and it's driven by honest intellectual curiosity, not by the feeling I have to do it or risk losing relevance. When you get older and have a family, they're more important. Your kids are never going to give a shit if you earn 400k or 700k and they're never going to give a shit if you're out of work for only 2 weeks or your next job search takes 3 months. It's not that big of a deal. But neglecting them and missing out on their lives is. Ideally, find an actual job where the challenges and problems you face in the job itself force you to learn and keep up on skills. Don't blow the only spare time you have keeping up skills because your paid work is boring and unchallenging.
- atomicnumber3 3y agoFor 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.
- quijoteuniv 3y agoMove 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
- FuckButtons 3y agoSpeaking 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.
- cebert 3y agoExactly. It seems very difficult to prepare for interviews in their current form if you have a family or other external obligations such as caring for a sick friend or family member.
- zeroCalories 3y agoYou 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.
- TheHumanist 3y agoI'm a newer dev... just under a year and feel I've made decent progress in that time. I hear about leetcode a lot but honestly am not really sure what it is, why it's talked about so much, why people 'grind' leetcode... and why do you specifically do a leetcode problem each week? Is it specific to just a certain small set of languages? Are the specific types of questions asked by FAANG companies in interviews? What's up with leetcode?! lol
- Jtsummers 3y agoThey are the types of questions asked by FAANG and the wannabes (cargo cult style) for many years now. There's a site (and other resources) collecting those kinds of problems. They're mostly uninteresting and any CS graduate with a solid data structures and algorithms background (as in the 1xx and probably 3xx level courses, usually 2-3 total over a CS degree) should be able to figure them out if given time. But they aren't given time or they don't have that background or they putzed around in school instead of studying, so people memorize the answers instead for a large number of problems ("grinding") and hope that what they studied are the ones asked.
- arcbyte 3y agoLeetcode is essentially what a Comp Sci student learns in their 2nd year Algorithms course. There are a few more esoteric algorithms that don't get covered in college and but 90% is stuff I remember from college.
- angarg12 3y agoI'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.
- cpach 3y agoWhy 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.
- deleted 3y ago[deleted]
- mtpockets 3y agoAs 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 3y agodon't
- SeanAnderson 3y agoI 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 3y agoI often wonder what problems could be solved in the world if so much free programming time wasn’t wasted on leetcode.
- SomewhatLikely 3y agoEven among just software devs I'm guessing far more time is wasted on passive consumption like TikTok, YouTube, etc.
- elicksaur 3y agoI never hear people talk like “I know I should grind more YouTube videos.” The leetcode phenomenon seems to be a particularly insidious time suck because it has the illusion of non-leisure value. The same level of energy and effort could be applied to open source or side projects that could benefit a great number of people.
- sanderjd 3y agoBrains need rest. Doing leetcode style exercises is not trading off against passive entertainment, it's trading off against the limited amount of active mental energy.
- marginalia_nu 3y agoWork 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.
- b20000 3y agothe 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?
- sneilan1 3y agoIt’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.
- docandrew 3y agoThere 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.
- lawn 3y agoGet another job that doesn't require 50-60 hour work weeks for crying out loud.
- jeffrallen 3y agoSpend 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 3y agocebert 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.
- baq 3y agoLeetcode 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.
- hahamrfunnyguy 3y agoWow, 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 3y agoIt'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!
- deleted 3y ago[deleted]
- flashgordon 3y agoSo 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.