Design & Engineering. September 2023.
Introduction
Behind every great product lies a strong engineering and design team. Early in my career I have been the first designer on teams partnering with engineering leaders/founders and I want to share some of my learnings on how can new designers and engineers work together well.
Design and Engineering from Day 1
Whether you are a designer who codes or not, you never want to create a gap that makes design or engineering an afterthought. Every team I join a new team, I make it my duty to work with engineering from the very start and not wait until it’s time to ship something to create alignment. It goes both ways, if designers don’t communicate from the start, engineers might also be building things in silo. There are many ways to do this for both, a designer can create prototypes, and make an effort to understand the mechanics of what engineering is building. Same goes for engineering, they can be involved by asking questions, walking through their technical constraints and providing depth to their design partners.
Using design as a tool for communication
Design more than a tool to beautify things, is a tool for communication. Good design communicates ideas/solves problems in fundamentally simple and clear way. Simplicity is hard. When you think of good communication it always involves an overarching one simple and clear message, same goes for good design, it always feels consistent and never hazy/random. Ex: https://rethinkideas.com/blog/2015/01/ping-pong-ball-theory/
Design is Intentional
Every decision in design must be intentional, nothing random. They are design decisions – and this is what you speak to when you share your work. Every decision must have a reason – from the visual choices to the interactions and so forth. This is because every decision you make truly does have an impact on how people use your product.
Place a High Value on Craft
I’m all about being scrappy and quickly building things. That’s how I operate best as it allows me to be creative. I truly believe that a prototype's job at the very least when you are validating a new idea is to effectively gather signal from the user in the fastest amount of time, which means making something scrappy and putting it out there. But when you are past that stage, make it a habit to honour and put an extremely high value for craft. More narrowly, this includes high polish in visual design, and no compromise on interaction design details. The experiences are timely and they aggregate towards a larger experience that the user has with your product, so show the care and thoughtfulness. It builds trust and credibility.
A Design Process
Design is not linear or the process of problem solving. In the most fundamental way, good designers that build products tend to follow this process. It can still drastically differ but it looks something like this.
Understand The Problem → Research → Frame The Problem -> Explore Ideas → Test
The process is about diverging and converging:
Diverge → generate a lot of material
Converge → narrow in on the top material
I believe the best designers are problem solvers. They embrace the problem and then defines the process. If you go the other way you will never truly enjoy solving a problem because you will be applying a prescription to solve a unique problem and that never works.
PS: With the different teams and projects I have worked on, I have been malleable to observe and absorb their unique methods - something I often see in bigger teams is a hypothesis led method.
Design Process
Understanding the user
This can be done in various set of ways. I learn by sitting in on interviews or talking to stakeholders who are the closest/have the best judgement for what the end user really needs. In my opinion, the person driving the product vision ahead should be someone who has a clear understanding from all fronts (engineering scope, business needs, user needs). In a larger team, a designers job is to help this person by advocating for the user. In a startup, that is your job.
Sketching thats scrappy
The fastest and the most scrappy way to get your ideas implemented. Engineering can contribute by collaborating here from the get go. It doesn’t have to be perfect - it has to just be substantial enough to communicate the idea. Sketches win product debates when words aren’t enough. Probably a superpower an engineer could have if they are able to visualize their ideas before spending a week building it.
UI and Visual Design
Figma is a tool widely used for building out the UI or fleshing out concepts. Designer’s role is to co-create with its engineering partners to create alignment and share design decisions.
Figma also offers a developer mode which allows front-end to interact with designs and extract the relevant code. https://www.figma.com/dev-mode/
Plugins are also helpful to make the code implementation part easier. https://www.figma.com/community/tag/developer/plugins
Origami - Interaction Design
This tool is more centered towards my process. Most designers solely work in Figma for interactions but I find it to be limiting as it doesn't let you get into the details of creating delightful interactions that feel fluid and real. There is no hard ask to learn this tool, but I have found that the best designers are good at Origami as it helps them build out crazy prototypes like these https://x.com/GK3/status/1545071311029805057?s=20
Closing Thoughts
Remember that design is not a linear process.
Linear vs Lateral Thinking
The point of all this (diverging and converging) is to do LATERAL thinking as opposed to linear thinking.
In linear thinking you just go step by step.
In LATERAL thinking, you’re able to explore more things and allow yourself to come to more creative conclusions.