March 11, 2024

Finding all the design engineers

DesignMetaWork in Progress

Where are all the designers who code, or coders who design? A continuous list of my inspirations

This short note is inspired by Maggie Appleton’s tweet:

And I thought — hey, I write code, I do design — I’m a design engineer!

But now I’m really not so sure. I’m a systems design engineer. I care about architecting very complex systems to be as easy to use as possible. Modern “design engineers” make very very pretty websites. They’re not the same thing.

Are there such a thing as “systems design engineers”? Probably not. There are fewer UX architects who code, than visual designers who code.

Anywho, the thread is fascinating and full of design engineers. Some lean more design, others lean more engineer. Either way, these people share a lot of good stuff, and are worth following:

I’ve added some of my own. Edit the Notion page to add more or tweet at me https://twitter.com/yawnxyz

Name Site Twitter
Bret Victor worrydream.com @worrydream
Neil Agarwal neal.fun @nealagarwal
Maggie Appelton maggieappleton.com @Mappletons
Amelia Wattenberger wattenberger.com @Wattenberger
Bartosz Ciechanowski ciechanow.ski @BCiechanowski
Silicon Jungle schrodie.com @JungleSilicon
Pieter Levels levels.io @levelsio
Pietro Schirano skirano.com @skirano
Paco Coursey paco.me @pacocoursey
Rauno Freiberg rauno.me @raunofreiberg
Emil Kowalski emilkowal.ski @emilkowalski_
Amber Feinerman amberis.online @amberfeinerman
Pranathi Perii pranathiperi.me @pranathiperii
Karl Koch kejk.tech @_kejk
Ankur Chauhan ankurchauhan.design @madebyankur
Jordan Singer ibuildmyideas.com @jsngr
Tyler Angert tyler.cafe @tylerangert
Szymon Kaliski szymonkaliski.com @szymon_k
Gadzhi Kharkharov kkga.me @kkga_
Andy Allen notboring.software @asallen
Courtland Allen indiehackers.com/csallen @csallen
Jim Nielsen jim-nielsen.com @jimniels
Jeremiah Shoaf jeremiahshoaf.com @typewolf
Rupert Parry ruperts.world @rupertmanfredi
Murat Ayfer muratayfer.com @mayfer
Emil Widlund read.cv/emilwidlund @emilwidlund
Severin Landolt tremor.so @kindlaar
Christopher Kindl tremor.so @severinlandolt
Adam Silver adamsilver.io @adamsilverhq

I’m probably missing a few.

Feel free to edit the Notion page to add more or tweet at me https://twitter.com/yawnxyz!


🪴

This is a works in progress, as I’m exploring what it means to be a design engineer, and what this might look like in the future.

What is a “design engineer”?

This bothers me more than I should. There’s a specific vibe to the design engineer. They make very visually attractive things with code.

But quoting good ole Steve: design is not just what it looks and feels like!! It’s how it works! And it gets really easy to go viral with something that looks good, less so with something that works well. That’s just what life’s like in the algorithm.

What about Product Engineers or UX Engineers? Are those interchangeable? Is Design Engineer the new hot term for them? And with better AI tools like Cursor or Devin, does it even matter?

Soon, most designers will be design engineers anyway.

But I think there’s a slight nuance — there’s a difference between visual designers engineers and systems engineers.

Visual design engineers care about how an interface looks and feels for the user — how the page scrolls and how the buttons and visuals look; systems design engineers figure out anything from the information architecture (how do you search or navigate 100,000+ products? Do you create categories? Large nav bars? Use embeddings with reranking or bm25 search?) to documentation and good developer experience (can you article the signup flow for an API key for Google Gemini vs. Groq? Can you design, develop and write good API documentation — what docs do you like the most and which do you like the least?).

I think soon, the world of developers will be split into three rough areas:

Visual designers who code — aka design engineers — design and build websites to be absolutely dripping with style.

Systems or Product designers who code — aka product design engineers — could be anything from full-stack engineers, to developer relations and developer advocates. These people make sure the website is easy to navigate, think about conversion funnels, build clean sign up to API-key flows, create tutorials and examples, even improve the DX of the API so it’s easy to swap out for example OpenAI’s API with Groq’s API. These people make the entire product lifecycle feel perfect.

Customer success folks who code — aka sales engineers — would focus on getting more customers, and making them successful. This can also cross between developer relations, but are more “Forward Deployed Engineers” kind of roles. They work with customers directly, even write code that works with customers’ codebases, but also get customer feedback, and help improve the product itself. This group would know the ins-and-outs of other fields, and can both talk shop and even convert more customers. This category could even do SDR and sales / marketing work, to speak more to specific niches and audiences.

Of course we’ll still have the group of “backend engineers” aka “real engineers” who work on the core product, algorithms, hardware, and other systems. Those people won’t really go anywhere, and it’s doubtful AI could even help them in the short term.

Probably what will happen is that more people in an organization will have closer ties to a company’s bottom line. This means they’ll get closer to the money, which means they’ll be more and more responsible for directly making money for the company.

Soon enough, engineers will not be paid in salaries, but in commissions.

Work in Progress notes:

  • Is “product engineer” or “ux engineer” the same thing?
  • Are they really “engineers”? (Mention the differences between a “hacker” a “software engineer” and a “real” engineer) (Are API designers “design engineers”? Is designing the “UX” of an API interface “real UX”?)
  • Is the emphasis on prototyping?
  • In the world of AI-driven UI and generative UI/UX, does it mean “traditional” UX designers lack the tools to express new interaction modes?
  • Add some notable work from design engineers. Maybe show work that’s the sum of its parts, e.g. are there new designs, interactions, or media that emerge from being able to both write code and design? Especially in the LLM / UI world?

Readings:

  • https://blog.jim-nielsen.com/2022/the-case-for-design-engineers/
    • Back in the day Design Engineers were “web designers”
    • With new web applications, responsive design (e.g. needing to ship dozens of artifacts for each medium to denote all possible states of a UI), pushing designers to code makes more sense — because code is more declarative.
  • https://www.proofofconcept.pub/p/design-engineering
    • Argues that like a good Cronut, a Design Engineer is more than the sum of various parts (the parts being interaction, UX, UI, and visual design, along with front and back-end engineering).
    • Outlines three areas where these roles shine: product architecture (where design and engineering and closely linked, they can explore product needs, information architecture, and underlying logic. e.g. Figma, Replit, Webflow); design infrastructure (contributing to component libraries, internal tools, prototyping new patterns, and creating new experiences that are hard to mockup statically in Figma. e.g. designing LSP, site builder/layout engine interactions, and new LLM interactions); 0→1 R&D (exploring new product directions / growth opportunities for companies)
    • Emphasizes that clearly defined expectations and reporting lines (either to design or engineering teams) is necessary; otherwise their efforts are wasted / undirected to the goals of the org.
  • https://twitter.com/ridd_design/status/1748080351053017241
    • “Craft-focused” companies will want to build out their design engineering teams
    • Notion only hired designers who could code
    • Better handoff between design and engineering teams, which leads to better craft and execution speed = shipping faster

(future)

  • Why are these people cool? Add some of their cool work!
  • If the list grows too long move it to a Google Sheet instead