Hacker News new | past | comments | ask | show | jobs | submit login
Figma: The product design team’s process (figma.com)
163 points by skilled on Dec 25, 2020 | hide | past | favorite | 39 comments



I'm not a designer and I don't work in a design team, so I don't have much to add to the article. However I worked together with Rasmus during the early years of Spotify. It's now almost 2021 and he is still - by far - the most productive (in the Hacker News sense) and unique person I've ever worked with.

It still boggles my mind that the same person can:

(1) one hand be that stereotypical designer with the scarfs and the small cups of coffee and the Leica cameras, designing user interfaces and logotypes and brands (Spotify logotype, Spotify green color), designing popular fonts for the Internet ( https://rsms.me/inter/ )

(2) on the other hand be a great low level engineer, creating programming languages, virtual machines ( https://github.com/rsms/sol ), text editors, stuff like GraphQL, etc

A one man army for sure.


I truly think if Leonardo da Vinci were alive today, he'd be doing stuff like this. It's the modern version of Mona Lisa, Vitruvian man, and ornithopters.


Exhausting but satisfying. Design and engineering have overlapping process and goals. Performance, problem solving, structure, creativity, experimentation... Unfortunately I've seen many who want to be both but are a master of none.


Think about who would actually take a designer’s problems seriously and solve them. It would be a designer that can also program, no one else is going to give a shit or even recognize what needs to be solved.

By sheer necessity, someone like this had to emerge.


I know he is just one example, but his success does reinforce a hunch of mine.

I never quite understood why the typical tech company product organization is so obsessed with finding the perfect graphic designer, instead of the perfect engineer.

Stick with me for a sec, I feel like I’ll draw a lot of heat here.

Good designers absolutely do good design work, and that’s wonderful! It just hardly ever, or does not at all, translate to how the product is actually built. At worst it leads to implementations being ad-hoc literal translation of high fidelity screenshots (of the perfect design!) that becomes impossible to maintain.

You could say the designer and some group of engineers are supposed to work together to build a “design system” and, well it might work, if you have good leadership. Not-so-good leadership will at worst not let engineers do this because it’s “not delivering value to the user!”, and decent leadership will let this happen once but ongoing maintenance will never happen.

So. What was the point of hiring the designer again? Having worked with companies, they do try to hire this “engineer who designs” all the time, and they constantly say things like “I know they’re a unicorn but maybe we’ll get lucky” but I think they would be surprised what a group of seasoned engineers in their field would be able to do design wise. Most web content does the same thing the same way nowadays anyway, you’re actually better suited copying UX that people will be familiar with :p


Some developers on HN have often said they enjoy when Designers know how to code, but it's actually quite hard to get a job as a designer who knows how to develop when you don't have the same coding experience as a pure developer. It's also hard to get a position where the development team trusts you to commit code.

The only reason why I, with a design background, was able to learn frontend (as well as additional topics like design patterns, DSAs, caching, software architecture, optimization, etc.) was because I was lucky enough to find a back end engineer who needed design help and was game to let me take the reigns on that part of the project even when I had zero experience. I mean, holy shit, talk about trial by fire. He tested me with toy projects and then when I showed that I could actually walk the walk, we were off to the races with real client projects. Other companies simply put people like me to do one thing and one thing alone which is... well design.

Realistically, most companies just care about filtering candidates based on x years of experience in Language/Library. Which makes sense, but it also means that pushing the boundaries of your knowledge isn't resume-able until a company allows you to deploy, at which point you can finally say you have 0+i years of ThingYourAreLearning.


As a designer who can code you get a job as a Designer who can code.

I've been mentoring a Designer and friend over the last year, and I'm also teaching coding for designers since a short while.

The benefits are quite tangible: As a programmer, you still structure the application, set up the tooling, build the abstractions and the logic, but you're now freed from fiddling with pixels, because the designer has already built his prototypes with implementation in mind, can communicate intent, compromises and solutions for edge cases, and they can also implement a lot of things by themselves, sometimes with guidance. Git is not rocket science either if you give them a clear workflow and resolve issues that are beyond what you'd expect.


>> I never quite understood why the typical tech company product organization is so obsessed with finding the perfect graphic designer, instead of the perfect engineer.

For what it's worth, a personal anecdote - I didn't work with UX people or product managers until after I spent ~12 or so years as a developer/development manager.

My first impression of UX and PdMs was "wait, that's a job? This is stuff I expect my engineers to do. I wouldn't let my engineers get away without understanding the business or not obsess about the user experience."

Ironically I am now a product manager and what I have learned is that the answer is very simple: "perfect engineers (using your definition) are FUCKING RARE." In a startup you probably can structure your org around a handful of them, but by the time you're say Google-size (and way smaller than that) if your demands for a dev is "must be great at UX/business too" you just won't hire that many people, so you allow yourself to scale by breaking out the roles instead.

I miss the days of doing it all and try to get into it as much as I can, but I can't recommend that as a company strategy.


I'm not a programmer per se myself, I run my own Linux server and dabble with vue and other stuff, it's definitely been beneficial to me as a designer. Having tech knowledge, especially on the stack used, you get a good idea of what's possible to even do and where design starts to be a hindrance to the building of a product. It has helped me communicate with the developers and while it doesn't help me design, it still is beneficial to the product as a whole.

I don't think that designers should have to know development well enough to be able to build the whole product, but the more you know, the better it is.


This is pretty much the only advice I’d ever give to a designer. Knowing what’s possible technically, and knowing which of those possible things is a worthwhile ask makes you a more well-rounded technical product designer. That type of designer is much more valuable than the ‘well this is the design’ sticklers.


Depends what you're building. Some buildings call for an architect, and with others, an engineer is all the architect you'll need.

If you're a heads down no-nonsense engineer, you're not going to build Fallingwater.


Yeah I think I’m a bit too laser focused in on SV saas company goings on... which I am taking a long hiatus from soon :)


Reminds me of Adam Waltham and his push for engineers to become designers [1]

[1] https://refactoringui.com/


It makes sense. Craftspeople make their own tools. The better the tools a craftsperson can make the better the craft. And in design, the more skilled the designer the better tools they will design because designing tools is ‘just’ design.

At the edges there are not enough people for off the shelf solutions. And doing it yourself is more productive than shopping for a silver bullet.


Design in a classical sense is dead. There is no real incentive for real deep design to happen. In a race with the clock, multiple points of view, collaboration design, standardization of ui by style libraries and UX design overhead, the soul of design as a process is lost. I am classically trained designer with more than 20 year practice, I have been in many roles, from PD trough Project Management, business owner, etc. Design field today is flooded with self entitlement and low level knowledge, empty words and pretentious jargon, in the end the products are similar visually and rarely innovative. Boring. Recently I closed all business and started clear frontend development work. In implementation things are more meaningful and can be data driven, I don’t have to “romanticize”, be a “designer who writes”, “communicates with clients” and “brings added brand value by using social media”. In general I love design and selling it as a service is to consciously devaluate years of work and experience. At least in front end implementation craftsmanship is monetary rewarded more than design and I don’t have to be a “culture fit” or likable person. Front-end development is measurable skill, clients and employers are rarely competent to comprehend good design. Figma is a tool, it has a value in collaboration. As a graphic design platform it lacks depth and lots of detail oriented features, Sketch was a good start but platform lock and lack of collaboration layer killed it. Actually when speaking about UI tools I miss Macromedia Fireworks really badly. Imagine modern version with those principles..:)


