Embarking on a journey
Stepping out of SFO with the familiarity of the fogginess of the city, my story at Slack unfolds once again. As a return intern, I found myself prepped for another exciting summer, and this opportunity encompassed a renewed sense of anticipation — a mix between known pathways and new adventures.
Returning to an internship can often feel like slipping back into a familiar routine, much like riding an old bike. However, this time around, the gears feel a bit different. It’s not just a return to the familiar, but an opportunity to build upon the lessons learned during my first summer. Navigating as a return intern while hoping to achieve unique experiences is undeniably valuable and important. So how do we make the most of our short 12 weeks here?
Meeting the Voyagers, Mobile DevXP, and myself
- I’m going into my senior year at Rutgers University, majoring in Computer Science.
- I was a return intern to Slack on the same team as last summer, Mobile Developer Experience.
- I was based in San Francisco for both summers (2022 and 2023).
Leveraging past voyages for current successes
I interned on the Mobile Developer Experience team, aka mDevXP. As mentioned in this blog post, the team works on improving the development experience for mobile engineers at Slack (hence the name) and builds solutions to empower developers to ship code with high confidence and velocity, while also having a pleasant and productive experience.
The knowledge I gained from the BuildKite project was pivotal when I returned to Slack this summer. With the solid foundation of understanding development intricacies from my previous role, I ventured into a new project – creating a custom plugin for Android Studio, named Skate.
Skate is a start to address many of the pain points experienced by Android developers at Slack. I had started the Skate plugin project and implemented a “What’s New” Panel feature that would take a changelog Markdown file and parse it to just show the latest changes by date.
The panel shares information in a “stickier” way, by providing Android developers at Slack with more visibility to stay up-to-date with the latest updates, announcements, and news within Slack. This allows us to get relevant information directly in the tool our developers are looking at all day by meeting customers where they are.
It was really cool to develop Skate because it was the team’s first experience in creating intelliJ plugins, and also my first time contributing to an open source project. It’s named after me as well, Kate & Slack, so it’s nice that my name will always be in the plugin!
The skills I got from last year – understanding tech stacks, navigating codebases, and communication – all became instrumental. Exploring different aspects of the mDevXP’s operations — in this case, the shift between scripting, Python, Android, and iOS — was incredibly enriching. This exploration not only expanded my technical proficiency but also broadened my understanding of how versatile a team could be. I came to appreciate the fluid dynamics within the team, and the adaptability required in the tech landscape here at Slack. Despite having different tech stacks, the skills were still transferable.
Reaching the destination: What can I do to make the most of my internship?
Asking questions and posting updates in public channels
One of my favorite parts about Slack is how much we value our own product in day-to-day development and work. I love how engineers, managers, and designers are all accessible via DM, and announcements are decorated with emojis and a plethora of reactjis as well. The majority of project channels being public also contributes to the transparency culture, which is beneficial for interns too, since there is documentation of their work in these channels.
Things I’ve learned from working at Slack
- By default, always keep it in the channel. I had a public channel #proj-android-studio-plugin to post daily updates of my project, and I would also post everything else in the channel for visibility. Unless you are requesting direct help from someone, it’s always better to keep it public. Some examples are:
- Questions and blockers that you would otherwise DM someone about. Start a thread discussion as it keeps an organized documentation of what you were stuck on, and how you lead to the solution
- What you’re currently researching and learning
- Exciting updates and milestones about your project!
- Here are also a few shortcuts that I learned from working on the intellij plugin, which I kept in a canvas document in my channel:
- Have async meetings if possible. It’s better to handle things offline than bother busy devs with meetings!
Reintroducing yourself and building new connections
As a return intern, it’s important to re-introduce yourself to the team, as it’s been a year. Don’t hesitate to reconnect, especially with members you may not have interacted with as much the previous summer. Or, if there are new members, feel free to reach out and set up a quick 1:1 chat.
Here is my advice for 1:1 or “coffee” chats:
- Have at least 1:1 a week with a new person at the company (if not two)
- Research a bit about the person’s role and preparing questions for them
- Set up a loose meeting agenda of what to talk about
- Reach out to people if you see something cool or interesting! For example I was scrolling through an Android dogfood feedback channel and saw a message from an accessibility PM at Slack, and learned so much about what it takes to make the product accessible across desktop.
Reflecting and receiving feedback
One of my most valuable lessons I’ve learned as an intern is the importance of feedback and reflection. Along with conducting your project, you are also growing as an individual in the workplace and industry. Here is what I’ve found helpful throughout my internships.
- Ask for feedback regularly: Don’t be afraid to ask!
- Write it down: We’re not superhuman, and it’s easy to forget sometimes. It’s always a good idea to write it down to track your progress.
- Act on feedback: Getting feedback is useless until you act on it, and people will also be encouraged to give you feedback if they see it accounted for in real life.
- Give feedback too: Feedback is a two-way street, and sharing constructive feedback with your team members, mentors, and manager will create a culture of two-way communication, and it will benefit you and your team with continuous improvement.
What I’ve learned
As return interns, we have the unique advantage of leveraging our previous knowledge about the team and our team members, making this exploration less daunting and more accessible. We’re in a prime position to learn and absorb as much as we can, from familiar tasks to entirely new domains. It’s one of the most rewarding experiences, and these 12 weeks will go by quickly. Don’t forget to enjoy your time, get to know everyone, and also to have fun. :)
Interested in interning with us? Apply now