이 글은 freecodecamp에 올라온 UX 엔지니어 직무에 대한 소개를 번역 및 요약한 글입니다. 중요한 부분은 TL;DR에 짧게 요약되어 있습니다.
What is a UX Engineer? User Experience Engineer Role Explained (opens in a new tab)
필자는 현재 UX 엔지니어로 일을 하고 있으며 많은 사람들(디자이너와 엔지니어를 포함하여)이 UX 엔지니어가 정확히 어떤 일을 하는지 물어보았다고 함. 그래서 이 UX 엔지니어라는 역할에 대해 알려줄 때라고 생각함.
이 글은
- UX 엔지니어가 무엇인지
- 그들이 하는 일은 무엇인지
- 필요한 스킬은 어떤 것이 있는지
- 그리고 여러분들이 UX 엔지니어가 될 수 있을지 확인
에 대해 알려줌.
What Does User Experience Mean?
UX 엔지니어의 역할에 대해 보기 전, User Experience에 대해 짧게 정의해보자.
대부분의 사람들은 UI(User Interface)와 친숙하다. User Interface는 대부분 사용자가 스크린 안에서 상호작용하는 대상이다. - 예를 들면 웹사이트나 애플리케이션.
UX는 사용자가 UI가 포함된 프로덕트나 서비스들을 이용할 때 동반되는 모든 경험들을 말한다. UX의 중요성은 부정할 수 없다. The User Experience Team of One에서, Leah Buley는 이렇게 말한다.
“UX is a force for good. In an increasingly technological world, designing products with real people in mind helps us make sure that technology integrates in our lives in a human way. It’s a voice of reason, arguing that products and technology can support and even enrich our fundamental humanity.” ”UX는 선을 위한 설득력이다. 테크놀로지 시대가 됨에 따라 실제 사람들을 염두에 두고 제품을 디자인하는 것은 기술이 인간의 방식으로 우리 삶에 통합되도록 하는 것을 도와준다. 제품과 기술이 우리의 기본적인 인간성을 풍부하게 한다는 걸 주장하는 것은 이성의 목소리다.”
Who are UX Engineers?
UXE(UX Engineer)는 디자인과 개발 둘을 연결짓는 다리라고 할 수 있다.
!https://www.freecodecamp.org/news/content/images/2022/03/UXEngineer_Diagram.png (opens in a new tab)
Icon credit: Noun Project
Engineers
UXE는 일단 엔지니어다 - 디자인에 대한 실무 지식을 갖춘. 프론트엔드 개발 스킬은 필수조건이다. UXE는 사용자 경험과 그것이 미치는 영향에 대해 깊이 관여한다.
"Developers write the code and build the systems that make the experience real. That moment when a flat concept on a page becomes a working, functioning, interactive thing is like making life. It’s incredibly rewarding. It also enables them to see and understand how it will feel and function for the enduser." –
The User Experience Team of One
“개발자는 짜여진 경험이실제로 일어나도록 코드를 짜고 시스템을 구축한다. 페이지 위의 flat한 컨셉들이 작동하고, 기능하고, 상호작용 하는 대상이 되는 그 순간은 어떠한 생명을 만드는 것과 비슷하다고 할 수 있다. 정말 값진 일이다. 이는 또한 실 사용자들이 어떻게 느끼고 그들에게 어떻게 작용할지를 보고 이해하는 것을 가능하게 한다.”
Designers
UXE는 특히 디자인 개념화 단계에서 유용하다. UXE는 디자이너가 어떤 것이 가능하고, 개발 공수가 얼마나 들지 이해하도록 도와줄 수 있다. 어떤 UXE는 프로토타입, 와이어프레임과 디자인 목업에도 기여한다. 디자인 작업량은 회사마다 다를 수 있다.
UX 엔지니어가 디자인 시스템 내에서 작업하는 것은 흔한 일이다. 예를 들어 현재 회사에서 필자의 역할은 디자인 시스템과 컴포넌트 라이브러리를 유지보수 하는 일을 포함한다.
Advocates (중재자)
UXE는 디자인 혹은 개발 양 측의 중재자가 되기 위해 공감능력을 필요로 할 수 있다. 중재자로서 양쪽 사이드에서 협상하고 의견을 내는 것을 요구받을 수 있다. 이는 UX 엔지니어가 디자인과 개발 양쪽의 연결 다리라고 여겨지는 이유다.
UXE는 심지어 조직내에서 그들의 일에 대해 이해하게 하고 서포트를 받기 위해 UX 자체를 대변할 수 있어야한다. 이는 다른 사람들에게 UX에 대한 지식을 공유하고 교육하는 방법들 - 피어 러닝, 커뮤니티를 미팅등의 방법들을 통해 이룰 수 있다.
UX 엔지니어가 무엇인지에 대한 다양한 정의를 찾을 수 있을텐데, 흔히 UI 엔지니어, UX 엔지니어 그리고 디자인 기술자(디자인 엔지니어) 사이에서 경계가 흐릿해진다. 이러한 직무들의 역할은 회사, 그리고 그들이 해당 직무를 통해 채욱고 싶은 부분이 무엇인지에 따라 달라질 수 있다.
만약 당신이 아래의 일들을 좋아한다면, UXE가 되기 충분하다.
- 프론트엔드 엔지니어링
- 특히 CSS로 스타일링하기
- Design thinking
- 가끔 디자인 역량을 발휘하기
- UX 리서치에 참여하기
- 디자인 시스템 업무
- 창조적인 재량을 가지는 것
이제 UXE가 되기 위해 어떤 역량이 필요한지를 알아봄으로써 해당 직무가 어떤 것을 포함하는 지 알아보자.
Confusion within the Front End
필자는 UI Engineer, UX Engineer 그리고 Front-end Engineer 사이에서 헷갈려 하는 것에 대해 명확히 하고 싶어한다. 이들은 흔히 같은 역할을 한다고 여겨진다. 회사의 직무 소개에 따라 그럴 수 있고, 그렇지 않을 수 있다. 그러나, 몇 가지 분명한 차이점이 존재한다.
- UI Engineer는 Front-end Engineer와 가장 유사하다. 그들은 역사적으로 완전히 같지는 않지만 둘 사이 경계는 흐릿해졌다. 그들은 user interface를 만드는 기술적인 측면에서 일한다. UI는 UX와 긴밀하게 결합되어 있기 때문에, UI 측면에서 일하는 것은, 언제든 주제가 UX쪽으로 흐를 수 있으며 , 이 때문에 혼란이 직무에 대한 발생하곤 한다.
- UX Engineer는 위의 두 직무보다 좀더 디자인 쪽에 가깝다. UXE는 본질적으로 user experience에 관련되어 있는 기술적인 직무이다. 그들은 “사용자가 이 버튼과 어떻게 상호작용할까?”, “어떻게 하면 이 버튼이 어떤 일을 하는지 분명히 할 수 있을까?”, “어떻게 이 버튼을 사용할 때 사용자들에게 더 좋은 경험을 줄 수 있을까?”와 같은 고민을 하는 사람이 될 수 있다.
- 반면에, UI Engineer는 보통 효율적인 버튼을 개발하기 위해 어떻게 하면 디자인을 잘 맞춰야할지를 고민한다. 물론, UI Engineer는 그들이 의식적으로 UX에 영향을 미치려고 한다면 UX에 좀더 관여할 수 있다.
UX Engineer 직무에 대한 설명은 디자인 엔지니어(Design Technologist)혹은 디자인 시스템 엔지니어(Design System Engineer)에서 볼 수 있는 사항들과 더 잘 맞을 수 있다.
종합적으로, 프론트엔드라는 단어는각각 복합적인 주제들과 스킬셋의 넓은 범위를 포함하기 때문에, 우리는 프론트엔드 분야 안에서 좀더 특정한 역할에 대한 정의 필요로 한다. UX Enginner는 그중 좀더 최근에 생겨난 포지션이다.
Required Skills for a User Experience Engineer
프론트엔드 개발, 디자인 뿐 아니라 UXE가 가져야할 많은 스킬들이 있다. 다시 말하지만, 이 역할은 회사의 직무에 대한 책임, 역할에 대한 정의에 따라 달라질 ㄷ수 있다.
아래 항목들은 UXE에 지원하기에 가지고 있으면 좋을 공통적인 주요 스킬이다.
Technical Skills
Front End Development.
HTML, CSS, JavaScript에 대한 지식
또한 React와 같은 인지도 있는 JavaScript 라이브러리
이는 테스트, 디버그, 툴 개발, Dependency manager(ex. npm)까지 포함
CSS Specialists.
CSS에 대한 깊은 지식
이는 CSS architecture 혹은 Sass와 같은 전처리기를 사용까지 포함
Styled-component와 같은 CSS-in-JS 라이브러리 사용경험도 도움 됨.
UI/UX Design.
프로토타이핑부터 UX principle, 와이어프레이밍에 이르기까지의 관련된 복합적 디자인 스킬들
UXE는 low-fidelity나 hight-fidelity 디자인 목업을 만들 수도 있다. 따라서 Figma, Sketch, Invision과 같은 디자인 툴에 대한 경험이 도움이 될 수 있다.
디자인 시스템 또한 이 카테고리로 분류될 수 있다. 디자인 시스템의 이점에 대해 이해하고 있는 것, 어떻게 디자인 스탠다드를 UI에 접목할지 아는 것 또한 중요.
Storybook.
스토리북은 엔지니어가 UI 컴포넌트를 build, test, display하는 것을 돕는 툴이다.
Storybook에 대한 특정한 기술적 노하우들
만약 디자인 시스템과 컴포넌트 라이브러리 업무를 하고 있다면 문서화는 스토리북을 사용할 가능성이 있다.
Accessibility.
웹 접근성 가이드라인을 이해하는 것
사용자를 고려한다는 것은 inclusive design (opens in a new tab)(= Universal Design, Design for All)을 의미한다. 제품은 유저의 타입을 제한해서는 안되며, 제품은 모든 사용자들을 고려해야 한다.
서비스의 접근성을 개선하고 테스트하는 기술적 스킬은 매우 도움이 될 것이다.
Responsive Design.
디자이너는 모바일, 타블렛, 데스크탑 스크린 사이즈의 목업을 만들 것이고, 그 디자인들을 구현하게 될 것이다.
각각의 스크린 사이즈 목업 사이에는 차이가 있고, 이는 seamless transition을 위해 의사결정 역량과 기술적인 역량을 필요로 할 것이다. 이는 당신이 마주하게 될 문제이고, 사용자 경험에 영향을 미치게 될 것이다.
Less Technical Skills
Empathy.
UXE에게 매우 중요한 스킬.
사용자 경험을 개선하기 위해 사용자를 이해하는 것 - 사람들이 어떻게 생각하는 지를 이해하기 위한 노력 포함.
당신의 역할이 사용자 경험에 미칠 수 잇는 영향에 대해 깊이 고민하는 것
Communication and Collaboration.
UXE는 다양한 커뮤니케이션을 하도록 요구된다. 사용자, 디자이너, 개발자, Product Owner, 혹은 투자자들과 이야기해야 할 수 있음.
UXE는 디자인과 엔지니어 팀 사이에서 번역을 할 책임이 있다(= 둘 사이 소통이 될 수 있도록 중재를 해야한다)
또한, 문서화 작업에 기여할 수도 있으며, 이는 written communication skill을 필요로 한다. 문서화는 스타일 가이드, 컴포넌트, 사용자를 위한 가이드 등을 포함할 수 있다.
Creativity.
창의성은 직무의 디자인 측면에 기반하여 아주 좋은 역량인게 분명함.
UXE는 디자인과 개발 사이의 절충을 찾기 위해 창의적인 해결책을 찾을 일이 많음
User Experience Principles and Theories.
UX 심리학에 대해 이해하고 있는 것은 디자인 의사결정을 내릴 때 도움이 됨.
심리학 휴리스틱에 대해 학습하는 것이 필요함.
Laws of UX (opens in a new tab) 사이트는 이에 대한 아주 좋은 참고 사이트다!
Summary
디자인과 엔지니어링 과정이 성숙해짐에따라, UX Engineer, UX researcher, UI/UX designer, UI Engineer 등과 같은 역할이 필요해졌다.
함께 협력하면서, 이러한 역할들은 최고의 사용자 경험을 만들어낼 수 있다. 이러한 직무들에 대한 필요성인 최근 증가했으며, 특히 조직 내 디자인 시스템의 중요성에 대한 인식과 함께 증가했다.
UX 엔지니어는 디자인과 개발 사이의 정보 전달의 공백을 메꾼다. 이 역할의 중요성이 더욱 더 인식되면서, 더 많은 UX 엔지니어링의 역할들이 드러나게 될 것이다.
필자는 UXE로서 자신이 사용할 수 있는 기술들의 혼합을 좋아한다. 만약 당신이 디자인팀과 더 가깝게 일하고 싶은 창의적인 사람이라면, UX 엔지니어는 당신에게도 매우 잘 맞을 것입니다!
TL;DR
- UX 엔지니어는 개발팀과 디자인 팀 사이를 연결짓는 다리이며, 두 팀이 잘 협력하고 소통할 수 있도록 중재자 역할을 가진다.
- 디자인팀과 긴밀하게 협력하지만, UX 엔지니어는 엔지니어(개발자)다. 따라서 Front-end 개발 지식은 필수 조건이다.
- 회사마다 UX 엔지니어의 역할이 조금씩 다르다. 보통 조직 내 디자인 시스템, 컴포넌트 라이브러리 관련 업무를 많이한다. - 또한 이에 대한 문서화 작업에도 관여한다.
- 기술적 역량
- 프론트엔드 개발 스킬(HTML, CSS, JavaScript, React, npm …)
- 특히 CSS에 대한 깊은 이해도 및 전처리기, CSS-in-JS에 대한 경험
- UI/UX 디자인 툴에 대한 경험 및 와이어프레이밍, 프로토타이핑 스킬 - lowfi, high fi 목업을 제작하는 역할을 포함하는 경우.
- 디자인 시스템에 대한 이해와 시스템 기준을 UI에 접목하는 방법에 대해 아는 것
- 스토리북 - 디자인 시스템 문서화에 필요
- 웹 접근성 (매우 중요)
- 반응형 디자인, 각 스크린 사이즈 마다의 차이에 대한 이해
- 비기술적 역량
-
공감능력 - 사용자 경험에 대해 이해하기 위한 노력
-
커뮤니케이션과 협동 능력. - 많은 직무 사이에서 커뮤니케이션 할 기회가 있음. 문서화에도 관여하기 때문에 글을 통한 커뮤니케이션 능력이 필요함.
-
창의성 - 디자인 측면에 도움, 디자인 개발 사이에서 절충을 찾는 의사결정에 도움
-
UX 원칙과 이론에 대한 이해 - 심리학적인 지식,
-