I respectfully disagree with your central thesis - that the soul of design in UX has been lost. What is the soul of design? I would argue that it’s improving the human experience. Graphic design does this by creating beauty, industrial design by creating valued products, UX design does this by improving interfaces.

Reusing common elements across UIs is a good thing. People complain about the “standard” splash page layout, or the stereotypical web-app styling... but Jakob’s Law is real, and users don’t want to learn another damn UI paradigm, they want to use your product to solve their problems. Reuse simplifies learning and so is a massive positive from an end-user perspective, and making the user’s life better is the designers role.

As you’ve noted, Figma is not infinitely flexible. For graphic design this would be a drawback, as novelty is heavily rewarded. But for UX design? Novelty is less important, and correctly communicating how a design should be implemented is much more essential to a user’s experience. And if I need maximum flexibility I can always use another tool.

I’m not claiming everything is perfect in Figma or the industry - but I think the doom is overstated.


Yes, this is emotional topic for me. If I run sentiment analysis on my reaction the answer will be clear. What I mean by the soul of design?

This will be long and please skip my point of view if you find it offensive in any way. This is not my goal.

In my view, created from practice in multiple roles there is clearly several types of problems.

1. Cultural Problem - Design is complex field, it requires clear distinction from art, because in the core of design process is functional need of solving real problems with added aesthetics and emotional identification/impact (respectfully to given scope, audience and case). There is no simple way to explain design profession, but in peoples minds programming is magic - design is decoration. Actually to be a good designer you have to learn marketing, psychology and business processes, if you have to solve problems you must have knowledge of all the problems. Then comes implementation and you have army of technical people who are looking on you like a child, because they think they are smarter,:) Which is a joke in 80% of the time, and actually is my emotional motivation to become one - to check how smart are they actually. With time I have seen the true - only 20% (generalisation, not actual data) of any given field are true professionals with actual drive, they are moving with them all the rest of the heard.

