좋은 프론트엔드 개발자란?

Daniel Woo·2022년 9월 19일
0
post-thumbnail

개발만 잘 하는 개발자

좋은 개발자가 되고 싶다. 그 중에도 특히, 프론트엔드 개발자는 어떠한 능력을 갖추어야 '좋은 개발자'가 될 수 있을까?

유명한 개발자들은 종종 개발자답지 않은 조언을 하기도 한다.

"기술적인 해결책에 매몰되지 마라"

아니 개발자가 개발하는 것 말고 더 중요한 것이 있을까? 나도 그렇게 생각했다. 물론 개발자에게 개발을 잘 하는 것은 바탕이 되어야 한다. 하지만, 우리 모두가 전 세계 개발자에게 인정받는 라이브러리를 만들거나 하는 최상급의 개발을 하지는 못할 수 있다. 즉, 개발을 잘 하는 역량은 일정 기준을 넘으면 다른 부분에 비해 중요도가 떨어질 수 있다.

그렇다면, 달리 중요한 역량에는 무엇이 있을까? 특히, 많은 것을 신경써도 되지 않아보이는 프론트엔드 개발자에게는 말이다.

우선 스스로 생각해보기로 하였다.

좋은 프론트엔드 개발자

비즈니스 프로젝트에서 프론트엔드 개발이 위치하는 영역은 무척이나 애매하다. 기획을 거쳐 디자인을 도출해내고 프론트엔드 개발이 시작된다. 다시 프론트엔드 개발은 백엔드와도 긴밀한 협업이 이루어진다. 기획자나 디자이너와 프론트 이전의 요구사항 때문에 논의가 오고가며, 프론트엔드에 최적화된 API를 요구하기 위해 백엔드 개발자와 얘기를 나누기도 한다.
이렇게 프론트엔드 개발자는 기획과 서비스 생산의 끝단 사이에서 많은 비즈니스 요구사항과 현실적인 개발 사이에서 혼란을 겪는다.

프론트엔드 개발자는 사용자가 비즈니스 상품에 더 자유롭게 접근할 수 있고, 사용자가 원하는 기능을 제공하여 좋은 사용자 경험을 전달하는 역할을 한다고 생각한다.
그러기 위해서 우리가 취할 수 있는 방법은 다양하다.

첫째, 뛰어난 개발 역량을 통해 좋은 경험을 전달한다. 컴포넌트 최적화, 클린코드 등 불필요한 렌더링 및 메모리의 사용을 줄이는 것으로 더 빠르고 부드러운 서비스 이용을 제공할 수 있다. 누구나 느리고, 무언가 끊기는 서비스보다 물 흐르듯 자연스럽고 로딩 지연 시간이 짧은 서비스를 선호할 것이기 때문이다.

둘째, 비즈니스 요구사항을 파악하여 기능 외적인 관점에서 비즈니스 문제를 해결한다. 기획과 멀어질 수록 맥락을 파악하기 쉽지 않으며, 비즈니스에서 최선의 선택을 할 수 있는 상황에서 제안하지 못하고 받아들이는 것으로 소중한 리소스를 낭비할 수도 있는 것이다. 모든 것을 기술적으로 풀어가지 않고 비스니스 우선도를 파악하여 유동적으로 조정할 수 있는 그런 개발자가 좋은 개발자라고 생각한다.

사용자가 원하는 기능의 본질을 파악하지 못하고 과도한 기술 도입으로 자신의 만족감만 채우는 것은 어찌보면 성숙하지 못한 개발자라고 할 수 있다. 비즈니스의 문제는 사용자의 요구에서 출발하며, 그것을 만족시켰다면 그 이상의 것은 과유불급이 될 수 있다는 것이다. 우선 사용자가 요구하는 최소한의 것만 개발, 제공하되 요구에 더 민감하게 반응하여 시장에 유동적으로 대응하는 것이 사용자가 진정으로 원하는 서비스를 제공하는 것이라고 생각한다.

profile
모두가행복한세상을만들고싶은사람

0개의 댓글