--- title: "Life of a Pulumi Intern" meta_image: meta.png authors: ["tasia-halim"] meta_desc: "Peek into the kind of things I've experienced and accomplished as Pulumi's first." tags: ["pulumi-interns"] date: "2020-04-02" --- 👋I'm Tasia, a Computer Science student at the University of Washington and Pulumi's very first intern. Read on to learn about some of my thoughts and experiences from these past few months! ## Why Pulumi? I've interned at a few different companies before, but for my last internship, there were several things I was looking for: - A start-up. All the companies I worked at previously had at least a couple thousand people, and I wanted to see first-hand the difference in both engineering and culture between larger, more established companies and smaller, newer ones. - A knowledgeable engineering team. Although I knew I wanted to work at a start-up, I also wanted access to the knowledge and expertise that usually comes with more senior engineers. - A product I can get behind. There's a lot of start-ups out there, and not all of them work on things that I think are viable or exciting. Working on something that I can see myself and others using makes getting up for work a little more bearable. - Competitive compensation. Even though I don't expect smaller companies to be as financially well-off as the other companies I worked for, I still wanted to be paid comparably. - Opportunities to learn something new. The main goal for *all* of my internships was basically just to learn something new. I don't really know what I want to do for the rest of my career, but the best way I think to figure that out is to try a bit of everything! If you haven't guessed already, Pulumi checks all of these boxes! Although Pulumi was only founded a few years ago, their team is rich with experienced engineers and their product has taken a foothold in companies all over the world. Especially with the release of 2.0 right around the corner, I'm glad I joined at such an exciting time. ## Working Across the Company Pulumi engineering is currently split up into two teams: the *Service* Team and the *Platform* Team. The service team primarily works on the [Pulumi Service](https://www.pulumi.com/docs/pulumi-cloud/), whereas the platform team primarily works on the [Pulumi SDK](https://www.pulumi.com/product/#sdk). Although I'm technically a part of the Service Team, one of the benefits of working as an intern in a small company is the flexibility to work on projects across the whole company. Within the Service Team, I added [support for tags](https://www.pulumi.com/blog/pulumi-service-improvements_02-2020/#first-class-support-for-tags) within the Pulumi Service and created new pages to [view a member's specific stack permissions](https://www.pulumi.com/blog/pulumi-service-improvements_02-2020/#reverse-stack-permissions-view). Within the Platform Team, I added support for both [transformations](/docs/concepts/resources#transformations) and [Docker images](https://github.com/pulumi/pulumi-docker) in Go. Lastly, in a cross-team effort, I've been helping out with updating our [code generation tools](https://github.com/pulumi/pulumi-terraform-bridge) for Pulumi 2.0. I'm sparing the nitty gritty details here for the sake of time and space, but most of the repos I worked in are open-source, so feel free to [check them out](https://github.com/pulumi)! Simply put, I took on the work of a full-time engineer, only with slightly more flexibility and a lot less experience. Prior to working at Pulumi, I had basically zero knowledge on Angular, cloud providers, and code generation. Now, I'm still nowhere near an expert on any of these, but I feel like I have a stronger grasp on where the software engineering industry is headed, thanks to the support of everyone I worked with! ## Things I've Learned Earlier I mentioned that one of my main goals for any internship is to learn. Here are just three key things I've learned about myself and software engineering during this one: - Remote life is not the life for me. Due to [unforseen circumstances](https://www.pulumi.com/blog/coronavirus-plan/), I spent the last month of my internship in my apartment. I always thought I was a bit of a homebody, but it turns out that staying in one place for more than one day makes me stir crazy, and I'm nowhere near as productive in my room as I think I am. On the upside, Pulumi already had several remote engineers, so all the infrastructure was already in place to continue the actual work side of things fairly smoothly. - Writing tests before writing code is actually a good strategy. I remember learning this in one of my classes and thinking "Yeah that seems like a good idea, but what person would actually do that?". Apparently, that person would be me. Often times, I would find myself starting to code something without really understanding possible use cases. Making myself write tests beforehand clears that up pretty quickly. - Using "the cloud" is anything but simple. To be completely fair, I already knew this. My previous experience with cloud providers involved reading through multi-page documents just to set everything up, and clicking a handful of buttons on the console without really understanding why. Pulumi hugely streamlines that process, but even still there's so much that goes into doing a single thing on a cloud. In other words, I have a newfound appreciation for people working on cloud infrastructure and I feel lucky to be entering the industry when resources like Pulumi already exist. ## Final Thoughts Overall, my time at Pulumi wasn't quite the chaotic startup experience I was expecting. I came into Pulumi with this idea that start-ups consisted of stressed-out people, working around the clock, and disorganization across the board. My time here at Pulumi, however, was anything but. Looking back, the only major differences I felt while working at Pulumi (both engineering-related and otherwise) compared to my previous companies were the lack of free meals (which as a college student, I'm very partial to) and intern events (which as the only intern, I didn't expect any of), which I think really speaks to the maturity of their engineering and leadership teams. I'm proud seeing what I've accomplished, and excited to see the future of Pulumi! ## Conclusion I'm soon returning to (virtual) classes (thanks, coronavirus!), but feel free to reach out to me via [LinkedIn](https://www.linkedin.com/in/anastasiahalim/) to learn more about me and/or my experiences!