[번역] Should you pursue a career in design engineering?

[번역] Should you pursue a career in design engineering?

2025-11-06

Adobe Design팀의 Should you pursue a career in design engineering?를 번역한 글입니다.

디자인 엔지니어링 경력을 추구해야 할까?

이 새로 떠오르는 분야에 대한 관점은 이 분야가 당신에게 적합한지 판단하는 데 도움이 됩니다.

1

Sean Vosien Director of Design Engineering

오랫동안 디자인 업계에서는 한 가지 뜨거운 논쟁이 반복되어 왔다. 디자이너는 코드를 배워야 할까?

“배워야 한다”고 말하는 쪽은 이렇게 주장한다. 디자이너가 자신이 디자인하는 매체, 즉 실제 인터페이스를 구현하는 UI 기술을 이해하게 되면, 그 매체의 제약을 더 잘 활용하고 그 안에서 더 현실적이고 뛰어난 인터페이스와 워크플로우를 설계할 수 있다는 것이다. 또한 이러한 디자이너는 제품을 만드는 엔지니어들과 더욱 “같은 언어로 소통”할 수 있게 된다고 말한다.

반면, “배울 필요 없다”는 입장의 사람들은 디자이너에게 주어진 역할만으로도 충분히 벅차며, 코드를 배운다 해도 유지보수 가능하고 실제 서비스에 투입할 수준의 코드를 작성하기는 어려울 것이고, 이는 디자이너의 본업에 오히려 악영향을 줄 수 있다고 주장한다.

“디자이너는 코드를 배워야 하는가?”라는 이 질문이 유독 사람들의 신경을 건드리는 이유는, 마치 정답이 있는 이분법적 선택지처럼 보이게 만들지만 실제로는 정해진 정답이 없기 때문이다. 이 질문은 업계 전반에 일종의 보편적 규범—“배워야 한다(혹은 배울 필요 없다)!”—를 강요하려는 시도를 담고 있다.

하지만 이 질문에 진지하게 답하려면, 개인의 상황과 선호를 고려해야 하며, 그 답 역시 매우 다양한 스펙트럼 속에서 모두 유효할 수 있다.

따라서 더 유용한 질문은 이런 것이다: 내가 협업하는 다른 분야의 역량을 일부라도 배워야 할까? 즉, “나는 코드를 배워야 할까?” 혹은 개발자 입장에서는 “나는 디자인을 배워야 할까?”가 더 현실적이고 의미 있는 질문이다.

“디자이너는 코드를 배워야 할까?”라는 질문이 사람들의 신경을 건드리는 이유는, 마치 정답이 있는 이분법적 선택인 것처럼 보이지만 실제로는 정해진 답이 없기 때문이다.

커리어를 이어가는 과정에서, 자신의 전문 분야 안에 머무를지 혹은 그 경계를 넘어설지는 언제나 매우 개인적인 선택이다. 하지만 이런 질문 앞에 섰을 때, 디자이너와 개발자의 경계를 넘나드는 하이브리드 역할이 현재와 미래에 어떤 모습일지 알고 있다면 더 현명한 결정을 내리는 데 도움이 될 것이다.

다행히도, 이러한 길을 이미 개척하며 훌륭한 롤모델이 되어주는 다학제적 전문가들이 점점 늘어나고 있다. 이들은 디자인과 엔지니어링이 만나는, 그 창의적이고도 비옥한 경계 공간에서 문제 해결을 전문적으로 수행하는 사람들이다.

Adobe에서는 이들을 **“디자인 엔지니어(Design Engineer)”**라고 부른다.

디자인 엔지니어란 무엇인가?

소프트웨어 업계에서 “디자인 엔지니어(Design Engineer)”라는 직무는 다양한 이름으로 불린다. UX 엔지니어, UI 엔지니어, 디자인 테크놀로지스트, 익스피리언스 개발자, 디자인 프로토타이퍼, 크리에이티브 테크놀로지스트 등 수많은 명칭이 존재한다.