2. Money Problem - Designers are cheap, because they have been undervalued for years. And this is not new, before Internet boom, advertising agencies made all they possibly can designers to be second grade citizens. How? By creating public perception that design is only aesthetics and everyone can be a designer. This objectively is a lie. Everyone can be an artist, to be a designer you must have scientific mind and use data to make decision in every step of the process and then have aesthetic knowledge and broad culture to create emotional impact. I solved this problem first by creating my own Advertising Agency and when Internet come along I transformed the company to Agency for User Oriented Design and Web - based solutions. Working and solving actual business problems with real customer data I now have a clear picture what is business value of design decisions. Professional design is capable of direct Return of investment, actually in today's world of frameworks and compartmentalisation of programming and cloud services, design is directly the tool that can make a difference and generate revenue. Programming is cheaper in production than successful design.

3. Investors Problem. Investors are given the power to decide who is "the rock-star". They give tons of money to technical founders with an idea. No business experience, no proven record. You have to be programmer with idea and some form of prototype. I have seen this first hand.

Can you see where I am going with this? Example: Recently I have been approached by startup making another service over successful API with React on top. They have build horrible product UX with bad copy on top of generic landing page. I can turn this product in profitable business by UX/UI redesign and proper CX. And what is in this for me? A "competitive salary"? Are you serious? NO. No more design for pennies. Period. Yes, you can hire me to beautify your shit and implement front-end functionality but real design solutions are for my business ventures only. Actually like everyone else I am selling my time and expertise and just like everyone else I am searching "the easiest way to make money".

I will repeat my self: Figma is a product born of necessity and lack of vision from Sketch slipping on collaboration and implementation tools. But using web browser as a platform for design product has clear limitations. Figma is implementation tool - not creative tool. The best product will be something like Sketch with traditional license and multi-platform base with cloud based collaboration as a service.


> Figma is a product born of necessity and lack of vision from Sketch slipping on collaboration and implementation tools. But using web browser as a platform for design product has clear limitations. Figma is implementation tool - not creative tool. The best product will be something like Sketch with traditional license and multi-platform base with cloud based collaboration as a service.

I am curious about this point you’ve made. Can you help me understand this better?

I am someone who has switched from Sketch to Figma and I believe Figma is far superior for my use cases in nearly every way. Also, I believe that Figma’s free tier is excellent for casual users or those without a license from their company (between jobs). For me, Figma has been a breath of fresh air and the recent auto layout improvements have taken it to the next level. I work full time as a product designer.


I am biased in my view. But if you have spare time you can check what was Macromedia Fireworks approach to UI design process.

I somewhat agree with preommr on this:

