je개발 회고

[ je 개발 회고 ] L 프로젝트 (2) - 기획과 디자인까지 제가 다 하는 거군요. 예.

Je-chan 2024. 2. 21. 00:01

1. 당혹스러운 일감들

  기획과 디자인을 내가 해야 한다고 처음 들었을 때 굉장히 당황했다. 그도 그럴게, 나는 기획과 디자인을 할 수 있는 전문적 지식이 없었다. 특히 기획의 경우, 내가 담당하는 도메인은 태양광 발전을 주로 타겟을 하고 있다 보니 우리 회사에 오기 전까지 한 번도 접해본 적 없는 분야였다. 인버터니, 환경 센서니, 계전기니, RTU 를 통한 데이터 수집 등등... 지금이라면 알지만, 당시에는 잘 몰랐으니 많이 막막했다. 특히, 나는 저번에 H/F 프로젝트를 진행하며 그 데이터들을 이해하는 것도 벅찬데 이제 새로운 데이터를 다시 공부해야 하다 보니 더 어려웠다. 심지어 이번에는 남이 기획해주는 것을 파악하는 것이 아니라 기획을 하고 디자인을 해야 하는 단계. 그래도 다행히 팀장님께서 많은 도움을 주셨기에 다행이었지만 여간 쉬운 일이 아니었다. 

 

  디자인도 마찬가지다. 물론, 프론트엔드 개발이란게 고객을 상대로 데이터와 정보를 직관적이고 이해하기 쉽게 보여주는 것이 역할이지만 당시 나는 개발 공부에만 몰두했기 때문에 UI/UX 에 대한 지식이 전무했다. 

 

  내가 직접 기획하고 디자인하고 개발까지 한 페이지가 지금까지 총 21 페이지 정도 된다. 내 마음에는 썩 들진 않지만, 그래도 내가 그렇게 참여한 도메인이 제품으로서 팔리니 나름의 뿌듯함을 느끼기도 했다. 

 


2. 마주한 고난들과 헤쳐 나가기

2-1) 열정은 있었으나 지식이 없었다.  

  처음에는 열정이 넘쳤다. 그래도 내가 이것을 맡아서 한다는 것에 대한 책임이 있었고, 이 도메인의 핵심 근간이 되는 데이터들을 내가 만든 페이지를 통해서 관리한다는 것에 대한 자부심이 있었다. 그렇기 때문에 처음에 굉장한 열의를 보이면서 기획하고 디자인하려 했다. 

 

  하지만... 뭐든 열정만으로 되는 것은 아니다. 지식이 없으니 제대로 된 컨텐츠를 기획하고 디자인할 수가 없었다. 좀더 정확히 설명하면 기획에 있어서는 도메인 지식이 부족했고, 디자인에 있어서는 사용자의 관점으로 바라보는 것이 부족했다. 도메인 특성상, 전력 시장의 운영 방침과 시시각각 바뀌는 정책에 컨텐츠가 바뀌는데 이를 팔로우업 하는게 쉽지 않았다. 특히나 정책은 더 심했다. 처음에는 어떤 시스템을 도입한다고 해서 그에 맞는 컨텐츠를 준비하고 개발을 다 맞춰 놨더니 갑자기 파토가 나는 바람에 공개를 할 수 없는 페이지가 된 것도 있다. 그리고 어떤 페이지에서는 어떤 발전소를 대상으로 모니터링을 하는 컨텐츠가 있는데 이 발전소가 어떤 유형이냐에 따라서 컨텐츠에서 필요한 것이 있고 불필요한 것이 있었다. 그런데 우리는 대부분의 발전소 사업자가 필요로 하는 정보를 기반으로 모니터링을 만들었으나 특수한 두 개의 발전소 사업자가 필요로 하는 컨텐츠가 있어 급하게 수정한 것도 있었다. 이렇듯이 초반에, 심지어 요구사항이 무엇인지도 모르는 상태에서 기획하는 것 자체가... 정말 쉽지 않았다. 진짜 정말 쉽지 않았다. 

 

이를 해결하기 위해서 두 가지의 전략을 택했다.

 

2-2) 그래서 열정적으로 질문하고 공부했다.

(1) 질문하기. 질문하기.

  정말 질문 많이 했다. 일단 첫 번째로 팀장님께 질문을 많이 했다. 기획을 하면서 그나마 다행이었던 것은 팀장님께서 페이지를 기획하기 전에 배경을 쭉 해주셨고, 이게 무슨 데이터인지, 무엇 때문에 필요한 정보인지 등을 질문하면 엄청 잘 대답해주셨다. 진짜 팀장님 아니었으면 망했을 것 같다. 

 

  두 번째로 페이지에서 전달하려는 핵심 정보에 전문지식을 갖고 있는 다른 부서의 팀원 분에게 질문하러 가기도 했다. 몇 페이지는 아무런 요구 사항 없이 우리가 스스로 정보를 찾아서 기획을 해야 했다 보니 짧은 지식으로는 컨텐츠를 구성하는데 큰 어려움이 있었다. 만약 팀장님도 해당 정보에 대한 깊은 지식이 없으셨던 경우 아예 다른 부서에 찾아가서 데이터와 정보에 대해 물어보고 평소에 이런 데이터들을 다룰 때 어떤 기능이 있었으면 좋겠다 생각하셨던 게 있었는지, 자동화되길 원하셨던 게 있었는지 물어봤다. 그리고 이를 바탕으로 페이지를 디자인 했다. 

 

 

(2) 많이 보기. 공부하기. 

  많이 보고 많이 공부했다. 기획하는데 있어서는 실제 [소규모 전력시장 운영 규칙] 전문을 읽거나, KPX 에서 제공하는 자료들을 보고 우리 도메인에 어떻게 적용하면 좋을지를 고민했다. 뉴스나 이메일로 오는 뉴스레터에서 우리 도메인과 관련된 정보가 있으면 한 번 더 보기도 하고, 진짜 정책이 계속 바뀌다 보니까 정책이 어떻게 바뀌었고, 또 일정이 언제로 미뤄졌고, 캔슬됐는지를 계속 봤다.

 

  그리고 디자인에 있어서는 책을 정말 많이 읽었다. UI/UX 와 관련된 책과 자료들을 많이 읽기도 했고, 데이터 시각화와 관련된 책들도 읽으면서 노션과 github 로 정리를 쭉 해놨다. 그리고 UI/UX 나 데이터 시각화는 다른 팀원들도 궁금해 했던 영역이라 해당 내용들을 노션으로 문서화해 정리해서 공유하고 발표까지 진행했다. 발표를 하면서, 현재 우리가 개발하고 있는 도메인 나아가서 우리 회사 도메인에서 가장 미흡한 부분들을 지적해 개선해야 한다고 발표했고, 발표하면서 언급했던 "페이지 루프" 와 같은 기능들은 실제로 시간을 들여 개발해서 도입했다. 공부한 내용들이 실제 도메인에 적용되고 실제로 부문장님이나 다른 사용자들이 편리하다는 평을 받아 공부를 허투루 하지 않았다는 생각이 들었다. 

 

2-3) 나는 개발자인데... 

  기획과 디자인을 하면서 힘들었던 것 중의 하나는 내 개발자로서의 정체성을 찾는 것이었다. 개발에 대한 피드백을 받기 보다, 기획과 디자인에 대한 피드백을 더 많이 받은 것 같다. 코드 리뷰를 받기 보다는 디자인 리뷰를 받았다. 아무리 공부했다 하더라도 전문성을 갖기에는 짧은 시간이었기에 미흡한 부분들이 많이 있었고 "이 정보는 필요 없다", "왜 이렇게 디자인을 했는가" 등 기획과 디자인에 대한 피드백을 많이 받았다. 아마 내가 받은 피드백의 90% 이상이 이쪽 관련일 것이다. 그렇다 보니 마치 기획과 디자인을 하는 것이 프론트엔드 개발자의 필수 역량인 것처럼 느껴지고, 실무에서는 내 스스로 개발 능력을 기르는 것보다 UI/UX 친화적으로 디자인 하고 스토리 보드를 짜는 것이 더 중요한 역량인 것처럼 느껴질 때가 많았다. 내 전문 분야는 개발인데 말이다. 

 

  이게 나를 가장 힘들게 했다. 

 

2-4) 나라는 특별한 개발자

  그런데 스스로 되짚어 본다. "개발자" 는 어떤 일을 하는 사람인가? 예전에 내가 유튜브 <노마드 코더> 에서 봤던 영상이 떠올랐다.

 

 

 

 

  기획과 디자인을 하면서 스스로 많이 힘든 시간을 보냈다. 나는 아직 자바스크립트 동작 원리에 대해서도 완벽하게 이해하지 못했고, 컴퓨터의 동작 원리나 네트워크에 대한 지식이 미흡하다. 개발자로서 알아야할 컴퓨터 지식이 미흡하다. 

 

  하지만, 그럼에도 내가 걸어온 길은 개발자의 길이었다. 나는 사람들에게 쓸모 있는 것을 만들어 내기 위해 공부했고, 노력했고, 실제로 반영과 개선에 성공했다. 아직도 페이지 루프라는 기능에 대해서 긍정적인 의견을 들을 때마다 뿌듯하다. 페이지 루프가 있어서 편리하고다는 얘기를 듣고, 이제 화면을 기획하는 데 있어서 페이지 루프 기능은 필수적으로 생각한다. 또 차트를 디자인할 때, 어떻게 디자인하면 좋은지 사수쪽에서 먼저 의견을 먼저 물어봐주시기도 하고 내가 던졌던 우리 회사의 문제점에 부문장님을 비롯해서 동의를 얻었다. 

 

  이렇게 해서 나는 다른 2년차 개발자들보다 조금 더 전문화된 것이 있다면

 

 

  나는 사용자 친화를 깊이 있게 고려하는 개발자다.

 

 

 

3. 기획과 디자인에 대한 앞으로의 방향

  물론, 그렇다고 해서 내가 기획과 디자인에 지금처럼 개발보다 더 많은 시간을 투자하고 싶다는 얘기는 아니다. 회사 분들 대상으로 UI/UX 를 발표할 때도 언급했지만, 나는 UI/UX 를 디자인 하는 사람이 아닌 UI/UX 를 깊이 있게 이해하는 개발자가 되고 싶다. 기획을 아주 완벽하게 해내는 개발자보다, 도메인에 대한 지식이 깊고 어떤 정보가 사용자에게 유용한 정보이며 어떻게 전달해야 더 직관적인지를 알아내는 개발자가 되고 싶다.

 

   그런 점에서 지금 내게 주어진 환경을 이용해서 내가 가고자 하는 방향성에 맞게 공부하고, 내가 예전부터 되고 싶었던 "동작 원리를 이해하는 개발자", "내 생각이 녹아 든 코드를 작성하는 개발자" 가 되는데 회사에서의 시간이 부족하다면 개인적인 시간을 투자해 공부하도록 할 것이다.