Hacker News new | ask | show | jobs
by bjeds 2002 days ago
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.

3 comments

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.