My journey to balance: Handling a CS Degree, Part-time work, and side projects

29th October 2024

← By Rupok Ghosh

Imagine juggling a full-time CS degree, a part-time job 20 hours a week, preparing for coding interviews ( on that LeetCode grind ), and finding time for side projects. I don’t have to imagine because I have been on that routine for more than a year now, and honestly, a lot can go wrong without proper planning—but more importantly, without proper execution.

Now, by no means am I a productivity guru who can give you 10 productivity hacks to get the most done in the least amount of time. What I can do, however, is tell you how I manage everything and still find time to spend with my friends, family, and hobbies.

I mainly decided how to balance everything by thinking about 2 key components:

  1. Goals
  2. Structure

Goals

Why are goals so important? Because they determine your structure, your plans, and your day-to-day operations. I can probably make another blog post writing about how I approach my goals, break them down, and slowly progress toward them, but that’s going off-topic.

You need to define goals for the long-term first and what I mean by long-term is not 1-2 years but rather 5 - 10 years. Where do you see yourself? What you want to achieve. These things are gonna change as you attain more knowledge however it’s important to know where you are headed. Then you should think about what you want to achieve in the next 8-12 months and plan it out realistically but at the same time keep it challenging.

Your goals are going to set the base for balancing your life. When you know your goals, you know what’s important and what’s not. That way you can remove a lot of redundant things out from your life that consumes a terrible amount of time.

The best way to clear goals is just to write them down. What do you want in the next 10 years, 5 years, 12 months, next month, and so on.

The flow for me goes something like this:

Long-term goals → short-term goals → weekly goals → daily to-dos

How does this help? It helps stay organized and on the right path. It helps not procrastinate and get back on track whenever you “don’t feel like it”.

Structure

This brings us to the next point which is Structure. In your life you are gonna have two types of tasks:

  1. Static - the ones that happen repeatedly at the same time ( your classes and work )
  2. Variable - the ones you plan around the static tasks

The goal is to structure your life around your static tasks and increase the amount of static tasks you have.

I must say this with great emphasis but you must use a calendar and a to-do list, it helps massively to help stay organized. In high school, I used to be the type of guy who hated productivity hacks and did things in a very unorganized way which led me to waste quite a lot of time. No, you don’t need a Notion second brain or anything fancy but having a calendar to visualize where your time goes every day and having a to-do list to organize your daily tasks is crucial.

I suggest Google Calendar and Todoist, but even pen and paperwork. Pro-tip: Always have a deadline and priority for all your tasks, that way you can get the important ones finished on time.

Scheduling and Static Tasks

As I said before, try to have as many static tasks as possible. Apart from your classes, try to have a fixed schedule for your work and try to work towards the end of the day ( You don’t want to be tired from work before even doing anything productive academically )

Have a fixed time every day, or at least 5 - 6 times a week to work on DSA and your side projects. This way you won’t just skip being consistent.

I am not however a big fan of strict scheduling, I am not saying you have to wake up at 5 am and be productive till 9 am, no.

Just look at your calendar for tomorrow, see where you have free time, and then allocate your most important tasks into those spots and COMPLETE THEM. Don’t be distracted, don’t do anything else.

Morning Routine

A lot of people, especially, “the night owls” might disagree on me with this but I think your morning is probably the most important time of your day. I mean you are probably at your cognitive peak so I am sure you would love to get the most done out of it ( and not scroll Tiktok the moment you wake up )

I think its best to get the most cognitive tasking activities done first and of course the most important ones. Once you get done with those, you can move forward with the more trivial tasks and your regular day-to-day activities.

Doing less is more

Something that I truly believe is that less is more. What I mean by that is you should always try to reduce noise in your life and focus on things that you want to focus on. You should let go of some things that might look like it needs your attention but it doesn’t.

Sacrifice is important, so just let go of trivial things that really don’t matter much. Your calendar and to-do shouldn’t be filled with 10 different tasks but rather 2-3 tasks that really count. Once you learn how to cut noise out, you would have much more time doing things that matters.

Avoiding Burnout

Okay, I said a lot of things. However, I don’t want you to turn into a robot who only lives from todo-list to todo-list. That way you are burned out, hate the grind, and will most likely give up. The trick is to love and embrace the grind.

The beauty of having a schedule is you can visualize it and you will see blocks when you are free. You should always take time to hangout with your friends and family, do things that you love, go out, and even party on the occasion.

In the end, time is the most scarce resource and you should always have time for people you love and things you love to do.

Another very crucial aspect of balancing your life is your health. This is something that I neglected in my first year of college. I was frequently staying up for my projects and assignments, eating unhealthy food, not drinking enough water, and surviving on 4 - 5 hours of sleep ( sometimes even less ). That led me to not only be less productive but also become sick for quite a long duration. It always hurts to neglect your health and I can’t emphasize enough how important it is. A healthy mind requires a healthy body.

Staying healthy isn’t rocket science. Eat good food ( less processed food basically—ditch ramen noodles ). Drink plenty of water. Sleep enough ( don’t set alarms, wake naturally ). Exercise. Yes, touch some grass, be it running or going to the gym. It’s important to stay active, it helps trust me.

How a day in my life usually looks like

I always start my day by going to the gym, I take breaks every 3 days and that’s when I do my meal prep. I usually solve one leet code problem after that ( or do an assignment if it’s hard or due soon ).

I watch whatever show I am watching when I eat ( 3 times a day btw ) and then go to classes. In between classes, I either chill with my friends or finish my assignments and studies related to academics.

If I have work, which I have 3 days a week, I just go to work. I keep my work towards the end of the day which I think is the most sensible approach. If not I go home and work on my side projects + additional learnings or reading books. Basically productive but outside of school.

Ending thoughts

Trust me, you have a lot of time, you are just bad at managing it. If you struggle with time, just check the hours you spend on social media and meaningless browsing, you would be shocked.

I also wanted to talk about how focus plays a major role in being productive and why some people can get more done in less time than others but that’s probably out of this post’s scope.