Snapchat is a place for real friends, and every day we work towards building products and experiences that bring our community together in new and special ways.
At Snap, we’ve been able to maintain our ability to move fast and think creatively thanks to our unique team structure. Though Snapchat continues to grow as a company, we’ve chosen to keep our Design Team tight-knit, to a group of about a dozen people. This small team steers our product vision by working across the company in close partnership with leadership, and operates in a highly collaborative environment. Rather than specializing in niche verticals, the team can work across our platforms and products, to think comprehensively and quickly iterate on new ideas.
The Design Engineer: A new kind of software engineer
The Design Team has always been composed of both Product Designers and Software Engineers, along with other folks from all sorts of disciplines, but we’re creating a new kind of Software Engineering role — the Design Engineer. Design Engineers seamlessly blend product design and software engineering to take big ideas from concept to reality quickly. This role is responsible for early stage product design, development, testing, and iteration.
Design Engineers help us choose the right product bets to make, and are critical for setting the course to execute on them.
- Explore possible products and features that could solve a certain problem. Having a team dedicated to searching for high-value bets makes sure that even ideas that may have otherwise been deprioritized are given the needed attention.
- Help with early-stage product iteration to quickly create new products. This minimizes more expensive late-stage product iteration (post production launch) by reducing the overall cost of the bets we make.
- Build a number of early-stage variants and test them with small audiences pre-production. This helps us validate our bets and sunset ideas early when they don’t work. This saves us valuable production engineering resources, and focuses the company on projects that have a high likelihood of success.
Software engineers are traditionally evaluated on the quality, longevity and impact of their at-scale production execution — in other words the “how to build it?” question. Design Engineers, on the other hand, are evaluated on their creativity and speed of execution, as well as the success of their products in small scale tests — in other words the “what to build?” question.
In our industry there are clear boundaries around roles like Software Engineer, Product Designer, Product Manager, etc. — so much so that multi-functional people find themselves at a crossroads being forced into one of these positions while giving up the other.
Snapchat’s Design Engineer role was specifically created to give these unique individuals a structure and path to create major impact and innovate in a fast-paced environment.
Tools for Success
With a new type of engineer, also comes a new type of work process. Typically, our team begins the exploration process with a targeted focus area, from something as specific as improving an existing product function to something broad like building a new communication product. Ideas for these focus areas typically arise during focused design sprints or team brainstorms.
Once we align on a focus area, our Design Engineers mock up some features in Figma with several variations. At Snap, Design Engineers may work individually on this step or pair up with a Product Designer, but either way the full team has an opportunity to provide feedback on the designs in our weekly design feedback meeting.
Once initial designs are finalized, our prototyping process begins. This is a fast-paced and highly iterative process where we collect feedback both internally and externally, quickly updating the prototypes accordingly. To achieve high velocity, we have a unique set of tools to help design engineers succeed, including our internal platform that lets us create “ephemeral prototypes” on top of the production iOS and backend codebases. Rather than build experimental products that accumulate technical debt in the production codebase, this platform allows us to focus on building fast without disrupting production work, while simultaneously creating technical learnings that can be transferred to Software Engineers working on a scalable solution later.
Design Engineers are encouraged to scope down products and features into an MVP when building these ephemeral prototypes so we can test them early and often. We have tools in place to distribute these early products within the company, allowing us to experience the new build as users would — and we even use them to run external user studies and small tests. Once we validate a successful product or feature, we work with production engineering teams to transition the project to build it at scale.
We’re committed to building our Design Engineering team to support product innovation happening across our design, product and engineering teams. If you’re itching to combine your love of engineering with your penchant for design, apply now.