How to maximize a free time at work?
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?
33 comments
[ 3.1 ms ] story [ 88.3 ms ] thread[1] https://utcc.utoronto.ca/~cks/space/blog/ [2] https://css-tricks.com/
Make it a marathon rather than a race.
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.
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.
Then listen to podcasts at the same time.
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.
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)
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.
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
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.
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.