The Rise of Design Engineering | Raphael Salaja | MIT Startup Week
By Warp
Summary
Topics Covered
- Design Engineers Bridge Fatal Handoff Gaps
- Taste Means Opinionated Quality Decisions
- AI Slop Demands Human Taste Intervention
- Study Top Apps to Build Taste Sensitivity
- AI Enables Rapid Human-Quality Renaissance
Full Transcript
alright hello everyone i'm rafael celaja i'm here to talk to you about the rise of design engineering so some background on who i am i'm a design engineer from ireland uh worked with some of the top teams in the industry family av labs lens daybreak just building the best software in the world and now i'm at warp helping them build
the best employee management system in the world as a kid i was always obsessed with the finer details in tins i was big into games media movies i was always looking for the behind the scenes stuff like trying to figure out how tins worked behind the scenes and just knowing how things worked in general i think that's what spurred me on to get a course in game development
and within that course was a module on web development and that was where i figured out wow i can do so much more on the web it's so much easier to build that scale reach a bunch of people 'cause my objective from the start was just to make people smile and i thought games could do that for me but i think building on the web does that for me
so taking a step back i want you to think of like traditional teams and most teams now or in the past were more so about people who like how things look and people just care how things work and in between there is a gap there's some stuff that one side knows that other stuff doesn't know there's different nuances
that both of them have to try and converse it between they don't speak the same language they don't see eye to eye and this gap in between is where quality goes to die it takes a lot of work for a designer to hand off to an engineer that doesn't understand typography systems design systems same way an engineer can't go to a designer talk to like hey
we want this patient nation system we need the design to be like this this this so this gap is what a design engineer feels there's no real single definition for what a design engineer really is but at its core it's someone who operates fluently with code and design and there's someone who really really refuses to treat them as separate concerns
so think of them as an interpreter between a front end designer and an engineer they can see a design in figma and they're able to um see the code how it looks like what's gonna be like um in whatever language they're using as well as that they can go to a backend guy who has a new um api or system or something and they're able to convert that that mish mash of code into something beautiful
so in a real working environment what do design engineers actually do i'm gonna use myself as an example in warp i'm someone that's more so concerned with like the last mile of um development so i'm working with another colleague his name is arnie he's also a design engineer i'll touch more on what he does does later but really i'm someone that's like you give me a design i'll fill in the gaps of like
where can i make this beautiful where can i make it that one step further i can go in add animations add transitions critique what's already been done and create something beautiful at the end of it colleague on the other side he's someone that's more interested in the weeds of things he's like goes into design systems creating component systems make
making sure that the cold base is as beautiful as the the product itself which is super needed in like scale and startups or even just big companies in general you have to have that consistent cold base that someone can come in and just basically build whatever they want so this is kind of like of the the yin and yang of design engineering there's a wide spectrum of us we're not all the same
we have our strengths and weaknesses but it's really that at the end of the day what we care about is how the interface feels making sure it's as high quality as possible leaving no gaps leaving no room for error we want everything to be a hundred and ten percent so you may be wondering now like how does a design engineer differ from like a front end engineer a back end engineer
a ui ux designer so it's a good question but it's really like say you're a front engineer a designer comes to you they say here's the design can you build this out for me they lack the taste which i'll talk on later they lack the taste that design engineer have to make decisions on themselves by themselves so maybe they have static design
which most figma designers do not many do like um actual spec out animations with them so they just see that they'll go in and be like hey we'll just make this make this make this make this they don't have that opinionated and push to make things as good as possible so they kind of like lack that trait that design engineers have
yes we both care about building the final product but we make sure that final product is as good as it be we don't have to rely on the design as a whole to be able to do that for full stack engineer their skills are more broadly spread out so they'll be in the back end making the design system they'll put that into code they'll take the designs as needed
so their skills are pretty spread out same way a design engineer skills are spread out but they also lack that same depth that we'd go into we get that second layer that most people don't see we make sure we got the those tiny interactions feeling right that's something like a full stack engineer would like gloss over because they're just trying to ship a product and for designers it's much more simpler
their work ends in figma once they make the design they can't really go and say this is it no one's gonna you can't browse the website in figma so someone like me someone like irony we can go in and design the whole website but we know how to turn that into code that's the the beauty of a design engineer we're able to use the tools we have at hand
to create something spec something out quickly in figma build a prototype build everything we skip that stage in between the handoff so that's the real distinction between us now you may be wondering why do we actually need design engineers so i think there's three main reasons i'm gonna outline them now first is slop we're in a world where
there's so much slop in the world at the moment ai is taking over people are going and cursor they're clicking make me a website no mistakes and it spits out something like this purple gradients just complete stop and the average person they know like hey this website it's trash it's they can feel the they can feel the lack of human elements within it design engineer here is
we make sure stuff like this never happens we want something that feels human and that at the end of the day is what's gonna differentiate between a good product and a special product something that people want to actually use versus something that people have to use so you have a question yeah rocco what are other than the purple ingredient
some other tells that something is purely slime okay there's a lot of tells one is scroll driven animations that's poorly done bad layouts bad typography and mishmash of colors bad copywriting people just feel this stuff like even for example here like just how the spacing between this and this
the center alignments the random colors there's no cohesiveness between the actual um design people can come in and see well not people can come in but they can feel something's off we'll talk more about what that something's off is later on so moving on the second part is taste so i'm talking all about taste and i'm gonna make sure to explain what taste is
but i have here a simple demo so we see two different interactions it's gonna be at play here and if anyone wants to differentiate between what's going on here i'd be open to any any ideas yep that's one there it is there it is that's that's pretty much it so you both have the right idea what's going on
the first one is the site within is transitioning of course you can see the transition of the text but the actual container itself isn't morphing with the shape of the content so this is something that can be seen in a lot of apps most apps would mitigate this by making the button full width so it doesn't have to manage the actual content other apps just don't do it at all they just like skip to transition
so stuff like this is where a design engineer would see a spec they'd see hey we you have three different states of like a button so you have a loading state uh in progress state a completed state how can you make this tiny interaction something that people can remember this is where someone like me would be able to spot that we'd go on and say hey this is the perfect time to add in this novelty
this cool feature that people will post about they'll remember the app for this sort of stuff and you can see this type of stuff in the best apps on the market the ones that you use every single day and that type of taste that type of knowing when to add is something that design engineers specialize in question what are some example products or even flows that come top of mind to you
that we could know right now that you think have taste that you can know right now i have taste i think top of the list cause most people here have probably used in the year that's probably like the standard of like taste and no one went to add enough of a animation and something that people can do ai stop usually does is add animation everywhere
adds random stuff everywhere it's people can see when novelty is being overused but apps like linear apps like audio stripe and those type of apps they know when to adding a touch of um sugar is what i like to call adding that little uh sweetener to the product so yeah that
that's pretty much it the next and third part is speed so as a design engineer as i was talking about before you have to be able to adapt to different situations and for example this is something that i worked on a couple of weeks ago basically it's a soundlab i created from um
using web sound api and i'm someone that has no experience in sound design i'm just a i'm just a developer but with the power of ai i was able to use claude to communicate with it and understand how to build something like this prior to this i'd have to go do two weeks of research figure out how to what the hell is a synthesizer
all this other stuff and that takes so much time but now i can do something like this in a matter of hours and just get it done but also this is the key part i'm able to inject my own taste into it so when it gave me this it didn't look like this at all it just gave me some ugly buttons ugly animations but you can see the stuff i've added to it
different pops of color the different um morphin objects it's that's little layer that's what makes it special you can do something in a couple of hours people can be tell but if you add that final touch that final push to make it feel like an experience that's what people remember so this is the big one what's taste
so taste is a controversial topic on online spaces it's kind of a word that people throw all around the place but i think it's actually very simple to understand so on the screen now is a picture of uh rick rubin i'm just gonna give a brief description of who he is he's one of the biggest names in creative spaces
he has been in the rooms of some of the biggest songs ever made jay z beasty boys red hot chili peppers this goes on and on but what people don't really know about him is like he's not he's not a musician but he can make music but he's not like a talented musician he's not on the drums doing everything he's the guy that people go to to say hey is this good or is this bad
people value his opinion on things and as a design engineer you kind of have to be that person at warp i can receive design and i have to be able to with my own input say hey let's take a step back let's rework this let's try something else let's experiment you have to have that opinionated taste within yourself to be able to be that person in the room
that turns something from something great into something special so people think that taste is inherited you can't learn it and i'm super against this topic so i'm gonna teach you some ways to be able to come tasteful in your own ways so the first way is to study when i was beginning like i said i was doing a game dev course
i had no experience in design development how to create beautiful interfaces so what i did was i went to x to arena all these different sources of information and i just started looking at them inspecting them understanding what made them good and what separated them from other stuff that was bad and and after this i just started implementing them
my own work trying to copy what they did like one for one then over time i built this sensitivity in a way to what's good and what's not i was able to see hey this typography is misaligned this layout could be just a disem space and looks wrong people can learn this it's something that it's not too hard to do you just have to expose yourself
to these different materials and you'll be able to spot things pretty much everywhere and i'm gonna throw up a quick example from actually linear themselves so one second let me pull this up so this is their brand new web page so i'm gonna run you through how i go about learning from others so first things first on load
we can see here they have this animation that fades in they have this little stagger in my head i'm going hey i can use this in the my own site how can i use stagger how can i display information what that stagger does it's bringing you slowly into that experience it's making you remember hey this is the big part that we wanna see let's look at the navigation now
cause i spot this when this website released so i'm gonna zoom into this tell me if it's visible for you guys yeah so perfect i'm gonna zoom closer into this uh you're gonna wanna see this one so i'm gonna show you guys a question look at this transition here to the product let me actually scroll to the left of it
so you can get the full width do you guys notice anything anyone make a guess of what's going on or what i could be seeing no so keeping the overall container in place like not shifting that like most websites do but they're just transitioning the inside content right uh huh it's close it's close
you wanna you wanna show something and then as you like it's following the movement of your nose mm hmm okay it moves yeah yeah it does it does it does okay that's actually good two observations but i'm gonna throw something out that is actually super super precise if i zoom in some more if i was to be on the team this transition here
if you guys keep your eyes on this left hand side that contents is overflowing outside of the container it's it's not actually we have two containers here we have the outside container and we have the inside container just keep your eyes on this it might be hard to see on the screen but if i transition from there you can see it's kind of bleeding outside okay i see it now
you see it now so stuff like this like but that's bad right that's bad we don't want that we don't want that what i do is i'd apply some sort of like content visibility on that inside container it's a problem i've like faced when building like stuff like this but that type of stuff is something that comes through years of studying building just getting interactive with different apps
different websites seeing what works what doesn't so honestly guys like most of the best sites they follow the same practices the same principles it's really just seeing where they're being applied and using them yourselves and then the next point is like i said before notes and so this is another interactive experience i'm gonna play this video i want you guys to try and figure out
what's going on here is there something off do you see something that's could be i'll i'll leave it going for a couple seconds this one's pretty hard so don't worry don't worry if you don't see it you i might be wrong in imagining things but um isn't the timing you see in me you got it you got it so so something that you use a lot yes yes that's you got
so this these two on the edges share the same timing the one in the middle then i go again slightly different so you should be able congratulations you got you could be a design engineer there you go you should be able to see this so imagine this this is a small scale example but if you have an app and it's like one side has different colors one side has different animations
there's no coherency between them people notice that and that's what when people say hey this feels off that's the thing that people don't know how to describe but you need to be able to figure out so when someone comes to you with like a website a component's design you need to be able to go to them and say hey this is actually what's off this is where you need to improve the animation
improve the typography improve the layouts whatever it might be so nice nice work to you and the third one is to build so like i said before i was big into copying there's a book called um steal like an artist that's kind of what you have to do if you want to build your skills copy the best so this is an example from family dot app
they have their own like crypto wallet app and on the desktop so i saw this like cool model i was like yo that's some like cool stuff that i could like mess around with so what i did is i took the the overall design also from the app and i created this like cool transition change the colors you can do whatever you want to edit the name and basically i'm taking inspiration
i'm trying to see what they're doing when you're like looking at these websites you wanna be like website on this side inspect them on this side you wanna see inside and try and really get become one of the web become one of the app whatever you're building try and understand what they're doing why they're doing it then you can relate it to whatever you're doing so i have like millions of these examples
where i'm just copying stuff learning from others and that builds that sensitivity i was talking about that mental archive of hey i know when to use a spring i know when to use an easing curve i know when to use a tighter uh letter spacing all this sort of stuff so hopefully those three steps if you apply those over time you'll start seeing um your taste improving of course
it's gonna be bad at the start like if i was to pull up my old gift for pastries from like a five years ago they look like an absolute mess but you have to be that like self critique you have to be able to see others critique them but critique yourself use those critiques to improve yourself so you may be wondering now how can you yourself become or transition into being a design engineer
and i think it's personally like something anyone can do it's not that hard in a way it's just you have to really apply yourself it's something that i feel like in a few years most teams are gonna consist of a big group of design engineers crafting building with ai the advancements of that it's gonna be something that teams transition into
so say you're someone that's more on the design side and one thing i always say like say in my work if i'm presenting a design how quick can we turn this over i'm always like eighty percent of the battle is the actual design twenty percent is the code because you can build like most of the code has been solved people know how to cash people know how to use states
all that sort of stuff but the design that's like creating something from scratch you need to be able to adapt to your situation so if you're a designer you actually have like a slight advantage you have that eye that other people don't have but you just need to learn how to put that into something that's real so if i was in your steps if i was in your shoes
i'd be really going into claude and building what i'm like what you're seeing so any like ai cursor try and get that design you created into something that's real it doesn't have to be a full fledged end to end app you can start small but over time you're gonna start learning how like when i build in figma i can visualize the code is gonna look like
you need to be able to have that same eye for like a design you need to be able to say this is gonna be the the header this is gonna what the the htm is gonna look like the react code whatever you're writing so that's what i'd be really going for you'd have to be building it's written improving that technical aspect because you have the hard part ready you have the design that's that's the hardest part
you just have to be able to create that and if you're an engineer you also have to hire part done engineering is not easy you can see from ai to ai soft websites i was showing you earlier whenever someone posts one a week later someone's like here the entire cold base the entire database is public you guys just like ruin a bunch of people's lives so engineering is also pretty hard
so you have another easy avenue you just have to train your eye like i said before study all the different resources you go to your favorite apps whatever you're using just try and see like hey why are they doing this and why don't i do it let me start using that that same like a font style that that same um button style whatever they're doing
try and see why and then whatever you build try and implement that at the end of the day you learn from doing and if you're not doing then you're not learning so that's pretty much it for that now we're gonna round up and i'm gonna talk to you about what i think personally the future of ai the future of design engineering with ai is gonna be so i think personally there's gonna be a big shift
like i described before in the necessity of quality care and love in the product we're in the in the stage where so many products like i said was being built from just ai like someone can go into curse right now say type new website da da da it's done but they don't have that same feeling that same care
we're going into what i feel is another renaissance like with the rapid growth of ai there's so much to create but people want something that's created by humans that has that human feel design engineers are kind of leading that way we're building experiences that people love they come back to they wanna feel they wanna enjoy that experience and with ai as well
those experience can get built really quick we can learn a lot we can like like i showed before that sound i know nothing about sound i was able to create something with sound over just a few hours of conversation so we're in a really special time at the moment we're at the time where you can do what you want you can create that app you always wanted but you can also now build that with style
build that with quality and build that with care so that's pretty much the top guys if you have any questions i'm open to the questions and yeah thank you for listening yep when was the time your taste was wrong oh haha that that's a good one uh yeah he asked when was the time my taste was wrong that's a very good loaded question
but it's something that i've actually been through in my early days as a developer and at my time at lens there were some times where i suggested something that was really off uh i was big into blurs when i was younger i really wanted to get a lot of like um i want stuff to feel like it was morphine and my manager at the time he said yo
this is not what we're looking for in this app we want something that's sharp that's snappy so that opened my eyes to understanding what the product is you have to learn what you're building if i'm building something that's um for example with war for building the the best employee management system people are using the system to get stuff done quick they want something that's gonna work fast
feel fast and operate fast so if i'm adding in like cool spinners it's cool but people are gonna get bored of it like it's it's like that unskippable cutscene in video game you just want you're just pressing x to get to get to the next part so yeah that that was one part so nice question anyone else yo yeah you you next time so um you kind of hinted that i'm curious
like how it's kind of tricky i guess but how you're thinking about tooling like how much time are you spending in figma versus like directly jumping to code hmm um and kind of your outlook on like the future of that yeah yeah that's a good question so that really comes down to two things the person and as well as the environment you're working in for my own personal stuff i like to be in figma
and know the intricacies of what i'm gonna build it depends what i'm building i'm working on apps to the side i wanna know like what that app is gonna look like i think like i'm building for a whole company i kind of slows me down a lot but it's how i like to build but when i'm at work if i'm trying to get stuff done most of the time you don't really need to be in figma
it's the figma i like to look at figma if i need something that it's kind of more technical it's kind of more like out there we want to build like a redesign a rebrand we need that figma board to really pull from and with it's using figma like figma dev you can take like the values the variables and all that and then i transition that into cold so like i said it depends on the person
it depends on the environment you're in as well a few more ever go here than i used to so you first i guess my question is about motivation like how do you stay away from like ai slot hmm in the sense that code code etcetera is like a shortcut mm hmm and you're saying that you have to develop your own taste and like keep developing it mm hmm as design trends come and go
so how do i stay motivated to build the best to make sure okay that's a good question yeah really it's personal desire i want my like even when i'm talking to my colleagues i'm always saying i take pride in whatever i do and that pride resonates through the work if you don't really care if you're like fifty percent like hey i just want this to work it's gonna look like crap
but if you actually put that hundred and ten percent into whatever you're building you look at whatever you build i want you to look at it as a representation of yourself and if you have to build a to do app make it as good as you can if you have to build a fully end to end app make it as good as you can because when people look at that they're looking at you so
you want that to resonate with how you feel and how you look like so that's that's that's how i do it uh yeah so i have a question i feel like one of the things you do really well is balancing form and function mm hmm and i think in my experience working with a lot of designers um over the years i think often designers can fall into too much
in love with just the form and sometimes ignore function and i think maybe one way to think about design engineering is you're bringing the function more uh huh to or these two kind of things more together uh huh into a synthesis i'm curious like if you think about that actively cause i think um when you talk about like for example the example you gave around if it's an app and you add this beautiful like spinner
it could be beautiful but if you have to see it over and over it's gonna get tiring how do you develop that in yourself how do you kind of like not fall into have you always been this way is it something you have to like practice yeah and develop i'm curious too yeah it's something that you kind of just learn through experiences and feedback feedback is something that you have to just it's gonna come eventually
but i'm always thinking like um sometimes like the best animation is no animation like people sometimes value speed over form and that speed is in a result the form um like i gave the example before i wanted to add that blur i thought it was beautiful but then you realize people can go through that experience a thousand times the first time it's cool
but that's one millionth time it's it's like bro come on so i'm always thinking especially now that i'm really into product i'm thinking how many times is someone gonna see this and what's that relative impact to their experience on a web page on a low on like a landing page go ahead do what you want even still on that page don't go too crazy there's there's this
there's a fine balance but you want to see like you want to direct people's attention it's almost like um arts it's pretty much an art at this point you wanna make sure people you get people to see what you want them to see feel that feel how you want them to feel so that loading that linear um stagger animation it's cool yeah it shows only when you reload the page
and it's really only showing on that section the rest of the page loads instantly but because of that first introduction you get a feel of elegance and that flows throughout the app if the rest of the site was like that firstly it's gonna slow down the experience secondly people are gonna get bored thirdly it's gonna get repetitive you wanna think of a novelty form on like
a graph so imagine form and function on a graph and i think of it as almost like exponential in a way that you wanna use it so if you keep using something eventually people are just gonna get fed up it's not gonna feel fun it's not gonna feel novel in games like mario the star it only shows up like in one place in a level but people are always chasing that star you wanna see oh
where's that star where can i find it so you wanna kind of think like that think of like making stuff feel necessary feel needed so that's kind of how i look at it for the future design engineer what level of degree of separation do you see between you and the end user to actually get the the the feedback from that end user in a in a organization did you expect that that video would go
come through the product manager or you have the ability to have that that direct connection with the customer the customer yeah uh so you're asking me like how is that feedback gonna come in like the future yeah i think it's or or now right in a in a healthy organization that that propels design engineers to
to do a better job because that that part the customer feel like it's critical to it's critical yeah to build something great and also to build something yeah i think it's for like the example of um the linear site you can see the post that they posted oh here's a new website people are already commenting like yo this is broken this is broken
i think that feedback loop is kind of gonna be vital like i said we're trying to build for humans so whatever a customer wants that's really what we should be building for we might see something that is like super cool we might be super opinionated of something but if the masses if like the end user doesn't feel that we need to adjust we need to start thinking like the end user and with design engineering
that's pretty much what we're like asked to do we have to think hey person a is gonna feel this person b is gonna feel this how do you make sure they both got the best experience as possible while also building the best products the most good looking the most quality products as possible so i hope that answers the question ok one more no i have a question
go ahead there's a lot of product designers or a lot of designers mm hmm because they have this sense of like taste and almost perfection perfectionism they can end up taking a long time to get something done but you've talked a lot about at least on the engineer side of your brain you need a lot of feedback you need to ship something you have to get that feedback
so how do you think about peace and when something is ready to go out versus maybe in your instincts you want to perfect it and it's not done right let's say that design page doesn't have that type of feeling but it needs to get out it needs to get out yeah how do you think about balancing that sense of like perfection and taste mm hmm with with needing to ship something gotcha
it's a difficult balance like i said you have to take pride in your work so what that entails as a developer as a design engineer you have to really think how can i make this say you have a two week deadline you can't start thinking of um let's animate the whole page just have everything work you have to really focus on key details while making sure everything works
uh i gave the example of this full stack engineer uh they get the whole stuff done but they forget like little parts you wanna make sure you get that little part in while still keeping to pace um most companies they'll probably like set one week deadlines if you don't get it done it's going out regardless so you don't really have the the um power as a designer near to stop that flow
because at the end of the day time is money and time wasted is money lost we wanna get products out in a quick pace and like i said with the ai we're able to speed up that development film so you really wanna go in and say hey these are the key parts that need to work if i was like designing a i don't know let's go for a form or something
first things first the form has to work i'm gonna always dedicate an extra bit of time maybe two days for refinement i'll spend one day deciding these are the key elements that need to work and this could be cool to add in that cool part let's make sure you got that in these are extras the extras are not critical the cool part is critical
the main form is critical so that type of thinking it comes through experience as well it's hard to understand like hey this is what i need to get done but you can feel when something is great and could be greater but you don't release nothing people can spend i know myself i've i'm working on a lot of stuff you can spend like a lot of time just thinking of something
and not getting out but if if you're it's in your head but if it's not there no one's gonna use it so really spend time on prioritization and then optimizing the prioritized and that's how you actually separate yourself from people that just ship so one more question um i really curious to get your perspective but like from portfolio perspective for a design engineer uh huh like
is it a focus on like these micro interactions for example that is really the key or is it more about like showing invention specific projects or like obviously a combination of both but like what do you like think about for yourself and what are you looking for hmm good question so for me i'm big into showing people that i love what i do
and that's really a good determinator from someone that just like copies if in a way because everyone can have a portfolio that's they have a bunch of micro interactions but they don't actually have that feeling of like hey i'm really doing this all the time i'm i'm someone that's always trying to get something else show something try and build something try something experiment so show all your experiments
even on my portfolio i still have stuff from like years ago but people can see that progression and i think that's what people resonate towards they want to see that care you put into yourself that dedication you took to get to where you are as well so and if i was in your case i just be posting whatever you do if it's a new um
components you made if you copied something reference show the reference show your final product if you go through my portfolio it's my name dot com you can see everything i do i'm also working on like my ui dot wiki it's i'm just sharing information trying to give back to the community and just teaching people whatever whatever people want to learn
i'm big into giving knowledge and spreading that out so people can build great stuff together so yeah if you want to build a portfolio now that stands out in my opinion just everything you're doing just put it there like people want to read that stuff they want to see it they don't want to see just random stuff random components just put yourself into the into your portfolio and that's gonna stand out
so final question one more question one more question i'll do a final question go ahead do you have any hot takes on design on design engineering on engineering uh let me think i i have a lot of takes i think that i don't even think this is a hot take but honestly i think that a lot of these okay how can i say this in a in a good way
i think a lot of these generated websites that people ship out they they they get found out of course i think that if i was to be in charge i would just like ban all of them i i'm not a big fan of all that stuff uh another hot take i suppose is like scroll hijacking i hate that stuff i hate taking the the control away from the user another hot take is i mean
i'll give two hot takes i think two is enough two is enough thank you so much guys i appreciate it
Loading video analysis...