"Figma is an absolutely awful design tool that has great collaboration features. For a UI/UX design tool it has terrible constraints, and basically no support for state changes. There's variances now, which came out really recently. Before that, it was even worse. People would have separate designs for each possible state.

Let alone how limited the possible actions are. It's just frames, boxes, and vector elements."


> basically no support for state changes I agree that this is a major problem. User interfaces are full of state changes and Figma requires a new artboard for every state. While this is an issue, I’m not aware of any software that has solved this. Do you know of any?


Fireworks was basically sketch + a slice of Photoshop but years before Sketch was even relevant.

Absolutely mind boggling how Adobe didn’t see value in it at the time.


“Absolutely mind boggling how Adobe ___________”

Lots of ways to fill in that particular blank. Lots of squandered opportunities and questionable choices over there.


Actually Adobe killed Fireworks in attempt to push more users in Photoshop/Illustrator land. I remember clearly paying a license only to find out months later that Fireworks is dead.


Yeah I remember them adding more ui design features to photoshop but the workflow was so painfully clunky and underpowered compared to fireworks.


Thank you for writing this. FWIW, what you describe as “not design” has a parallel in programming; as in, most of what we do is not engineering.

Anyway, I’m working on a “design” tool. I’m reachable via my handle at gmail. Reach out if you’re interested. Would be nice to bounce ideas.


I wish I could work in a place like this. Here each designer is held hostage by an army of VPs, few of whom know anything about design, who oversee all decisions and can override any design at whim. Thus us engineers have to constantly deal with design changes, up to and even beyond shipping, which often make little sense to anyone much less our customers. The design team often has to go through multiple design reviews by various levels of these executives, leading to long process times where nothing can be delivered waiting on the schedules of the execs. Changes that could be made in code in a minutes might take weeks to deliver, but no delays in shipping are permitted, so often we guess and hope it's close to being right.

I hate reading about places that are sane.


Take what he writes with a grain of salt. Highly productive people like himself likely gets free rein, and so they're looking at the process with rose-tinted glasses.

I've worked with some of these process gurus, and sadly most of them are describing the ideal situation rather than how it works in practice for the average joe. And if they're into publishing this kind of material, they might also make it look better than it really is.


The same is true for product backend engineers as well. Places that “get it” and let engineers and designers be on equal footing with product managers and executives, with equal autonomy to steer product strategy & design, are so much more successful, vibrant and full of life, with happier people and a spirit of collegiality.

Places where product design is dictated by product managers who act as gatekeepers to product user data & business data, and thus they are like the “holy of holies” sort of man behind the curtain allowed to pull the strings - that is total death. Those companies churn out sucky shit that drives all but the worst kind of customers away.


For anyone doing design work, even if adjacent, it's hard to impress upon how amazing Figma is as a tool. It excels not just as a design tool, but collaboration and prototyping as well.


Figma is an absolutely awful design tool that has great collaboration features.

For a UI/UX design tool it has terrible constraints, and basically no support for state changes. There's variances now, which came out really recently. Before that, it was even worse. People would have separate designs for each possible state.

Let alone how limited the possible actions are. It's just frames, boxes, and vector elements. And no, vector grids are not enough to make it special. It's almost the bare minimum in a design tool.

The only reason figma seems great is because the competition is somehow even worse. Sketch is by all accounts slower even though it's native, but I couldn't tell you because it's Mac exclusive, so it leaves me and lots of people like me in the dust. It's terrible for people like freelance designers that might want to share designs with prospective clients.


As a developer, I found Figma to be amazing, but that may be due to the designer I worked with.

At a previous job, I would just get PNGs or PDFs of some design, and I had to try to implement it. Often ended up with inflexible, hard-coded shit, guessing sizes ("8px padding? I think so??"), guessing colors, whatever.

At another job, the designer I worked with just gave me a link to a Figma file, and I had everything I needed. I could shit out front-end stuff quickly, without any issues.

I used to think I was just a bad at front-end, and therefore preferred the back-end. Turns out I'm just not that good a designer, and with a tool like Figma, building the actual designer's vision was easy and joyful.


Would you say that Framer fares better than Figma?


I don't think Framer did as well as they were hoping.