이처럼 여러 이름이 생겨난 이유는, 디자이너와 개발자의 틀 어디에도 깔끔하게 들어맞지 않는, 이 다소 낯설고 유연한 다학제적 역할을 업계가 어떻게 정의하고 불러야 할지 오랜 시간 고민해왔기 때문이다.

때로는 이들을 그냥 이렇게 부르기도 했다. “유니콘.”

하지만 디자인 엔지니어가 무엇인지를 정확히 설명하려면, 먼저 디자인 엔지니어가 무엇을 하는 사람들인지를 설명해야 한다.

Adobe에서 디자인 엔지니어는 디자인과 엔지니어링이 만나는 지점에서 발생하는 문제들을 해결하는 역할을 맡으며, 그 일을 다음 세 가지 방식으로 수행한다:

  • 디자이너가 자신의 디자인을 학습하고 가설을 검증할 수 있도록, 새로운 제품 경험을 프로토타이핑한다.
  • 디자이너와 개발자의 협업 과정을 효율화하고, 디자인 조직이 규모 있게 운영될 수 있도록 디자인 시스템과 관련 인프라를 구축한다.
  • 섬세한 장인 정신과 디테일에 대한 집요함이 필요한 제품 경험에 전문성을 더해 완성도를 높인다.

이 세 가지 활동 중 하나라도 당신에게 매력적으로 느껴진다면, 디자인 엔지니어링은 당신과 잘 맞는 길일 수 있다.

프로토타이핑은 엔지니어링 역량과 디자인 감각의 독특한 조합을 요구한다

프로토타이핑은 엔지니어링 역량과 디자인 감각이 독특하게 결합된 능력을 요구한다. 디자이너가 자신의 디자인에 대해 배우거나 완전히 이해하지 못하는 부분들이 있는데, 이는 실제로 동작하는 프로토타입 없이는 확인할 수 없는 것들이다. 또한 디자인 툴에서 만들 수 있는 클릭형 프로토타입만으로는 충분하지 않은 디자인 유형도 존재한다. 코드로 작성된 고품질의 작동 프로토타입은 수많은 장점을 제공한다. 이는 디자인과 엔지니어링 사이에 존재하는 암묵적 가정을 줄여주고, 회의에 들이는 시간을 줄이며, 팀 내 합의를 더욱 빠르게 이끌어낸다. 뿐만 아니라, 제품 개발 과정 중이나 출시 이후에 뒤늦게 발견될 수 있는 비용이 큰 실수를 예방하고, 기술적으로 가능한 것과 한계를 탐색할 수 있도록 도와주며, 새로운 디자인 방향과 가능성을 발견하게 해준다.

2 Photoshop의 Generative Fill 기능에 도입된 참고 이미지(Reference Image) 지원 역시, 초기에 작동하는 프로토타입으로부터 출발했고, 이후 사용자 연구 피드백을 통해 다듬어진 결과물이다.

Adobe에는 고품질 프로토타이핑을 하나의 독립된 전문 분야로 삼아 집중하는 디자인 엔지니어와 매니저가 20명이 넘게 있다. 우리의 프로토타이핑 팀은 디자이너, 사용자 경험 연구자와 긴밀하게 협업하며 문제를 이해하고, 프로토타입을 설계·구축한 뒤 실제 사용자와의 테스트를 진행한다. 그리고 이 과정을 통해 얻은 인사이트를 바탕으로 디자인을 개선하고, 다시 만들고, 또 반복한다. 때로는 그것을 다시, 또 다시, 그리고 또 다시 반복하기도 한다.

프로토타이핑에는 엔지니어링 역량과 디자인 감각이 독특하게 결합된 능력이 필요할 뿐 아니라, 언제든지 모든 것을 버리고 다시 시도할 수 있는 마음가짐도 요구된다. Adobe Design의 엔지니어링 매니저인 사프나 가사니(Sapna Gathani)는 이렇게 썼다.

