How I Manage My Time as a Software Engineering Student

Tarek Khatib
5 min readMar 3, 2024

--

Time management is absolutely essential for any college student aiming to succeed, but especially for those majoring in the intellectually demanding field of software engineering. The sheer volume of work — with challenging courses, Complex coding projects requiring hours of problem solving, immense preparation for high-stakes exams, and more — can quickly become overwhelming without thoughtful planning.

After nearly being buried under mountains of assignments and struggling with burnout my first semester, I realized I needed to get strategic with managing my schedule. Now through diligently planning out my days and weeks in advance, I’m able to fully stay on top of my heavy workload while still having energy left over for fun social activities and much-needed relaxation.

In this article, I’ll share some of my most indispensable time management techniques I rely on as a software engineering student to balance academics and life. While learning these strategies took some trial and error, they’ve been total game-changers for my productivity and peace of mind.

Time Blocking

The absolute foundation of my effective time management approach is meticulously blocking out all my time in advance. I carefully map out my entire week ahead of time on a planner, thoughtfully scheduling specific times for each class, club meeting, work shift, assignment, designated study session, and any other fixed obligations I have.

I also proactively carve out blocks in my schedule for coding practice, exercise, meal times, socializing and pure free time. Having every hour visually mapped out prevents me from double booking events or overcommitting myself. It also helps ensure I don’t end up with last-minute cram sessions — with a bird’s eye view of my week, I can plan ahead to distribute my workload sensibly.

I do my time blocking on a an app called Notion Calendar (Get it here) — each color represents a different category like class, work, etc. This makes it easy to visualize exactly how I’m planning to spend each hour in my week. When faced with a major assignment like a 15 page research paper, I’ll purposely schedule several 2–3 hour time blocks over multiple days to chip away at it.

Eat The Frog

As a software engineering student, large complex projects that require days of problem solving are par for the course. I used to dread starting them, often falling into the trap of procrastinating on difficult assignments. Now, I live by the “eat the frog” philosophy — do the hardest, most intimidating tasks first before anything else.

This means whatever project I’ve been avoiding, I block off time to dive in immediately after breakfast. I force myself to confront it right out of the gate instead of distracting myself with easier tasks first. Starting my day by “eating that dreaded frog” eliminates mental bandwidth the project would have otherwise drained with worry. Plus, I get a huge sense of relief being able to cross it off my to-do list!

Set spare time for Coding Practice

Regular coding practice through side projects, problem sets, or self-directed learning is essential for developing expertise as a software engineering student. That’s why I always schedule 1–2 hours daily for deliberate practice. I treat this coding time like any other class, firmly blocking it off in my calendar to ensure it actually happens.

Setting aside consistent time to strengthen skills is what will ultimately set me apart. Skipping practice would be like an athlete never training outside games — weakening performance. But dedicating inviolable time to level up abilities pays dividends when tackling complex assignments.

The Pomodoro Technique

Source & Image Credit: Study Smarter

Staring at code or textbooks for hours on end can tax anyone’s mental stamina. When I need to power through intense study sessions, I rely on the Pomodoro time management technique. This involves dividing work into 25-minute bursts of ultra focused effort, followed by 5-minute breaks. After every four 25-minute chunks, I take a 15–30 minute respite.

Regularly alternating those short breaks allows my fried brain to recharge. I can then fully concentrate during those 25-minute periods without burning out. I adopted Pomodoro after realizing long uninterrupted study blocks were less efficient for retaining information. The work-break cadence helps me retain more while studying less overall.

You can even take your Pomodoro steps further, by applying Parkinson’s Law to reduce the time that takes you to finish an assignment or random tasks. Parkinson’s Law states that work expands to fill the time available for its completion. In other words, if you give yourself a week to complete a task, it will likely take you a week to finish it, even if it could have been completed in a shorter time frame. This concept suggests that deadlines and time constraints can actually improve efficiency by forcing individuals to focus and prioritize their efforts. It also implies that without clear boundaries, tasks can easily stretch out and consume more time and resources than necessary. — ChatGPT

Example: Instead of setting a 5-hour block to study, change it down to 3 or even 2 hours only. And trust me, you WILL finish on time.

And Finally, Don’t Forget Rest!

When you’re an overburdened engineering student, it’s tempting to feel like you should always be grinding — after all, there’s always more assignments to do! However, rest is just as critical as the work itself, though often neglected. That’s why I block off time for recreational activities and 7–8 hours of sleep nightly.

After long days of intellectual exertion, I dedicate evenings to rejuvenate through reading fiction, seeing friends, or pursuing hobbies like learning piano. Just as athletes require recovery days for their muscles, our minds need time to recharge fully too. Skipping relaxation only leads to burnout and declining performance. By scheduling restorative breaks, I’m able to maintain peak productivity levels.

“Rest is valuable only so far as it is a contrast.”

The Bottom Line

In conclusion, time management was a game changer for surviving as a software engineering student. While it took some refining to find the right balance, strategies like meticulous time blocking, frog eating, Pomodoro technique, and valuing rest keep me afloat. With some diligence, you too can take control of your schedule and prevent the workload from burying you alive!

If you found this short article helpful, kindly clap for it and give me a follow for similar guides :)

--

--

Tarek Khatib

Software Engineering student | Time Management & Productivity Enthusiast | Most of all, writer.