DEV Community

Cover image for What I Learned in Tech: From Student to Full-Time Software Developer - Part 3/3
Arnav Sharma
Arnav Sharma

Posted on

What I Learned in Tech: From Student to Full-Time Software Developer - Part 3/3

🧭 From Layoff to Leadership: My Full-Time Journey at Uolo

After a promising internship at Scaler, things took an unexpected turn. Scaler was hit with a wave of layoffs—and my entire team was let go. Just like that, my internship came to an abrupt end.

But I chose to treat it as a challenge, not a setback.

My goal was clear:

Get a full-time role in under 2 months—or pivot to freelancing.

(Spoiler: the pivot wasn’t needed.)

🚀 Missed Part 2?
Check out Part 2 – From Code Labs to Code Reviews (My Internship Experience)


⚒ The Post-Layoff Hustle

The two months after my layoff felt long and uncertain. I spent my days preparing for interviews, revisiting the two golden pillars: DSA and Web Development.

HR calls alone weren’t enough. Interviews went deep—sometimes into topics I hadn’t touched in a while. But I kept pushing.

Finally, after multiple rounds of problem-solving and technical interviews, I landed a full-time offer from Uolo.

With just a week until joining, I was back—this time as a full-time Software Developer, carrying not just skills, but experience with real-world challenges like layoffs and resets.

đŸ§Ș Training at Uolo: Structured, Practical, and Fast-Paced

Uolo had a 3-month structured training/probation period. Their tech stack was mostly MERN, with some services built using PostgreSQL and Python—thankfully, nothing unfamiliar.

The training was broken into 3 levels:


đŸ§© Level 1: MERN Project from Scratch

We were given documentation and UI designs for a project and asked to build it using the MERN stack. This phase was broken into 4 parts, each reviewed by a different SDE who assessed our approach and implementation.

Having prior MERN experience (and my internship at Scaler), this part felt smooth. The focus was on clean architecture, code readability, and meeting requirements—all lessons I’d already been practicing.


🐛 Level 2: Real Bugs, Real Code

I was now part of the ERP Team, working on real codebases. My tasks included fixing bugs, understanding microservices, and writing tests for stability.

This was my first time seeing a microservices architecture in action—and it was fascinating. Watching services talk to each other, understanding how responsibilities were split—it all deepened my backend understanding.


🚀 Level 3: Shipping a Feature

This was the final test—building a complete feature and getting it production-ready.

Everything from writing the logic, handling edge cases, testing thoroughly, to raising the final PR.

It felt a lot like the internship, just with more polish and independence.

đŸ› ïž Settling In: Learning, Growing, Shipping

After training, I carried forward the habits I built during my internship:

  • Asking the right questions: “Why this?” “What if that?”
  • Speaking up in product discussions
  • Taking ownership of features end-to-end

Over the next few months, I:

  • Picked up features and bugs regularly
  • Met tight deadlines
  • Earned the trust of my team and leads

My leads began assigning me more advanced tasks, and I learned to document my proposed changes—both verbally and in writing—to get feedback on my implementation strategy. I even got to collaborate with the CMS team when the ERP team was fully loaded, helping ship features outside my usual scope.

I was also getting better at system design—learning to write scalable, modular code, with the occasional tweak from my leads that took it to the next level.

If you plotted my learning curve on a graph, it would look like a steady mountain climb—but the climb didn’t last forever.

đŸȘ“ Another Layoff, Another Shift

Come January, another round of layoffs hit. This time, half our team was let go.

Luckily, I wasn’t affected—but I suddenly became the sole owner of the product I had taken over just 6 months ago.

The pace across teams slowed for a bit as everyone recalibrated. We had to figure out:

  • How to manage product ownership alone
  • How to distribute responsibilities in a lean team

🧠 From Developer to Owner

With full ownership came new responsibility. Every line of code I wrote now came with a bigger “what if?” I couldn’t afford to break things—I had to design, test, and review with extra care.

But this also pushed me out of my comfort zone.

I started picking up tasks that were unfamiliar:

  • Working on video processing pipelines
  • Generating scalable user reports
  • Learning RabbitMQ, and eventually migrating existing SQS queues to RabbitMQ

Oh, and production support tickets? Those were now my job too. Triaging, solving, and deploying—all within tight deadlines.

🔄 Expanding My Scope

After a few months, I was added to an additional team to share the workload. That gave me visibility into how different Uolo products connected, and helped me understand the full ecosystem.

But the approach remained the same:

  • Keep learning
  • Discuss architecture with peers
  • Think about scalability
  • Try weird approaches, break them, fix them again

🎯 Final Thoughts

My full-time journey at Uolo has been a masterclass in ownership, accountability, and growth under pressure.

From seeing microservices in action, to handling production tickets solo, to migrating queues and designing scalable systems—every phase taught me something new.

If you’re just entering the industry or dealing with your first layoff, here’s what I’d say:

Be resilient. Stay curious. Trust your process.

The learning doesn’t stop at getting the job—it starts there.

đŸŒ± What's Next in My Software Development Journey?

Looking ahead, I’m excited about the path I’m carving in software development. The journey so far has only deepened my passion for building scalable, reliable systems that make an impact.

I’m particularly interested in exploring more advanced system design and cloud infrastructure—areas where I can expand my expertise and contribute to solving even bigger challenges.

In the coming years, I want to continue honing my skills in areas like distributed systems and DevOps. I see myself working on products that not only scale with millions of users but also innovate in ways that drive the future of tech.

But more than that, I want to keep learning, mentoring, and sharing my knowledge with others—whether through writing, creating educational content, or collaborating on open-source projects.

I’m ready for the next challenge, and I’m excited about where this journey will take me.

Top comments (0)