“디자인과 엔지니어링 역량을 모두 갖춘 경우가 많은 프로토타이퍼들은, 사용자 경험에 대해 그 경험을 구현하는 기술만큼 깊은 관심을 가진다. 프로덕션 코드 작성, 보안이나 확장성 같은 문제를 해결하는 엔지니어링 팀의 제약에서 자유롭기 때문에, 짧은 일정 안에서도 빠른 피드백과 반복 과정을 통해 디자인과 프로덕트 파트너가 궁금해하는 질문에 신속하게 답을 줄 수 있다. 또한 시행착오를 적극 장려하며, 언제든지 버려도 되는 코드를 작성하는 데 거리낌이 없고, 처음부터 다시 시작하는 데도 익숙하다. 무엇보다 이들은 초기 단계의 탐색과 반복 과정에서 뛰어난 파트너로, 디자이너가 구현하고자 하는 경험에 대해 더 깊이 배우고 탐구할 수 있도록 디자인 과정에 기꺼이 함께 뛰어든다.”

디자인 시스템 엔지니어링은 디자이너와 개발자 간의 협업과 워크플로우를 개선한다

프로토타이핑이 디자인 엔지니어링의 핵심 활동이기는 하지만, 오래도록 남는 고품질의 프로덕션 코드를 만들고 다듬는 일에 더 큰 매력을 느끼는 디자인 엔지니어라면, 언제든 폐기될 수 있는 프로토타입을 만드는 데 다소 불편함을 느낄 수도 있다. 다행히도, 디자인 엔지니어가 디자인 과정에 기여하고 실제 제품에 적용되는 코드를 전달할 수 있는 다른 방식들도 존재한다. 디자인 시스템 엔지니어링이 그중 한 가지 가능성이다.

3 Adobe의 Spectrum 디자인 시스템 역시, 다양한 Adobe 제품 전반에서 일관된 사용자 경험을 제공할 수 있도록 하기 위해 디자인 엔지니어들이 구축한 도구, 컴포넌트, 그리고 인프라 위에 만들어져 있다.

디자인 시스템 엔지니어링이 프로토타이핑과 공통으로 가지는 역할은, 디자이너와 개발자 간의 협업과 워크플로우를 더 원활하게 만든다는 점이다. 프로토타입이 모호성을 없애고 디자인 의도를 엔지니어에게 더 효과적으로 전달하는 데 도움을 준다면, 디자인 시스템 구현은 그 의도를 재사용 가능한 컴포넌트로 코드화하여 엔지니어의 개발 속도를 높여준다. 디자인 시스템 엔지니어는 재사용 가능하고 접근성이 뛰어나며, 즐거운 마이크로 인터랙션을 담은 컴포넌트를 만들기 위해 노력한다. 이 컴포넌트들은 높은 완성도와 충분한 테스트를 갖춰, 제품에 쉽게 통합될 수 있어야 한다.

디자인 시스템 엔지니어들은 디테일에 대한 집요함과 장인 정신을 제품 개발 과정 곳곳에 녹여낸다. 예를 들면 다음과 같다.

  • 토큰 시스템과 이를 변환·관리하기 위한 툴 또는 파이프라인 등 디자인 시스템 인프라를 구축하는 일
  • 디자인 시스템 문서를 작성하고 유지·관리하는 일
  • 디자이너가 활용하는 디자인 툴 플러그인이나 맞춤형 도구를 설계·개발·관리하는 일
  • 고품질·접근성·성능을 모두 갖춘 UI 컴포넌트 라이브러리를 개발하는 일

하지만 위의 활동들 외에도, Adobe의 디자인 시스템인 Spectrum을 담당하는 엔지니어들은 조직 내에서 중요한 ‘접착제(glue) 역할’을 하는 다양한 업무를 수행한다. 예를 들어 문서를 작성하거나, 디자인 시스템 도입을 위해 여러 부서의 제품 팀과 협업하거나, 접근성에 관한 자문을 제공하는 일들이 있다. 이처럼 디자인 시스템 엔지니어들은 Adobe의 다양한 제품 전반에서 일관된 경험을 구현할 수 있도록 하는 프런트엔드 인프라의 관리자로서 역할을 수행한다.

디자인 엔지니어는 정교함과 섬세함으로 사용자 인터페이스를 구현한다

