Almost exactly twelve months ago I stepped through the doors of Puppet’s Belfast office to join the team as a user experience (UX) design intern. Up until starting university I had never heard of UX, and certainly not Puppet or anything related to infrastructure automation. Needless to say it was a challenge at first, but I couldn’t have asked for a better place to learn. Looking back, here are some thoughts on what it’s like to intern at Puppet, and the three biggest lessons from a year of venturing into the unknown.
A bit of background
I joined the team working on
Puppet Remediate. Working in a multidisciplinary team means responsibilities varied from day to day. This could range from working with engineers and product managers to assessing requirements and constraints, conducting research, or designing new elements, screens, and features. Iterating on concepts means collaborating with the engineering team and, most importantly, reacting to feedback from users. Rolling up to the rest of the product team or UX department with a boatload of questions was all part of the process. Everyone was more than willing to help, a fact to be especially thankful for as a brand new intern.
Lesson #1: Design is universal
Starting out, everything was new. From week one I was working on a live product, which was thrilling but also intimidating at first. Not only is the sector Puppet operates in unfamiliar and technical compared to what I am used to, many aspects of my role, such as specifying design for developers or building components for a design system, were also new to me.
With the support of my manager and the rest of the team, in the first few weeks we got the office and then the whole company involved in ‘hallway research’ to help improve the navigation. This helped me appreciate that you can solve problems and apply design principles regardless of the topic. The critical aspect is investing as much, if not more, time to understand and define the problem to be solved, as solving it. Because even when everything is new, design is universal.
Lesson #2: Design is about more than an interface
The complex problems addressed by Puppet were overwhelming at first. Puppet users interact with graphical user interfaces (GUI), CLI tools, APIs, and the Puppet language itself, each involving design to varying degrees. Designing to put powerful tools in the hands of users taught me to embrace complexity. Ultimately we want the product to look as good as possible, but we are solving problems for the user first and foremost — not the designer. Being an effective designer is not only about design in theory but working in the real world of shifting priorities and adapting in an ever-changing environment. This requires looking beyond the visuals to think about how to design for users first and build from the experience up.
Lesson #3: Design does not exist in a vacuum
Working in industry versus university, there were many new factors to consider. Design does not exist in a vacuum. Designing a new feature demands that we take into account not only user needs but business goals, regular releases, and technical constraints, among other challenges. Balancing priorities and knowing where to compromise to deliver means collaborating across the whole product team.
My year at Puppet taught me as much about design as it did being a designer in the industry and, most importantly, a person and team member. Interns are not off on some side project. I was treated as a valued member of an experienced team (which as an intern came with its own challenges). Thanks to the unprecedented support my confidence grew to embrace every challenge as an opportunity to learn. It taught me the importance of taking a holistic view and considering not only the design perspective but business, engineering, other stakeholders, and, above all, users. To deliver the best possible results you must work and iterate together, not in isolation.
A lot can happen in a year
Taking a risk to venture into the unfamiliar world of Puppet stretched my understanding of design and transformed how I approached problems: from solution down to definition up. Working in a multidisciplinary team on a live product taught me that design is never perfect (nor are designers) and that’s a good thing. The important thing is to stay humble, seek feedback, and keep iterating.
Special thanks goes out to my manager (who answered my hundreds of questions), the awesome Puppet Remediate team, brilliant UX department, and all the good folks in the Belfast office who made it such an amazing year and taught me so much. One-on-one mentorship, collaborating in a cross-functional team with experienced (and all around extraordinarily nice) people, not to mention seeing the product and company evolution firsthand, was an opportunity beyond anything I had experienced before. There is still so much to learn, but my internship at Puppet equipped me with the tools to keep developing. By the end, I tackled challenges that would have been overwhelming to me only one year ago and learned that any problem, no matter how complex or intimidating at first, can be solved.
Kezie Todd is a UX design intern at Puppet.
I am a Puppet beginner and I’m happy to make the code manager integration happen. I like to play around with my code and test my code changes on my agent nodes. However, the way I’m testing my code..