Post

Technical Blog - Product and Platform Engineers 번역

본 포스팅은 leerob 블로그의 Product and Platform Engineers를 번역한 것입니다.

프론트엔드와 백엔드 엔지니어의 구분은 점점 더 의미가 없어지고 있습니다.

  • 프론트엔드 개발자는 더이상 HTML, CSS, JavaScript만 작성하지 않습니다. 이제 프론트엔드 중심의 개발자가 전체 웹 애플리케이션을 처음부터 구축하는 것이 일반적입니다. 이들은 데이터베이스를 통합하고 연결하며 인증을 처리하는 등의 작업을 수행합니다.

  • 백엔드 개발자는 백엔드를 지원하기 위해 많은 프론트엔드 코드를 작성하거나, 소프트웨어 인프라를 유지보수, 관리, 구축하는 방향으로 나아가는 두 가지 경로 중 하나를 선택해야 하는 경우가 많습니다.

  • 인공지능 개발자는 단순히 코드를 작성하는 것에서 훌륭한 제품을 만드는 것으로 초점을 옮겼습니다. 이러한 변화를 체감하는 스타트업들이 점점 많아지고 있으며, 빠르게 움직이기 위해 LLM과 Code Copilot를 사용하는 엔지니어링팀을 운영하고 있습니다.

Product Engineer vs Platform Engineer라는 두 가지 다른 업종을 생각해 보세요.

img-description

What are Product Engineers?

Product Engineer는 원하는 제품 경험에서 이를 구현하는 일련의 기술을 거꾸로 작업합니다. 훌륭한 사용자 경험을 만들기 위해 프론트엔드, 백엔드, 디자인 및 그 사이의 모든 것을 고려합니다.

img-description

Fullstack에 대한 일반적인 오해처럼 모든 부분을 깊이 있게 이해할 필요는 없습니다. 대시 사용 가능한 도구에 대한 폭넓은 이해와 이러한 도구를 적용하여 제품을 구축한 경험이 풍부하면 됩니다.

훌륭한 Product Engineer의 몇 가지 자질

  • Iterative : 반복 속도와 점진적인 정확성을 중요하게 생각합니다. 이들은 사일로보다 출시하고, 고객으로부터 피드백을 받고, 그 과정에서 조정하는 것을 선호합니다.

  • Customer focused : 고객과 소통하고 제품을 개선하는 방법을 배우는 것을 두려워하지 않습니다. 대기업의경우 제품 관리자가 이 부분을 전문적으로 담당할 수도 있습니다. 이때 엔지니어와 긴밀히 협력하여 이러한 학습 내용을 올바른 솔루션으로 적용해야 합니다.

  • Pragmatic : 기술 선택은 모두 목적을 위한 수단이라는 것을 이해합니다. 최신 라이브러리를 선택하는 것은 중요하지 않습니다. 제품 목표를 달성하는 데 도움이 되지 않는다면 기꺼이 도구를 제거할 수 있습니다.

그렇다면 나머지 절반의 소프트웨어 엔지니어는 어떻게 될까요?

Product vs Platform Engineering

Product Engineer가 최종 사용자의 문제를 해결하는 기능을 구축하고 개선하는 데 집중한다면, Platform Engineer는 제품을 지원하는 인프라에 집중합니다. Platform Engineering team은 Product Engineer를 지원하고 효율성과 생산성, 만족도를 높이기 위한 도구를 구축하거나 구매합니다. 이들은 일반적으로 Product team을 위한 인프라를 선택합니다.

img-description

일반적으로 Platform team은 대규모 조직에서만 접근할 수 있는 팀이었습니다. 더 많은 소규모 팀에서도 작지만 효과적인 Platform Engineer 그룹이 놀랍도록 영향력 있는 결정을 내릴 수 있습니다. 이들은 Product team의 규모에 따라 성장하기 위해 소프트웨어를 평가하고 구매하는데 신중을 기합니다.

Finding Talent

대부분의 스타트업은 Fullstack Engineer을 찾고 있지만 실제로 Product Engineer가 필요합니다.

img-description

훌륭한 Product Engineer는 두 가지 공통된 특성을 가지고 있습니다.

  1. A passion for building high-quality experiences
  2. A constant drive to learn and explore new ideas

이들은 pixel-pushers가 아니라 자신의 작업에 자부심을 갖고 자신의 제품에 대해 당당히 말하는 것을 두려워하지 않는 creator입니다. 대부분의 작업이 사용자를 대면하는 것이기 때문에 자신의 작업 사례를 많이 가지고 있어야 합니다.

Browsers, Accessibility, Animations, CSS, HTML, JavaScript 등 웹의 기본을 잘 이해하고 있어야 합니다. React, Svelte 등 어떤 도구를 사용하느냐는 부차적인 문제입니다. 진정으로 중요한 것은 이러한 도구를 사용하여 최고의 제품을 구축하는 능력입니다.

Fullstack -> Product Engineer로 직책이 바뀌는 데에는 선행 기술이 있습니다. 디자인도 비슷한 변화를 겪었습니다. UI/UX Designer, Graphic Designer와 같은 직함이 Product Designer로 대체되고 있습니다.

훌륭한 Product Engineer는 시각적인 완성도에서 멈추지 않습니다. 사용자 여정까지 세심하게 고려합니다.

  • 인터넷 연결이 느리거나 안되면 어떻게 될까요?
  • API가 오류를 반환하면 어떻게 될까요?
  • 터치 디바이스에서 이 경험이 어떻게 동작할까요?
  • 어떤 지연 시간을 목표로 잡아야 할까요?

다른 사람에게는 지나치게 세심하게 보이는 것이 개발자에게는 정상입니다.

Conclusion

Vercel에서는 직무 설명을 업데이트하여 직급을 Fullstack에서 Product Engineer로 변경했습니다. 다른 회사에서도 같은 조치를 취하는 것을 보았습니다.

Product Engineer는 웹 개발 변화를 나타냅니다. 특히 인공지능이 부상하면서 “단순히 코드를 작성하는” 개발자보다 더 큰 그림을 이해하고 다양한 기술을 아우르며 최종 사용자에게 뛰어난 제품을 제공하는 데 집중할 수 있는 개발자에 대한 요구가 커지고 있습니다.

Further Reading

This post is licensed under CC BY 4.0 by the author.