The whole react component thing didn't turn out to be the killer feature collaboration was for figma. Framer has a lot of cool stuff, their plugin system is really powerful So you can have things like 3d elements which is super cool.

I am sure people use it, but it didn't grow in popularity like Figma did. I think with any kind of product, there's often a world of stuff happening under the surface that leads to success. I don't know why Framer hasn't been as successful. One guess would be that people just don't find writing react components and tying it to their design tool to be useful. Potentially too much friction, or that the people doing the designing don't often write react code. Or maybe they didn't market it well enough.

The question of components in design is really interesting but it's a whole other issue.

I do know that along with Adobe XD, Framer has had some issues with bugs. Figma, I would expect, is a lot more stable because they have their own custom renderer that's one canvas element whereas other tools use the DOM. It's one of the reasons why Figma is so feature-poor, they have implement a lot of behavior themselves.


What’s a great design tool in your opinion? (UI/UX and ignoring collaboration features)


Figma has saved us uncountable human-hours in the era of WFH/Covid. Being able to see and work on anybody else’s files, instantly and simultaneously without mucking about with file servers and merging changes from multiple editors is amazing and a massive force multiplier.


Off Topic:

This website stores data such as cookies to enable necessary site functionality, including analytics, targeting, and personalisation. By remaining on this website you indicate your consent.

The above is shown as Banner that does not require any user interaction before you indicate your consent. This may have been OK if it was in US, but I was under the impression with GDPR, or pretty much everything else in Europe, UK or most other CommonWealth countries, active user consent are required, such as clicking an OK button, rather than passive user consent, which is just showing you a banner.

Correct me if I am wrong.


Agreed - I also question if analytics, targeting and personalisation is "necessary"?

In my mind, only cookies for things like Auth and session handle are necessary.

But I am not a lawyer or expert.


This is not a 'Process' this is 'Some highlights for how we communicate as a team'.

...

"We each go around the room and share a quick highlight or two of what we did over the weekend"

"We take time to reflect on our weeks, and ask each other “how are you feeling?”"

These kinds of 'forced empathetic connections' are a a 'hostile workplace' to many, I think it is objectively unprofessional to, in formal settings (and weekly meetings are formal) to require people do a personal 'song and dance'. Even though some people might share 'their mother died' and surely everyone would be nice about it ... it is absolutely not the place for that.

There is no doubt everyone loves to be asked these question on some level, and it's certain fine to do between colleagues when frankly it's more sincere.

But in a 'group/managerial setting' this exercise become cultish, expectant and oddly insincere.

In particular, the more intimate, the more likely people have to 'gel' deeply on cultural issues, and if they don't, there will be problems.

These are the people to talk most of 'diversity' but they end up being the 'least diverse' groups in terms of interest and ethos.

On some level - they are designers who generally tend to be a kind of 'specific type' of person, and I'm sure many/most of them would be fine with it, but I'm also doubtful of the level of self awareness.

The alternative - abrupt but highly productive meetings might leave people feeling cold; 'dispassion' all the time can feel that way. So I don't know what the answer is, but maybe something less formal like 'shared meals' where people just naturally engage in a more classically informal setting, on their own terms, would work.

I worked at a place that had 'free lunch' with a presentation every Wednesday, it turned out to be a great way to meet and chat with random people.

'People like to be Productive'

What I've found, is that almost all professionals actually love to do their jobs, to the extent they can do them. What 'we hate' is bureaucracy and 'things in our way' - but people love to talk about (and do!) their work and are eager to 'complete' if they feel their work will be used.

What would be a great 'follow up' to this, is more on the mechanics of actual process, and how new projects and details are shepherded through the system.

Is everyone working from spreadsheets? Atlassian tools?

How do people feel about working out of a 'ticket system' all of the time.

How much time is given to learning, exploring?

What's the breakdown between panic fixes, ongoing work, new projects?

What's the team balance there?

How do they work directly with Eng., where are the hurdles?

How do they document and record stuff (because that seems to be a byzantine thing everywhere I've worked).


Figma balls




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: