우리 팀은 RnR이 있다가도 없고 없다가도 있는 유연한 팀이다.
당연히 사내 메신저 개인 프로필에도 써있는 한 줄짜리 역할 정도는 모두가 갖고 있다.
나에게는 그 역할이
Frontend Engineer
이긴 하지만 지난 1년 동안 내가 팀에서 한건 이 한 단어만으로는 설명하기 부족하다.기획 아이디어
PM님이 해결하고 싶은 문제를 어떻게 풀어야 할지 고민하실 때 다같이 아이디어를 내보기도 한다. 나도 프론트단에서 처리하면 좋을지, 아니면 아예 새로운 기능을 추가해야하는지, 어쩌면 기술적으로만 접근할 필요가 없는지 등 다양한 관점에서 고민해보려고 노력한다. 꼭 회의를 잡지 않아도 임베디드 개발자든 백엔드 개발자든 각자의 관점에서, 서로의 관점에서 이것저것 얘기하다보면 누군가 툭툭 던지는 말로 실마리를 찾을 때도 있다.
내가 개발자로서 기술로 기여한건 아니었지만 팀의 문제 해결과 목표 달성에 조금이라도 기여했다고 처음으로 느낄 수 있었던 순간이었다.
문서
와이어프레임 설계와 기능명세서도 작성한다. 타 파트와 PM님과 함께 필수 요구사항과 사용자 경험, 편의성 등을 고려하며 화면에 대한 전반적인 설계도 진행했다. 기능명세서에서도 화면에 관련된 부분들을 모두 작성했다.
디자인
디자인에도 참여했다. 초기에 참여했던 프론트 개발자분들이 모두 퇴사하시면서 이 프로젝트는 초기 히스토리를 정확하게는 모르는 중간에 합류한 개발자끼리 마무리하게 되었다. 그래서인지 중간에 변경된 컴포넌트 UI나 디자인 시스템들이 잘 정리가 안되어 있었다. 그래서 디자인 시스템을 최신화하고 정리하는 작업을 진행했다. 또, 추가 기능에 대한 디자인은 자연스럽게 프론트엔드 개발자의 몫이 되어 열심히 레퍼런스들을 찾아보며 디자인했다.
게다가 새로 시작한 다른 프로젝트에서는 아예 첫 단계부터 참여했다. 이 과정에서 UI/UX를 많이 배울 수 있었고 내가 디자인부터 실제 구현까지 앞단의 모든 부분에 참여한만큼 개발자와 협업하는 디자이너의 입장을 누구보다 더 잘 이해할 수 있게 되었다.
다만, 최대한 다양한 상황과 trade-off에 대한 고민들을 하다보니 소요 시간을 잘 예측하지 못해 일정 관리에 어려움을 겪기도 했다.
개발
당연히 본업에서도 최선을 다했다.
컴포넌트를 적절히 쪼갰는지,
공통 컴포넌트는 어디까지 재사용 가능하게 만들어야 할지,
이 함수는 한 가지 역할만 하고 있는지,
불필요하게 중복된 코드는 없는지,
등등…
서버 개발자분들과 API 명세도 조율하며 무슨 데이터를 어떻게 주고 받아 어떻게 처리할지에 대한 논의도 하며 화면들을 개발했다.
내가 제일 잘하는 것은 뭐든 적당히 대충하는 법 없이 최선을 다한다는 거다. 아직 많이 부족하고 배워야 하는 것들이 많아 결과적으로는 완벽하지 않을 수 있지만 내가 일단 맡게 되면 할 수 있는 최선을 다한다. 결과적으로보면 문어발로 이것저것 해본 것처럼 보일 수도 있지만 그 이것저것들에 최선을 다하는 게 내가 성장하는 방법이라고 믿는다.