From Itahari to St. John's: Balancing an MSc, a Dev Job and Freelance Clients

What changed when I moved from Nepal to St. John's, Newfoundland to study an MSc in Computer Science at MUN while working at Verisult and keeping my freelance clients.

Illustration for: From Itahari to St. John's: Balancing an MSc, a Dev Job and Freelance Clients

For years my working day started in Itahari, Nepal, a few hours ahead of my UK clients. Now it starts in St. John's, Newfoundland, where I'm studying for an MSc in Computer Science at Memorial University (MUN) and working at Verisult as a Digital Systems & Web Intern through MUN's Graduate Internship Program. I still run freelance projects on PeoplePerHour.

This post covers how I try to make the three fit together. It's half reflection and half a set of notes I wish I'd had before the move.

The time zone flipped, and that helped

From Nepal (UTC+5:45), UK business hours ran from my mid-afternoon until late at night. Newfoundland Time is UTC-3:30, only 3.5 hours behind London, which is one of the best overlaps you can get in North America:

  • Morning in St. John's = early afternoon in the UK. I can answer client messages before classes.
  • Afternoon in St. John's = working hours in Toronto and Vancouver, so Canadian clients are easy too.
  • I no longer have to deploy at midnight to stay outside UK peak hours.

Three commitments, one calendar

The biggest change is that my time now belongs to three groups of people: professors, my team at Verisult and freelance clients. What has worked so far:

  1. Fixed blocks, not leftover time. Coursework, Verisult and freelance work each get named blocks in the calendar. Freelance work fits into its blocks, and I don't eat into the others.
  2. Fewer, larger freelance projects. One well-scoped retainer is far easier to manage than five small jobs.
  3. Written updates instead of calls. A short async update ("done / next / blocked") saves a meeting and gives the client a record.
  4. Saying no early. If a project would clash with exams, I say so at quote time, not mid-sprint.

What the MSc adds to client work

I went back to university to get deeper in the fundamentals behind the work I already do every day. Topics like algorithms, distributed systems and machine learning quickly turn into practical questions: why is this query slow, what happens to this queue under load, where would a model actually help this business. The research mindset also makes me better at measuring before optimising, a habit I write about in my Laravel performance post.

Notes for developers making a similar move

  • Update every profile on the same day. Location and time zone on your portfolio, LinkedIn, freelance profiles and email signature. Clients notice inconsistencies.
  • Keep your tools portable. Password manager, SSH keys, 2FA backup codes and server access should all work from a new laptop in a new country before you fly.
  • Tell existing clients early. Explain the move, the new hours and the overlap. Most of them will care only about response times.
  • Check your study and work permit conditions before taking on any additional work, and keep your records tidy.

What's next

I'll keep writing here about the things I build, both at Verisult (see the verisultcollege.ca write-up) and in freelance projects. If you're in Newfoundland, or anywhere in Canada, and need a developer, get in touch.

Utsav Karki

Utsav Karki

MSc Computer Science student at Memorial University and Digital Systems & Web Intern at Verisult, based in St. John's, NL. I build with WordPress, Laravel, Next.js and Linux servers. Work with me →