본문 바로가기
휴게소

1년 차 프론트엔드 개발자 회고

by Vintz 2022. 12. 29.
반응형

Photo by Steinar Engeland - https://unsplash.com/photos/hmIFzdQ6U5k

작년 겨울에 입사하여 다시 겨울이 왔다. 나는 프론트엔드 개발자로 일하는 1년 동안 방향을 잘 잡고 성장을 했을까?

 

이제는 회사생활에 대한 회고가 주를 이룬다. 1년 동안 나름 열심히 하다보니 부장님과 차장님도 열심히 도와주시고 팀원들도 나를 믿고 일을 맡겨주고 계신다. 회의를 통해 내 의견을 적극적으로 표현하고, 기회가 생기면 적극 활용했다. 모르는 것은 최대한 찾아보고 거침없이 질문을 드렸다. 그래서 불과 3개월 전과 비교해 보면 많은 개선들이 이루어졌다. 이를 통해 내가 회사에서 개인적이든 아니든 그 일에 대해 개선해볼 생각과 의지가 있다면 스스로 만족할만한 결과를 얻을 수 있다는 것을 느꼈다. 내가 다니고 있는 회사는 이런 것들에 대해 호의적이어서 행운이라 생각한다.

 

그리고 결정적으로 1년 차에 가까워지면서 성과를 내고 싶다는 욕구를 강하게 느꼈다. 업무 외적으로 개인공부를 열심히 해도 정작 '회사에서 자신있게 말할 정도의 성과가 없다면 누가 알아주나'라는 생각을 했던 것 같다. 내 노력으로 바꿀 수 있다는 믿음, 내 책임의 업무들, 성장하고 있다는 느낌, 좋은 대인관계, 대표님에 대한 신뢰 등이 맞물리면서 회사 만족도까지 높아졌다.

이것도 하고 저것도 하고

회사 만족도는 높아도 고민이 없진 않았다. 하나의 프로젝트를 진득하게 하지 못하고 중간에 다른 프로젝트에 투입되거나, 또 다시 되돌아가는 경우가 있었다. 이제 좀 집중하려고 하면 다른 업무를 봐야했다. 프로젝트 외에도 디지털 마케팅 회사의 개발자이다 보니 다른 업무도 많은 편인데, 그래서 전문성이 떨어지는 느낌을 받기도 했다. 나만의 돌파구를 만들어야 했다.

내가 하는 일

회사에서 Front-end 파트 개발을 하는 것 외에 하는 업무들은 반복성이 짙다. 광고주의 광고 패널과 사용자의 행동을 추적하는 자바스크립트 코드를 설치 및 운영, 개선하는 것이다. 일을 시작한 지 얼마 안됐을 때는 업무 비율이 프로젝트가 3, 스크립트 설치가 7 정도였기 때문에 고민이 정말 많았다.

 

어떻게든 프로젝트의 비중을 높게 두려고 안간힘을 썼기 때문에 현재는 프로젝트가 6, 스크립트 설치가 4 정도 되는 듯하다. 프로젝트에 집중하는 시간을 갖기 위해 회의 시간에 스크립트 설치 시간을 오전과 오후 파트 타임으로 나누자고 제안을 했다. 광고주가 대행 설치가 아닌 직접 설치를 할 때 질문에 대한 소통비용을 줄이고자 기존의 낡은 가이드 문서를 버리고, 최대한 자세하고 설명이 담긴 가이드 문서로 만들어서 관련된 광고 팀원들 모두에게 전달을 했다. 최근엔 광고팀과의 소통비용도 줄이려고 노력 중이다. 매주 회의 때마다 회의록 작성을 네이버 웍스 게시판을 통해 쓰는데, 꽤 쓸 만했다. 그래서 팁 공유 카테고리에 FAQ 글을 썼다. 지속적으로 조금씩 업데이트하다 보면 해당 글이 쏟아지는 질문 속 방파제 역할을 할 것이라 기대한다.