때로는 사용자 인터페이스의 특정 영역, 혹은 제품 전체 경험을 완성도 있게 구현하기 위해 디자인 엔지니어만의 디테일과 장인 정신이 필요할 때가 있다. 이러한 작업은 거친 상태의 프로토타입을 프로덕션 수준의 품질로 다듬는 과정이 될 수도 있고, 다른 경우에는 섬세한 감각과 디테일 조정 능력이 요구되는 새로운 UI 기능을 구현하는 일이 될 수도 있다.

독립 디자인 & 엔지니어링 디렉터인 캐서린 곤잘레스(Kathryn Gonzalez)는 자신의 블로그에서 이렇게 썼다. “훌륭한 디자인 엔지니어는 소프트웨어라는 재료, 그 매체가 가진 모든 가능성과 제약, 그리고 그것을 다루는 도구들을 깊이 이해하는 데 집착한다. 내 경험에 따르면, 이러한 집착은 아름다움과 의도가 담긴 무언가를 만들고자 하는 열망에서 비롯되며, 동시에 소프트웨어를 스스로 만들어내기 위해 디자인 엔지니어가 발전시켜 온 기술적 접근이 결합된 결과다.”

4 Apple Vision Pro용 Adobe Firefly를 개발하는 과정에서는 최상의 사용자 경험을 구현하기 위해, UI 엔지니어링과 공간 컴퓨팅(spatial computing) 분야에서의 디자인 엔지니어링 팀의 전문성이 필수적이었다.

이러한 디자인과 디테일에 대한 집요함 덕분에, 디자인 엔지니어는 다른 엔지니어가 구현하기 어려운 방식으로 사용자 인터페이스의 완성도를 한 단계 끌어올릴 수 있다. 디자인 엔지니어는 디자인에 대한 폭넓은 이해를 바탕으로, 렌더링, 애니메이션, 레이아웃 등 핵심 UI 엔지니어링 분야에서 깊은 기술적 전문성을 갖춘, 이른바 “T자형” 인재인 경우가 많다.

특히 사용자와의 직접적인 상호작용이 포함된 인터페이스—프레임 드롭, 타이밍의 미묘한 어긋남, 위치의 작은 글리치까지 즉각적으로 눈에 띄는 영역—는 디자인 엔지니어가 빛을 발하는 프로젝트다. 이와 마찬가지로, 마케팅 페이지에 들어갈 부드러운 스크롤 기반 애니메이션이나, 새로운 제품에 생동감을 더하는 유쾌한 애니메이션이 필요할 때도 디자인 엔지니어가 주로 요청받는 역할이다.

Adobe에는 2D 기하, 3D 셰이더와 렌더링, SVG, 타이포그래피 레이아웃, 웹 프런트엔드, 머신러닝, 그리고 SwiftUI와 iOS 개발 등 다양한 전문 역량을 보유한 디자인 엔지니어들이 있다. 이러한 폭넓은 전문성 덕분에 우리는 프로젝트마다 가장 적합한 인재를 배치할 수 있으며, 이를 통해 초기 디자인 비전을 해치지 않으면서도 결과물의 완성도를 더욱 높일 수 있다.

디자인 엔지니어로 시작하는 법

디자인 엔지니어가 되어야 할까? 만약 당신이 디자이너나 개발자 중 하나로서가 아니라, 새로운 사용자 경험의 디자인과 개발 전 과정에서 높은 주도성을 발휘하는 **다학제적 ‘메이커(maker)’**로 자신을 재정의하고 싶다면, 그 답은 “그렇다”일지도 모른다. 디자인 엔지니어링을 시작하는 방법은 여러 가지가 있다.

프로토타이핑 과정에 뛰어들어라

디자이너라면, 디자인 툴을 넘어 직접 프로토타이핑을 시작해보자. 코딩을 모른다 하더라도, 새로운 디자인 아이디어를 실제로 동작하는 프로토타입으로 만들어볼 수 있는 노코드·로우코드 도구들이 이미 많이 나와 있다. 여기에 더해, 생성형 AI 덕분에 이제는 프로그래밍을 배우는 것도, 코드 대신 자연어만으로 디자인 비전을 작동하는 프로토타입으로 구현하는 것도 어느 때보다 쉬워지고 있다. 지금은 그 어느 때보다 부담 없이, 그리고 무엇보다도 흥미롭게 프로토타이핑에 뛰어들 수 있는 시대다.

