A Three-Team Intern Project With One Shared Goal

Slack’s Data Engineering pillar ran on a hybrid model this summer, and three interns experienced that flexibility from a unique angle. Although each of us joined a different team within the pillar—with separate mentors and managers—our work converged on a single collaborative project: extending Slack’s data lineage system.

For the uninitiated, data lineage is the practice of annotating data to track where it originates and where it flows. Imagine pulling from a dataset that turns out to contain a bug, only to discover the problem actually lives in an upstream dataset that your source was derived from. Without lineage information, tracing that chain is nearly impossible.

Slack already had a lineage system in place, but our project addressed three specific gaps in it:

  • Parser dependency: The existing system relied on a SQL parser maintained by a team with higher-priority commitments. Shifting ownership away from a single team could increase maintainability and let more teams contribute coverage with minimal effort.
  • Limited query coverage: The parser only extracted lineage from certain specialized query types. Manually annotating lineage could broaden what gets tracked.
  • No visual component: Apart from an internal notification tool—which alerted only one level downstream about a table—there was no way to visualize lineage relationships.

Ramping Up in a Hybrid Environment

Our introductions to Slack followed a similar pattern: onboarding sessions delivered largely over video, with plenty of encouragement to join scrum meetings and icebreaker chats. Despite joining from different geographic locations, we quickly found common ground with teammates we’d never met in person.

By the middle of our second week, we were digging into project briefs that laid out objectives for both the frontend and backend. That’s also when the three of us started working as a unit rather than as individuals on separate teams.

Agile Cycles, Shared Ownership

We managed the work through two-week sprints, with each of us rotating into the scrum master role. Our mentors and managers helped us estimate task sizes and split Jira tickets, while retrospectives gave the whole team a chance to vote on discussion topics and celebrate progress. Early on, though, we noticed a problem: meeting with our mentors individually meant we rarely worked together as a trio. To fix that, we scheduled recurring work blocks with all mentors present, using the time to collaborate on a single task and sync on individual progress.

Presenting was also a regular part of the summer. We spoke at Data Engineering Lightning Talks twice—once at the start and once at the end—and presented to the larger CoreDev org, roughly 200 people, around the midpoint. Watching our project evolve between those talks was a source of pride and useful practice in public speaking.

Building Connections Beyond the Code

The non-technical highlights were just as valuable. Our managers organized virtual game sessions that let us get to know extended team members on a deeper level, and we eventually met in person for a team lunch in Fisherman’s Wharf. Slack’s parent company, Salesforce, also ran events through its university recruiting program, including a Spark social, a volunteer day at McLaren’s Park, speaker series sessions, and an evening of ping pong at Spin SF. Those gatherings made it easy to form friendships with interns from across the company—especially after years of mostly remote interaction.

What Each of Us Took Away

Hannah: Having never worked closely with other interns on the same project, I was unsure what to expect. It turned out to be the best part. We advocated for each other, rotated through leadership duties like scrum lead, and collaborated on backend tickets. The people I met had a profound impact on me, and I’ll remember them throughout my career.

Fenil: Our cross-functional setup—with mentors from different teams—meant I was never blocked for long; someone always stepped in to help. I ended up learning across frontend, backend, data engineering, containerization, deployment, agile methodology, and version control. That breadth was only possible because the project touched all those areas and because our mentors were experts who gave us room to grow.

Derek: After fully remote internships, the hybrid format was a great change. I made meaningful connections with interns, engineers, managers, and execs, and living in San Francisco was far better than staying home. I was initially wary of group project dynamics, but working with Hannah and Fenil was seamless. Having access to each other’s mentors made our project move more smoothly than I expected.

Reflections on the Summer

Three lessons stood out from our experience:

  • Remote work has its perks, but the chance to meet and collaborate in person was invaluable.
  • Having a dependable team changes everything—we win together, lose together, and support each other.
  • Prioritizing fun and connection with your team matters as much as the project itself; it shapes the entire daily experience.

Our time on Slack’s Data Engineering team gave us firsthand experience navigating both the office and remote work, with all the professional growth that comes from adapting to either setting. We’re grateful for the opportunity.

Special thanks to our managers Suzanna Khatchatrian, Lakshmi Mohan, and Johnny Cao, and to our mentors Joey Thaidigsman, Tom Liao, Shreya Shetty, and Shrushti Patel for their consistent support.