기술적인 성장은?

사내 서비스 중 하나가 메이저 버전 업그레이드를 하게 되었다. 그 전에 나는 기존에 여러 곳에 흩어져 있던 함수와 로직들을 통합하고 리팩터링하는 작업을 맡았다. 이 과정에서 많은 시행착오를 겪고 있다. 아직 진행 중인 작업이라 더 많은 시행착오를 겪고 난 후 따로 글을 쓸지도 모르겠다.

 

리팩터링 작업은 다양한 광고주의 사이트에 자바스크립트 코드를 설치하는 것이라서 충돌 없이 정상 작동하는 것이 가장 중요했다. 따라서 예상치 못한 에러에 대한 안전장치가 필요했고, 브라우저 호환성에 특히 신경을 썼다. Windows 8.1 또는 7과 같은 OS를 사용하는 경우엔 IE 사용자가 있을 수도 있기 때문에 IE 11도 지원해야 했다.

 

참고로 현재 MDN에서는 브라우저 호환성 목록에 IE가 빠져있다.

Firefox 오른쪽 자리에 있던 IE가 사라졌다. - MDN XMLHttpRequest 브라우저 호환성

그리고 바벨(Babel). 처음엔 바벨까지 도입할 시간이 부족하다고 생각해서 간단하게 Can I use로 IE 11을 지원하는지 하나하나 확인하면서 코드를 작성했다. 시간이 조금 지나서 ECMAScript 6 compatibility table이란 곳도 알게 됐는데 지원 목록을 한눈에 볼 수 있어서 굉장히 편리했다. 그래도 하면 할수록 바벨에 대한 필요성을 느끼게 되었고, 잠깐 테스트 해봤을 때는 간단하게 도입할 수 있을 것 같았다. 바벨을 공부해서 점진적으로 사용을 해볼 생각이다.

 

말로만 듣던 콜백 지옥과 if문 지옥도 보았다. 코드를 읽고 이해하는 데 더 많은 시간과 어려움이 있었다. if문과 콜백들을 간소화하기 위해 하나의 책임과 역할이 있는 함수로 나눴다. 그리고 전역 변수들을 최대한 함수 스코프로 옮기고, 중복되는 로직과 사용하지 않는 코드들은 같은 팀의 부장님과 대리님에게 확인 후 제거했다. 광고주 사이트에서 실행하는 코드이기 때문에 함수명은 일반적이지만 도메인을 추가하여 이름이 중복되지 않게 지었다.

 

이번에는 문서화 또한 신경을 썼다. 마침 트렐로에 카드 생성에 대한 컨벤션 논의가 이뤄졌고, 최대한 자세히 쓰기 위해 노력했다. 코드 레벨에서도 JSDoc을 통해 내가 아닌 다른 사람이 봐도 이해가 될 수 있도록 하고, 유지보수성을 높였다. 아직 시작한 지 2주밖에 안됐지만 느낀 것은 그동안 많은 부분들이 추상화 되어 개발에만 집중할 수 있도록 돕는 유용한 도구들이 있었다는 것이었다.

 

일은 어느 정도 익숙해졌고, 이제 동작 방식까지 깊게 이해를 한다면 더 많은 성과를 낼 수 있을 거라 기대하고 있다. 이런 기대감으로 인해 정말 재밌게 작업하고 있다. 그래서 이번엔 진득하게 집중해서 잘 끝내보고 싶다.

업무 외적으로는

업무 외적으로 개인 공부도 꾸준히 하고 있다. 블로그 글에 담지 못한 게 아쉽다. 글을 쓰다가 아쉬운 부분들이 생겨서 멈춘 것도 있고, 최대한 정확한 정보를 전달해야 하기 때문에 내가 제대로 이해하지 못하고, 확신이 들지 않아서 멈춘 것들이 많다. 내년에는 블로그 글을 꾸준히, 되도록 많이 쓰는 게 목표 중에 하나이다.

 

12월엔 개발자인 지인 분들을 상대로 자바스크립트의 메모리 관리에 대해 발표를 하기도 했다. 정말 떨리고 부담감이 있었던 발표였지만 나름 만족하고 재미있었다. 그 중 한 분은 고생했다며 모바일 커피 쿠폰을 주셔서 정말 기분이 좋았다. 테오의 스프린트 3기 멤버들은 여전히 소중하고 오래 가고싶은 분들이다.

 

개발자 글쓰기 책, 네트워크 책, 자바스크립트 책 등등 읽지 않은 책들이 쌓여 있다. 내년에는 꼭 읽어야겠다.

나는 좋은 방향으로 성장하고 있을까?

Photo by June Admiraal - https://unsplash.com/photos/6wX3n_sxaDw

방향은 조금 틀어지더라도 어쨌든 앞으로 나아가고 있다는 것은 확신한다. 방향이 틀어진 것 같으면 조금씩 고쳐가면서 조절을 하면 된다. 앞으로의 일이 어떻게 될지는 모르겠지만 회고를 통해 잠시 멈춰서 나아갈 방향을 조절하고, 블로그에 기록을 남겨 조금씩 나아가는 것이 현재 내가 생각하는 커리어를 좋은 방향으로 쌓을 수 있는 방법이다.

기타 느낀 점들

  • 협업을 잊지 말자. 프론트는 혼자 개발하더라도 라이브러리를 새로 도입할 땐 관련된 팀원들에게 동의를 구하자.
    • 도입하지 않을 이유가 없다고 생각해도 다양한 시선으로 봐야한다. 의견이 다를 수 있다.
  • 질문을 할 때는 프로젝트의 '목표'에 의의를 두자.
    • 감정에 너무 비중을 두지 말자. 그럴 땐 그냥 다음과 같이 생각하자.
    • '오늘은 기분이 안좋으신가보다. 다음에 다시 물어봐야지.'
    • '아, 괜히 죄송하네. 분위기 봐서 다시 물어보자.'
  • "빨리 배워서 도와드리고 싶습니다."라는 말을 들으면 어떨까? 나중에 이런 말을 들어보고 싶다.
  • 목표 달성을 하는데 방어적인 태도를 가질 필요가 없다.
    • 어떻게든 물어보고, 적극적으로 질문하다 보면 그 분야에 대해 잘 알고 계시기 때문에 보통은 잘 답변을 해주신다.
    • 무분별한 질문이 아닌 '내가 찾아봐도 잘 모르겠는 것', '해당 문제에 대해 시간이 많이 소요될 것 같은 것'과 같은 것들을 질문한다. 일하다 보니 요령이 생기는 것 같다.
  • 자바스크립트와 브라우저, 서버를 더 깊게 알고 싶다.
  • VSC 단축키를 거의 모두 아는 것 같다. 단축키 활용 고수가 되었다.
    • 유용한 익스텐션도 정말 많이 생겼다.
  • 레이캐스트는 생산성 도구에 있어 정말 최고다.
  • 회사에서도 집에서도 앉아만 있어서 허리 건강이 정말 나빠졌다.
    • 운동을 다시 하면서 건강관리를 해야겠다.

마치면서

그동안 3개월을 주기로 회고 글을 쓰면서 '아 이 내용을 주제로도 회고 글에 써야겠다.' 생각만 하고 지나칠 때가 많았는데, 그러다 보니 막상 글을 쓸 때면 놓치는 부분도 많았고 나중에 생각이 나서 아쉬울 때도 있었다. 특히 9개월 ~ 1년 차의 기간은 그때그때 느낀 것들이 많아서 쓸 내용들이 넘쳐났다. 그래서 이후로는 중간에 메모를 하거나 블로그의 임시저장 기능을 더 적극 활용해야겠다. 내년에는 더욱 성장하는 개발자가 되어보자.

반응형