Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
How to maximize a free time at work?
45 points by r_loboda on Dec 17, 2023 | hide | past | favorite | 32 comments
Hi, everyone!

I really like studying computer science. I try to learn whenever I have free time. But here’s the thing—I work at a hotel front desk, and I often have time when no one is using the computer. The problem is, people interrupt me a lot. So, I only get short 5-10 minute breaks every 30 minutes to do my work. It’s tough to learn because of these interruptions; I can’t concentrate well.

Any suggestions to make learning easier in this situation?



If you don't have time to concentrate and learn something new then spend that time reviewing what you've already learned.

Create flash cards (either physical or on a personal git repo you can access with your phone or computer).

https://en.wikipedia.org/wiki/Spaced_repetition

Don't put the question and answer on the same side. If using a website, require a click to see the answer.

It is temping to be constantly learning something new, but if you don't reinforce what you've already learned, then you're wasting your time on things you're going to forget.


+1 get Anki, start building you deck. Especially for the theoretical classes it's a god sent to just know definitions, proofs, etc by heart. They will be useful during all of your studies and it can't hurt to continue knowing them.


Making high quality flash cards deserves concentration as well.


This is the way -- the interruptions are in many ways ideal, if you can pair this practice with some dedicated study time.


Apply to your local university or community college and do your homework at the desk, people do this all the time. It's one of the best things I've ever done to improve my position in life. You can study something like CS, math, IT, or even finance (NOT some generic "business" program) while working nights and you won't regret it.


Study for 30-60 minutes with high focus and intent, when you get home or before you go to work. You should dedicate the time to studying, but not so much that you burn out and it becomes a chore or burden.

Make it a marathon rather than a race.


Set an alarm for 30 or 60 minutes. Don’t allow yourself to look at your phone or do anything else during this time. Make this time special.


I was a high schooler when I was learning to code. I had a laptop but only the breaks between classes to do it. So what I'd usually do was get up in the morning and learn something, then sporadically practice and experiment with it for small chunks of time. I'd usually start by adding comments for what I want to do so I don't lose track.

I don't know if this is applicable to actual computer science but worked for me for the programming part.

Apps like Enki also have helped me but not in a really transformative way.


Similar to that, when I want to get something (not work related) progress, I think about it on my breaks etc and then I text myself on Signal ("Note to shelf").

Then on Friday night (if not sooner) I go through all these self-messages, I clean them up, and there I have a well rounded next steps on whichever project I work on (coding, building a feeding station for birds, etc)(for drawings I either use A4 and black ink, or the Jotr app)


I’m an old person now but I miss coding. With lil kids and stressful management work, I just don’t get blocks of time as I used to as a younger person. Can you share how you were able to code in breaks? As it takes time to get into a state of flow, I don’t even bother with short intervals under 2 hours. That is likely my mistake. Open to tips to wake up the code monk inside.


No, you're right, and I should have set the expectation that you can't really get into deep thinking mode that more demanding tasks require.

But a lot of it can be discrete or boilerplate. While it's not muscle memory yet, leaving comments for myself and implementing them later, especially when it's about implementing $routine in $language. This is useful when learning.

Doing integration work will take focus or great planning + notes though. But I think it can be done to a large extent. I find it easy to pick up old abandoned projects where I've left enough comments to my future self.

And I'm in my 30s now so not the youngest in software either.


Probably going to depend a lot on what "Computer Science" means to you, as that tends to cover a lot of different things. I'd start though my spinning up a "dev box" somewhere(Digital Ocean, AWS, Azure, etc), so that you can remote in from the work desktop and have a clean environment to build/program in. Having a remote workspace will allow you to login and immediately resume what you were doing, which could help a lot in this scenario. Just this bit alone will get you familiar with a Cloud Provider, SSH, and the linux command line.

Then as much as I hate it, you should take a project manager style approach. Decide on what you want to do(build an app, make a website, etc) and break it down into small task that you can complete in 5-10 minute chunks. This will let you chip away at something and you'll know quickly how much you have left. It also builds really piratical time management skills which will be helpful later in life. Just start with what you want to learn.


Use something like Anki for spaced repetition during these short times and use other time to do more in depth work and add cards.


Learn more effectively.

In school, they'll teach you all the parts, and hope that you remember which part you need when you need it. But what you really want to learn is the interactions between the parts.

First, there's a hell lot of parts. Are transistors important? Logic gates and hexadecimal? Binary search? Does the difference between null and nil matter? It requires blind trust in the teacher.

Second, parts are interchangeable. MERN stack and LAMP essentially do the same thing, but you can't simply swap N for P. You can the R (React) with A (Angular). But you have to understand the interactions to do this. You also don't want to overinvest in a particular language. Everyone complains that there are tons of new frameworks but most are still good ol MVC.

How do you learn interactions? Projects.

You figure out a small thing you want to create, a field you would like to work in. Then see which parts fit. Look at job postings, see what they hire. Why does banking use this tech? Why does gaming not use Git? Why is social media so front end heavy?

You don't have the time to write code, but you can keep asking questions. If there's nobody around to answer them, well, there's always ChatGPT


This is not the question I expected based on the title. My answer was going to be "get elevated to management, and work on learning to delegate in a way that returns maximum results with minimum input/output massaging from you" (meaning: get very good at expressing clearly and unambiguously what it is that you want.)

But you want to make the most of the free time you have. This is trickier: you need to work on breaking down your desired study into snippets that can be fully and meaningfully digested in short periods of time. Context-switching bigger tasks to make way for meetings will prime you to fail.

Nearly two decades ago I had a job that essentially allowed me to do whatever the fuck I wanted within the constraints of a locked-down corporate WinXP image until the headset I was wearing went "beep SERVER!" and I had to start talking to a support customer. I chose generally improving my knowledge of geography by staring at maps. Google Earth had just been released, much to my benefit.


Bodyweight exercises

Then listen to podcasts at the same time.


Ah yes I love it when I check into a hotel and the receptionist is banging out 30 pushups behind the counter


What do you think the back office is for?


In those times read bitesize snackable blogs or learning resources that you can spend 5 minutes on each eg [1,2], or maybe take that time to go sideways and broaden your reading. For example most New Scientist pieces are about that length.

[1] https://utcc.utoronto.ca/~cks/space/blog/ [2] https://css-tricks.com/


Thank you!


Buy a textbook and do the exercises at the end of chapters…


There are many courses on Youtube, Coursera, Udemy where each lesson is shorter than 10 minutes, and you can even speed them up further.


Volunteer for the night shifts? Even on busier nights you're likely to get quiet periods.


Outside of work hours, try doing challenging algo problems or work on a personal programming / CS project. Spend your short breaks at work on solving these problems or creating new features (in your head or in a paper notebook).


It sounds like an uphill battle to me. I was in similar situation earlier. And I used 40-60 minutes before work to learn new things and then repeated during the day. As I see it now it wasn’t best way to learn.


Hey! Thank you for response! Why do you think it wasn't best way to learn?


Try brilliant.org or swequiz.com

Watch some YouTube videos or read some CS articles.

If you have a project idea, break down the next steps into tiny actionable tasks and draw out how you would implement certain features.


Learn after work. Do not stress yourself during the work to avoid feeling exhausted after it.


Listen to audio books? Podcasts?


edx.org


Grind leetcode, study interview questions, practice system design, watch youtubes


When and where at?




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

Search: