je개발 회고

[ je 개발 고민 ] "개발자 100일 기념 - 0일차의 나보다 발전한 점"

Je-chan 2022. 5. 1. 23:04

  개발자 100일 기념으로 0일차의 나보다 더 발전한 점에 대해서 생각해보고 글을 쓰려고 한다. 작년 7월 코드 스테이츠를 시작해서 아주 기초를 배우고 1월 중순에 개발자 1일차를 시작했다. 그렇다면 지금 나는 코드 스테이츠에서 수료하기 전과 후로 어떤 차이가 있고, 어떤 면에서 성장했는지를, 월등하게 성장했다고 생각하는 점들만 기록해보고자 한다


1.  데이터를 다루는 능력

  가장 첫 번째로 데인터를 다루는 능력이다. 데이터를 잘 다룬다는 것을 의미하지는 않고, 적어도 0일차와 비교했을 때 굉장히 큰 성장폭을 보였다고 생각한다. 그도 그럴게 지금 내가 다루고 있는 도메인이 정리가 하나도 안 된 데이터들을 정리한 후 유의미하게 가공해서 비교, 분석하는 기능을 제공해주고 있다. 현재 내가 벡엔드를 하고는 있지 않지만 도메인 기획을 내가 하고, 그 기획에 맞춰서 데이터들이 어떻게 분류할 수 있고, 만들 수 있는 카테고리는 몇 개고, X 축으로 어떤 기준을 잡을 수 있고, 동일한 조건으로 비교 분석할 수 있는 데이터들은 어떻게 나뉠 수 있고 동일한 조건은 아니지만 유의미하게 비교할 수 있는 데이터들은 무엇이며 그걸 비교하기 위해서는 어떻게 조건을 맞춰줘야 할지에 대해서 고민하고 있다. 

 

  맨 처음에 이 데이터들을 마주했을 때 진정 멘붕이었다. 데이터를 시각화 해주는 거는 통계의 영역도 없지 않아 있었기 때문에 그런 쪽으로는 정말 1도 몰랐던 나는 사수와 팀장님이 말씀해주시는 내용들을 따라가는 것만으로도 많이 벅찼다. 지금도 솔직히 따라가는 게 벅차기는 하지만, 그래도 이전보다는 빠르게 요구사항이 무엇인지를 파악하고 내가 생각하는 몇 가지 의견을 제시할 수 있게 되었다. 진짜... 데이터 파악과 분류가 너무 힘들었다. 필터링 조건은 어떻게 되는지 이런 거 하나하나 고민하는 게 조금 벅차기도 했다. 하지만, 지금은 그래도 데이터들을 어떻게 다뤄야할지 어느정도는 감이 잡힌 거 같아서 다행이다. 

 

  우리 회사가 어느정도의 빅데이터라 불릴 만한 데이터들을 다루고 있기 때문에 앞으로도 이런 일들이 종종 있을 거 같다. 경험을 쌓아서 이런 데이터들을 사용자들에게 잘 시각화해줄 수 있을지에 대한 고민도 열심히 해봐야할 거 같다. High-charts 공식문서 열심히 봐야지...

 

2. 라이브러리 공식 문서를 읽고 도입하는 능력

  개인적으로는 이 능력이 가장 월등하게 높아지지 않았나 싶다. 코드 스테이츠에서 프로젝트를 할 때는 새롭게 배워서 도입한 라이브러리가 Socket.io 하나 였다. 솔직히 이건 그나마 쉬웠던 게 노마드코더 강의도 있었고, 사람들이 많이 사용해서 그런지 소스 코드나 오픈된 정보들이 많았다(물론, 서버까지 다 작업해야 했기 때문에 겁나게 어려웠다) 그런데 이번에 사용하는 도메인에서는 그 조금의 소스 코드 얻기도 힘들었다. 일단 내가 다뤄본 적이 없었던 라이브러리를 사용해보거나 수박 겉핥기 식으로 쓰던 라이브러리를 심도 있게 다뤄야 하는 상황이 많았다. 그렇기 때문에 라이브러리에 대한 검색을 많이 해봤는데 대부분의 라이브러리들이 새롭게 나오기 시작하거나 많은 사람이 사용하고 있지 않은 라이브러리라서 공식문서의 내용을 거의 3회독 정도로 봐야만 했다.

 

  예를 들어, 현재 Vue 가 Vue3 로 버전업 하면서 Vue 와 관련된 많은 라이브러리르들이 3 버전에 맞추기 위해서 리뉴얼한 라이브러리들을 계속해서 만들고 있다. 대표적인 게 Pinia, Vitest, vue3-date-time-picker 등이 있다. 현재는 심지어 이것들은 내가 도메인 개발하는 와중에 버전 업을 또 하고 있었다(아직 개발중인 단계에 있는 거 같다) 그중 가장 하이라이트는 Ag-grid 였다. 이건 진짜.. 파면 팔수록 새로운게 계속 나오고 있어서 지금도 완전히 이 라이브러리를 자유자재로 다룰 수 있다고 말할 수 없을 거 같다.

 

  이번 도메인의 한 페이지를 만들면서 위의 라이브러리에 대한 공부를 진행해야 했고 특히 Ag-grid 의 경우에는 굉장히 심도 있게, 깊이 있는 학습을 해야했다. 영어로 된 공식 문서를 어떻게든 꼼꼼하게 하나하나 읽고 어떤 기능들이 있는지, 내가 사용할 수 있는 기능은 무엇인지 따로 적어서 보관했다. (아 맞다.. Vue 3 공식문서 한글 번역해야하는데 이거 또 언제 하냐..) 그렇게 라이브러리에 대한 공부를 하니까 몰랐던 기능들을 새롭게 알게 돼서 이거 도입하면 좋겠다고 생각해서 원래 처음 계획할 때는 없었던 기능들이 추가되곤 했다(기술 도입이 같은 라이브러리에서 쉽게 이뤄질 수 있기 때문에 가능했던 것) 

 

  덕분에 지금은 새로운 라이브러리를 학습하는 거나 심도있게 학습하는 것에 대해서 거리낌이 전혀 없어졌다. 어차피 라이브러리에는 내가 원하는 정보들을 다 담고 있기 때문에 라이브러리 사용중에 "아 있을 것 같은데?" 하면 일단 라이브러리 공식문서를 찾아보는 습관이 생겼다(본래라면 구글링부터 하겠지만 내가 지금 사용하고 있는 라이브러리들은 오픈된 정보가 거의 없기 때문에 공식문서에 그런 내용이 있는지부터 먼저 찾아보게 되었다 - 그런데 구글링하면 있는 경우가 가끔씩 있어서 구글링부터 하는 습관을 다시 기르려고 노력하고 있다)  오히려 땡큐다. 라이브러리를 쓴다는 게 공부할 양이 늘어난다기 보다는 오히려 내가 일하기 편해진다는 것을 깨달았다. 그래도, 라이브러리를 사용할 때는 명확한 이유가 있어야할 것, 그리고 그 라이브러리를 어떻게 하면 만들 수 있을지 생각해보는 습관은 계속 지니도록 해야겠다.