Transcript
Josh Goldberg (0:00)
Slack is a team communication platform that originated as an internal tool within tinyspec, a game development company. When the company realized that their game would not achieve commercial success, they changed direction and repurposed the communication tool into a new product, which eventually became Slack. Slack was launched in 2013 and is now ubiquitous in workplaces around the world. Shruti Kapoor is a lead member of the technical staff at Slack Shrubs. She's worked on features including Huddles, the recent redesign of Slack, and currently works on Accessibility. She joins the podcast to talk about her path into front end engineering, the front end tech stack at Slack, the developer tooling, how Slack evaluates new technologies, and more. This episode is hosted by Josh Goldberg, an independent full time open source developer. Josh works on projects in the TypeScript ecosystem, most notably TypeScript ES Slint, the tooling that enables ES Slint and Prettier to run on TypeScript code. Josh is also the author of the O'Reilly Learning TypeScript book, a Microsoft MVP for developer technologies, and a live code streamer on Twitch. Find Josh on Bluesky, Mastodon, Twitter, Twitch, YouTube, and dot com as JoshUakGoldber.
Josh Goldberg (1:27)
Shruti, how's it going?
Shruti Kapoor (1:28)
It's going pretty good. Thank you for having me on the podcast.
Josh Goldberg (1:32)
We're excited to have you. Shruti, can you tell us a little bit about yourself? How'd you get into tech?
Shruti Kapoor (1:36)
Yeah, so actually I got started into tech pretty early. I would say I was the kind of weird kid who wanted to do HTML when they were in grade eight, mostly because my dad kind of forced me into it. And he said this would be a nice exposure for you to see how to build websites. And I was like, okay. So I took an HTML course and I actually really liked it. I remember like I created my own web page and it had a marquee tag which said welcome to Shruti Kapoor's homepage. And it scrolled past the screen and I had really bad color for choice. But it was fun. So that's how I learned HTML. Then I learned what I think is jQuery or was it JavaScript? I don't even know. Maybe there was a dollar sign in there. I don't even remember. I just remember seeing Gibberish and I was like, okay, this is where I leave this course. And so I ended up leaving that HTML course after learning HTML and CSS because I did not want to go further. So this was grade 8 and then I had kind of no inclination of learning computer science or computers or whatever until I actually entered university, which is when we are supposed to choose our major. So in Canada, which is where I went to school, you're supposed to choose your major in the second year. So in the first year it's kind of more general. So I was taking this course called Introduction to Computer Programming in C. And I think big props to the professor because when I was doing this course, the professor's name is Paul Carter. I think he still teaches at ubc. Big props to the professor because while I was going through this course, he explained it in such an easy to understand way. And you know what made it more fun was he would talk about this like program and you know what we were writing, we were just writing for loops. And so he would talk about these programs and he was like, you can do something and then you just make it run hundred times without you actually having to do it. And I was like, what? I don't have to do the actual work and I can just make the computer do the work. That's awesome. And so I was so fascinated by that simple, like for loop, it was so simple. It was just printing like hello World to the console. But I was so fascinated by it. I was like, I want to do more. I wonder what else we can do. And so I started thinking like, where else is tech used? And so I asked a very stupid question in class which is like, you know, we have these like trains in Vancouver. It's called Skytrain. And I was like, do you think that uses computers too? He was like, yes, I'm pretty sure it uses computers and I'm pretty sure there's some code in it. Although much more complicated than just a for loop that says hello World. But I'm pretty, pretty sure it has some code. And so that was kind of my introduction to code. But that was first year, I wasn't really sure like what I wanted to do. It was very, very different from doing front end engineering. And then at the end of my first year, my dad was trying to build his own business and he asked me if I would be willing to do a website for him. And he's like, you know, you're an engineer, you can build a site. And I was like, dad, I have no idea what needs to get done to build a site. And so he was like, I'll pay you $500. I was like, okay, I can learn for $500. I don't care what needs to get done, I'll do it. So just throw some money at me and I'll do it. And I found out about this like, no code tool called wix. At the time, I had no idea that WIX was such a big deal, but I just knew that, you know, it can build a site for you. And I didn't have to write any code. So I was like, $500 and no code? Hell yeah, I'll do it. It was just a drag and drop editor. And so while building this kind of, like, site, I was introduced to these widgets that Wix has, and basically you can, like, drop in any HTML code in it. And I was like, this is pretty cool. Like, I have a drag and drop builder, but if I want to actually add HTML, I can add HTML through these widgets. And that was my first kind of like wetting my feet with HTML. And once I built that site, I was like, okay, you know, it wasn't too hard and I can still build a site and earn money for it, so maybe I should do more of this. And then I started looking in Craigslist, who was actually hiring for web developers. I actually had no idea, like, it was called Web Developer. I thought it was called, like a graphic designer or like a web designer. I was just looking for everything. I had no idea what I was doing. I was in year one, I had no idea. And I started looking up on Craigslist. And so I found, like, some people hiring for web designers, slash web developers. And I saw the amount of money they were willing to pay for web designers, and I was like, I need that money. It was like $1,500 to build a site. I was like, I could probably do it. All you need is something similar to what my dad has, like a home page, so I could probably do it. And so I reached out to them and asked them if they'd be willing. And I sent them, like, a site that I already built, which was my dad's site, which was already in production. And I went there and I talked to them, and I kind of sold them the idea of building a site where they can just maintain it themselves because I was going to build it on Wix or WordPress, and they loved that idea. So for the first time, I was able to sell my services without even having any credentials for $1,500. And I was like, okay, this is what I want to do. Then I did second year and third year and fourth year, and then I graduated from college. But somehow I ended up finding a job as an automation engineer. So I was like, okay, I don't know what automation engineers do. And this was at Telus Digital, which is A telecom company in Canada. And so I was like, I don't know like what automation engineer does, but I'll find it out. And so I was really interested in like building stuff because I'd build stuff before, but then when I got at work, they were onboarding me and they said, you know, there's these things and there are these features. And so what we're going to be doing is writing test suites to make sure that these features don't break. So I was like, wait, so we're not actually building the features? They're like, no, no, no, we're testers, we're going to test the feature. And I was like, oh my God, this is not what I wanted to do. I wanted to build the feature. And so I convinced my manager eight months down the lane to kind of help me become a developer from an automation engineer. And so much gratitude to that manager for taking a chance on me and letting me do that, because he gave me a small task to do and that was just like adding a paragraph to the site, just a paragraph tag in React. And through that I learned React, Angular and Redux on the job. And that's how I got into front end development. Long story, but somebody took a chance on me and that's how I got into front end development.
