Tejas Mehta
Topics of Interest: Software Writing, Slack, Texas CSB, Internships, Product Management, Ownership
Internships offer students an excellent opportunity to explore their interests, pursue individual goals, and cultivate long-lasting relationships on a professional and personal level. Tejas Mehta was able to accomplish all of this at Slack this past summer, where he leveraged his experience writing software to improve Slack’s user experience. “What really surprised me is how much they trust interns,” said Tejas when asked about what was shocking to him about his experience. “It surprised me initially, but then it started to make sense because you learn most with the ownership being given to you.”
Tejas Mehta is a junior student studying in the Texas CSB Program, and since high school, he has been interested in the intersection of technology and business. Tejas enjoys building software that will be used to help people, and he hopes to continue doing this throughout his professional career. Tejas also emphasizes the importance of exploring your interests, and he suggests that students do everything they can to figure out what they are most passionate about.
This past summer, Tejas worked as an intern with Slack. Read on to find out more about his experiences and some of his advice to succeed!
Tell us about yourself. What drew you to the Texas CSB Program?
Hi, I’m Tejas Mehta, and I’m a junior studying computer science and finance as part of the CSB program. What really got me into the intersection of computer science and business was when I built my first website in high school, connecting stressed students with peer supporters who have gone through the same thing and can guide them through their stress. And since then, I’ve realized that having the ability to write software and also having the business acumen to be able to scale it and build it for the right type of users is something that I think has a lot of potential to make a big difference. It is also something that is just really fun, like building stuff for the people around you, seeing them use it, and making it better. Things like that have been stuff that I’ve really enjoyed. Since then, I’ve just been trying to do as many software and product management internships as I can. And this summer, specifically, I was at Slack.
What did the process look like for you to get your internship with Slack?
It really started out with a recruiter reaching out to me and saying, “Would you be interested in attending this event where you can learn more about opportunities at Slack?” I attended the event, and they were really friendly. We got to learn a lot about what it means to work at Slack, their core values, as well as projects that other interns have worked on. That really encouraged me to apply and go for it because I really liked the people who I had talked to. So I applied online, and then received a link to a coding assessment. These coding assessments are pretty standardized across the CS industry. You get these problems, solve them, pass as many test cases as you can, and write them efficiently and understandably for the person reading your code. After submitting that, it was only a matter of time because it’s a pretty objective assessment, and I thought I’d done pretty well. They advanced me to the next round, which was a recruiter phone screen, where they got to learn a lot about my past experiences, my interest, and why I specifically want to be at Slack. Finally, there was a hiring manager interview round. They asked me a little bit about the projects I worked on in my past internships, as well as personal projects, and they asked me a few technical questions on why I structured things the way I did. But most importantly, they tried to gauge on whether I fit Slack’s values, and whether I would be a good fit in terms of my actual interest in the internship.
What did some of your responsibilities look like in your position?
It was pretty vaguely defined, in a good way, because they gave me a lot of autonomy to decide what I really wanted to contribute on. There are three core areas where you can really contribute as a software engineering intern. One is the product side of things. They gave me a relatively vague problem statement about the image viewing and sending experience, and I had to figure out how we could improve it and make it as frictionless as possible, fitting with Slack’s mission to make working as productive as possible. Then, they gave me a few ideas like building an image editor. From there on out, I worked with the product manager to scope out the users and what they’ve been using Slack for. We discovered that images were actually one of the most sent files in Slack, and over 70% of those images are actually screenshots. It’s crazy, but people literally communicate through images and text the most in Slack. Knowing that information, we just wanted to build the whole sending and viewing experience to be as seamless as possible, without any distractions where you had to open up the external editor, do all that work, switch applications, and lose your valuable productivity time. We decided to build an image editor within Slack, as well as add in a few editing capabilities within the image viewer. Then it came to my software development responsibilities. Any software engineer, specifically within a web application, like Slack, has three main functions. There’s frontend development, which is developing the stuff that most users see. This includes things like the UI components, the buttons, or different tabs that run through the frontend code. I got to get a little bit of exposure by building this rotation button that you can actually see in the viewer today. Then there’s the backend side of things, which is basically whenever you do those interactions in the front end, you send that to the back end. It does all the business logic, conversion, and all the processing to turn whatever inputs the user is sending into some meaningful response that you could send back to the user. An example of my backend work would be if the user wanted to crop or rotate the image, the front end would send me those parameters saying, “I’ve cropped the image by this much and rotated it this many times.” My goal was then to take the image, apply those transformations, upload it to Slack’s database, serve it in a way such that only the right people can access it, and then return that image back to the user, as well as a few thumbnails just so if they get a smaller size, they can view it in a fast way. And that process was all the backend stuff. Finally, I didn’t really work on infrastructure, but a pretty big role within software engineering is writing the code that lets people communicate with the frontend and the backend in a way that scales really well. For example, Slack has about 10 million users today, so how can we make it possible that even with 10 million people sending messages all at the same time, everything is working smoothly, and staying stable.
Out of all the things you learned in your internship, what were some of the biggest takeaways you had about your field?
For the engineering lessons, I learned that whenever you’re building something, it’s easy to get caught up in the technicalities of what’s most efficient or what’s technically the best way to do things. But it’s really easy to go down the rabbit hole of building things to exact specs versus thinking about the actual user who’s going to be using it. This is just something that software engineers always have to keep in mind because at the end of the day, you’re building this for the users, so keep them at the top of your mind while questioning what decisions to make. Another thing I really learned was how to build things in a secure way that respects privacy, and Slack really prioritizes both privacy and security. When making different design decisions, keep both in mind so you don’t compromise these qualities. One way to avoid compromising privacy and security is to anticipate every kind of input that the user might send, so that you can be prepared and protect other users on the platform.
What surprised you the most about your internship?
What really surprised me is just how much they trust interns at different companies. At Slack specifically, they gave a lot of ownership to people who are just in college and still learning a lot. It surprised me initially, but then it started to make sense because you learn most with the ownership being given to you. Having that sort of impact where you’re going to be doing something relevant really motivates you to actually put in the effort and tie yourself to the company’s mission. Another thing that surprised me is how much there is to learn no matter how experienced you are. It’s not like you’ve finished college, and you’re just done learning, or you spend two years after your career learning and that’s it. The learning is really infinite. I was talking to staff engineers that have been there since almost the start of Slack, and they’re still constantly in the process of adopting new technologies. That surprised me, but it also makes a lot of sense, especially given how quickly new technologies are being developed and released..
Are there any life lessons you learned that you could share?
One thing with internships that’s always a little confusing is trying to understand the difference between your mentor, your manager, and all your other coworkers. What are you supposed to talk to them about? My first manager meeting especially was pretty intimidating because I was thinking, “Do I update her about the nitty gritty of my projects? Do I ask her more general questions?” Basically, I learned that your manager is there to help you grow as an engineer and as a person. They care a lot about your career growth. It’s really nice to ask them about how they were able to grow in their career and any advice they might have for you. Most importantly, though, you need to be specific with your questions. If you ever have anything top-of-mind about how the company works, or how you can become better, be specific about your questions, because only then will your manager really be able to help you. My manager specifically told me her pet peeve was people coming to her with super general and big questions. So, spending time to reflect on what you want is really important. The second life lesson is to reach out to as many people as you can outside of your team. I talked to a lot of people on the sales team, business development team, and even recruiters, and it’s really nice to get an overall gauge of the company by talking to a diverse group of people so you can understand how you can contribute.