Skip to content

Dharam: Finding Structure and Crafting Clean Code

Photo of a smiling man, Dharam, who is a graduate of a Northcoders bootcamp.

Dharam recently graduated from the March 2026 cohort of Northcoders’ Enterprise Engineering bootcamp. He shares his thoughts about his career transition, the value of routine, and finding his rhythm in backend architecture.

What were you doing before the course?

Before joining Northcoders, I was working as a Junior Data Engineer. My day-to-day involved supporting a variety of Java microservices in a high-volume environment and building system monitoring dashboards.

While I learned a great deal about infrastructure and data flow in that role, I realised over time that I wanted to pivot away from managing pipelines and move directly into backend product development. I spent a period upskilling independently, but I eventually reached a point where trying to bridge my technical gaps without a solid framework in place was becoming difficult. I knew I needed a dedicated, immersive environment to successfully transition into software engineering.

What made you interested in Northcoders?

I had been doing self-directed study—focusing on C# and core object-oriented programming concepts—but I needed a routine to truly accelerate my learning.

Northcoders stood out because it offered exactly that. The Enterprise Engineering programme operates on a strict 8:30 AM to 5:00 PM daily schedule, which gave my days the structure I had been missing (in fact, it’s a schedule I am still keeping up today!). The format was perfect: we would review pre-reading material, dive into a morning lecture, and then immediately get stuck into practical pair programming. That hands-on collaboration provided an amazing level of accountability that you just can’t get when studying alone.

What do you think of the bootcamp?

The bootcamp has been intense, fast-paced, and incredibly rewarding. My biggest takeaway hasn’t just been mastering the syntax of C# and .NET; it has been learning the actual discipline of software craftsmanship.

We were taught to embrace strict constraints, like always writing tests before our production code (Test-Driven Development) and keeping the codebase structured using layered architecture. It shifted my mindset completely. I learned that building great software isn’t just about reaching the “peak” of getting an application to work; it is about the process, and writing clean, testable code that the next developer will actually want to read.

I also really appreciated the collaborative aspect. Working alongside the rest of the March cohort—whether we were pairing closely in person or collaborating with those dialling in remotely—taught me a huge amount about effective communication and problem-solving under pressure. The tutors are incredibly supportive, and the environment constantly pushes you to grow into a resilient, adaptable software engineer.