DEV Community

Ahad Nawaz
Ahad Nawaz

Posted on

Running a Software Company While Finishing a CS Degree: What Actually Works

I have a client call at 9am. A university exam at 11am. A sprint review at 3pm.

This is a regular Tuesday for me.

I am a final year CS student at Lahore Garrison University and the Founder and CEO of REIVEX Technologies. I have shipped 20 plus products across those two tracks, for 15 plus companies, while sitting in the same lectures everyone else is sitting in.

People ask me how I manage both. Here is the honest answer.

You Do Not Manage It. You Choose What to Sacrifice.

There is no productivity system that makes running a company and finishing a degree feel easy. Anyone telling you otherwise is either not doing both seriously or not being honest with you.

What you can do is be deliberate about what you are willing to deprioritize. Social events get cut first. Perfect assignment scores get traded for good enough. Sleep gets protected because without it, both work and study quality collapse.

The choice is not whether to sacrifice something. The choice is what to sacrifice and whether you are okay with that.

The Practical Reality of the Calendar

I treat my calendar as a single unified system, not as two separate systems for uni and work. Every commitment, exam, deadline, client call, and sprint goes into one place.

When a client asks for a meeting, I look at my actual calendar before I agree. If there is an exam that week, I tell them I can meet after. Most professional clients respect this once you are transparent about it.

The mistake most student founders make is double booking themselves and then failing to deliver on one side. Transparency about constraints is not weakness. It is professionalism.

Lectures as Forced Context Switching

I used to see lectures as interruptions. Then I realized they are scheduled context switching, which is actually useful.

A 90 minute lecture forces you to step away from the code, sit with a completely different problem, and engage a different part of your brain. I come back from lectures with fresh eyes on things I was stuck on before.

The academic content also matters more than I expected. Data structures and algorithms directly improved how I think about query optimization in my ERPs. Operating systems concepts improved how I think about concurrency in Node.js applications. The theory connects to the practice more than it seems in the moment.

How I Handle Client Expectations

Every new client conversation I have starts with me being explicit about my situation. I am a student who also runs a company. I work differently from an agency. I am available at specific hours. My response time has a floor and a ceiling that I can tell them up front.

This filters out clients who want someone available 24 hours a day and retains clients who want someone who delivers. The filtering is good. I do not want the clients I filter out.

I also charge appropriately. Undercharging to compensate for constraints is a trap. It attracts more demanding clients, creates more stress, and builds a business you will not want to continue after you graduate.

The Technical Edge of Being Both a Student and a Builder

There is a real advantage to learning theory and practice simultaneously. When a professor explains database normalization, I have a live production database in my head where those rules apply or are being violated. The theory becomes immediately meaningful.

When I hit a production problem, I have access to faculty and peers who can engage with it at a conceptual level. Not as consultants, but as sounding boards.

This combination is temporary. After graduation, you either become a full time practitioner who reads papers occasionally, or a researcher who writes code occasionally. Right now I am both at once. I am trying to get as much out of it as possible.

What I Would Tell Someone Starting This Path

Build your first real project in your first year, not after you graduate. Wait and you will keep waiting. The right time to start building is when you have enough knowledge to be dangerous, which comes earlier than you think.

Pick clients carefully. One client who respects your time is worth five who do not. The damage a bad client does to your ability to study and ship quality work is not worth the revenue.

Do not let either track become a performance. Some students do the startup as a resume item without really building anything. Some founders keep enrolling without really engaging with the degree. Both are wasted opportunities. If you are going to do both, do both for real.

Keep your code quality high even when you are under pressure. Technical debt accumulated during busy weeks compounds into systems that are hard to maintain and embarrassing to show. Future you will need to extend what present you is building.

The Part Nobody Talks About

There are weeks where it is genuinely hard. Where a production system breaks at the same time as a group project is due and you have to make a call about which one gets your full attention that evening.

You will make calls you are not happy with. You will apologize to clients. You will hand in assignments that are not your best work. That is the reality.

But there are also weeks where you ship something real, present it to a client, and then walk into an exam on the underlying theory of how it works. That feeling of applied competence is something you cannot manufacture after the fact.

Most people do not start building until after they graduate. I started during. That head start does not disappear when the degree ends.


I am Ahad, Founder of REIVEX Technologies and a final year CS student. If you are in a similar situation or want to talk about building software companies early, find me at ahadnawaz.dev.

Top comments (0)