회사 디자인 시스템에 기여해보라

디자인 시스템은 종종 사내 오픈소스 프로젝트처럼 운영되며, 디자인 시스템 팀은 새로운 기여자를 언제든지 환영한다. 회사의 디자인 시스템이든, 아니면 당신이 좋아하는 오픈소스 디자인 시스템이든, 기여할 수 있는 방법은 작지만 다양하다. 버그를 제보하거나 직접 수정하고, 문서를 작성하고, 토큰 시스템을 이해해보고, 새로운 컴포넌트를 기여해보는 것이다. 어떤 방식이든 참여해보자!

작은 규모의 UI 중심 엔지니어링 프로젝트에 참여해보라

프로덕션 UI 엔지니어링에서 핵심 기능이 아닌 부분 중, 당신이 기여할 수 있는 영역이 있을까? 엔지니어로서 디자인 역량을 키우고 싶다면, 프로토타이핑을 활용해 조직의 공감대를 이끌고, 새로운 디자인 아이디어를 제품의 작은 영역에라도 적용해볼 수 있을 것이다. 디자이너로서 프로그래밍을 막 시작하는 단계라면, UI의 작은 부분을 직접 개선하거나 수정하거나 새로 만들어볼 수 있는지 찾아보자. 종종 더 큰 자율성을 향한 첫걸음은, 그저 스스로 먼저 움직여보는 것이다. 조금 더 주도적으로 행동하면, 자연스럽게 더 많은 기회가 따라올 것이다.

디자인 엔지니어링은 아직 초기 단계의 분야이며, 우리가 풀어가야 할 과제도 많다. 하지만 한 가지는 확실하다. 디자이너와 엔지니어의 경계를 넘나드는 하이브리드형 인재에게 미래는 매우 밝다.

지금은 디자인 엔지니어링이라는 길을 탐색하기에 이보다 더 좋은 시기가 없다. 그리고 디자인 조직 안에 이 역할을 자리 잡게 하기에도 이보다 더 좋은 때는 없었다. 디자인 툴과 생성형 AI의 발전은 디자인과 엔지니어링 분야의 경계를 더욱 넓게 겹치게 만들 것이며, 그 결과 기존의 분야적 한계를 넘어 새로운 방식으로 영향력을 만들고자 하는 사람들에게 더 많은 공간이 열릴 것이다.

Adobe의 스콧 벨스키(Scott Belsky)가 언급했듯, 최근의 기술적 변화는 “인재 스택(talent stack)을 압축”하고 있으며, 그 어느 때보다 다학제적 역할이 더 가치 있고, 더 쉽게 접근 가능한 시대를 만들고 있다.

디자인 엔지니어링은 아직 초기 단계의 분야이며, 우리가 더 발견하고 정립해야 할 부분도 많다. 그러나 한 가지는 분명하다. 디자이너와 엔지니어의 경계를 넘나드는 하이브리드형 인재에게 미래는 매우 밝다.

숀은 커리어의 상당 부분을 창의적 소프트웨어 도구를 만들고, 예술·디자인·컴퓨팅의 접점을 탐구하는 데에 집중해왔다. 현재 Adobe에서 그는 새로운 사용자 경험을 발명하고, Adobe의 디자인 시스템인 Spectrum을 구축하는 데 기여하는 디자인 엔지니어와 프로토타이퍼 팀을 이끌고 있다. 그 이전에는 Adobe XD 개발에 참여했으며, 초창기 iPad용 디지털 매거진을 만들었고, Mozilla에서는 웹 브라우저 엔지니어링 팀을 이끌었다. 일 밖에서는 독서, 직접 베이글 굽기, 펜 플로터 아트 제작을 즐기며, 아내와 두 아이와 함께 샌프란시스코 베이 에어리어의 자연을 탐방하는 시간을 좋아한다.

July 30, 2024