DEV Community

Cover image for What I learned building a real talent funnel from SRS and Figma to QA, handover, and closing without a perfect ending.
Shakiran Nannyombi
Shakiran Nannyombi

Posted on

What I learned building a real talent funnel from SRS and Figma to QA, handover, and closing without a perfect ending.

Hey everyone,

If you followed my weekly Hashnode series, you already know the short version: eight weeks, one real product, a lot of shipping, and a quieter finale than I expected.

This post is the longer reflection on the whole arc in one place.

Series link: My Software Engineering Internship Journey

How it started

Week 1 did not feel like “writing production code on day one.” It felt like orientation into a different kind of seriousness.

We were not building toys. We were joining a live talent funnel product, the Talent Funnel, where candidates move through discovery, onboarding, assessments, and interviews, while admins need tools they can trust.

Before the flashy UI work, there was the quieter foundation work: requirements, diagrams, architecture conversations, and learning how classroom theory behaves once real stakeholders and real timelines enter the room.

That first week taught me something I kept rediscovering: industry work is less about knowing everything, and more about becoming useful quickly without breaking what already exists.

The middle: building for real users

Across the middle weeks, the work widened fast.

We moved through:

  • requirements and data architecture
  • monorepo structure and type-safe environments
  • custom auth and onboarding flows
  • candidate home hubs, assessment surfaces, and UI states
  • landing pages, hierarchy polish, and painful but necessary rework
  • admin portals, route hardening, and access control

Some weeks felt like invention. Others felt like correction.

Week 5 especially stuck with me: being right about a UI direction did not always protect the work from being redone. Branch overlap, merge calls, and scope cleanup taught me more than the feature itself. That was uncomfortable. It was also one of the most useful lessons of the internship.

By Weeks 6 and 7, the focus shifted again from “can we build this?” to “can this survive without scaffolding?” We migrated out of temporary paths, cleaned legacy naming, unified branding, hardened staff access, improved analytics and candidate summaries, and started thinking about handover as part of engineering, not as an afterthought.

What the work actually looked like

If I had to name the through-line of my internship, it would be consistency.

Not just visual consistency. Product consistency.

Making routes make sense. Making emails point to real places. Making settings and permissions match how staff actually work. Making responsive layouts behave on phones, not only on laptops. Making localization expose every missing string before a user does. Shipping in related batches instead of one giant pile that nobody can review.

Those details do not always look impressive in a weekly update. They are what make a product feel intentional.

How it ended

Week 8 was the finale: QA, test documentation, and project handover.

As a team, we closed the project. We did not get full client feedback before we wrapped. That is the honest part. Timelines move. Stakeholders are busy. Final reviews do not always land when you hope they will.

Even so, we know they appreciated the work. That appreciation showed up in the collaboration, the trust, and the way the product kept moving forward with us. A long written review would have been nice. Knowing the work mattered still counts.

Closing without a cinematic ending taught me something I did not expect to learn so clearly:

Finishing well is not the same as finishing loudly.

Sometimes a good ending looks like regression checks, documented test cases, known issues written down honestly, and a handover package that lets the next engineers continue without reconstructing the story from commit messages alone.

What I take with me

I leave with more than a portfolio of screens.

I leave with better instincts around:

  • shipping in related batches
  • treating documentation as part of delivery
  • seeing responsive UI, localization, and access control as product integrity, not polish
  • treating merge conflicts, CI surprises, and overlapping branches as the work itself
  • measuring progress not only by what I can build, but by whether someone else can continue after me

Somewhere between Week 1 and Week 8, I stopped thinking of an internship as a sequence of tasks. I started seeing it as practice in becoming leaveable, leaving systems, decisions, and context in a state where the team can keep going.

If you are starting your own internship

A few things I would tell my Week 1 self:

  1. Ask for context early. Why a decision exists matters as much as how to implement it.
  2. Expect rework. Being right once does not freeze the product forever.
  3. Write things down while they are still fresh. Future you and future teammates need that.
  4. Care about the unglamorous paths: empty states, mobile, permissions, broken links.
  5. Learn to close. Shipping is not only starting features. It is also QA, honesty about risk, and handover.

Closing

Internships end. Products keep going.

I am proud of what we built, proud of how we closed, and grateful for the team, mentors, and trust that made the experience real.

If you want the week-by-week story, start here:
My Software Engineering Internship Journey

Thanks for reading.

Top comments (0)