입사한지 두 달 + 일주일이 지났다.
지난 달에 썼던 한 달 생존 일기 이후로 일주일 정도는 라이브러리를 익히면서 context 와 redux 에 대해서 공부를 했고,
그 후에는 바로 업무를 진행하게 되었다. 그럼 본격적인 업무를 한 건 딱 한 달이 되었다.
오랜만에 지난 달 일기를 읽어보니 감회가 새로웠다.
생각이 바뀐 것도 많고 느낀 점도 많아서 두번째 일기를 써보려 한다.
처음에는 모든게 새로웠고 뭐든지 배우면 도움이 될거라는 생각에 신나게 밤 늦게까지 일을 하고 주말에도 일을 했다.
그러다 보니 몸도 너무 안 좋아지는게 느껴지고 오히려 잠을 충분히 잘 때보다 집중력이 흐려져서 요즘에는 잠자는 시간은 확보하려고 노력하고 있다.
작업의 속도는 혼자 할 때보다 많이 느린 느낌이다. 그래서 계획한 시간보다 계속 일정이 밀리고 있고, 앞으로도 속도가 더 빨라질 수 있을지는 의문이다. 그러다 보니 계속 쫒기는 느낌이 들고 뭘 배우면서 하더라도 정리할 시간이 부족하고, 일을 하면서도 뿌듯한 느낌이 떨어져서 고민이 된다.
작업 속도가 느린 이유는 여러가지가 있지만 크게 세 가지라고 파악된다.
1. 인력 부족, 경력 부족
일단 우리 웹개발팀은 프론트쪽 인력이 나 포함 2명, 프론트와 서버를 반반(이라 쓰고 0.3 : 0.7 이라 읽는)하시는 분 1명, 서버개발자 1명 이렇게 4명이다. 나 & 반반 동료분은 리액트로 개발하는 게 처음이고, 나랑 같이 프론트만 하시는 개발자 한분은 리액트 개발을 1년 정도 하셨다고 하는데 주로 QA쪽을 하셨다고 한다.
아무튼 서버개발자 분(5년 경력) 빼고는 경력이 많은 사람이 별로 없고, 나랑 같이 프론트만 하시는 저 분은 개발을 오랜만에 하시기도 하고 경력이 아주 많지는 않으셔서 어떤식으로 풀어야 할 지에 대한 접근은 잘 하시는 것 같은데 코딩 속도가 빠르지는 않은 것 같다. 나야 뭐 말할 것도 없이 아직도 배울 게 많고 속도도 더 빨라져야 한다.
2. 라이브러리
일단 우리 회사에서 리액트와 함께 쓰기로 한 라이브러리는 '그로멧(Grommet)' 이라는 라이브러리이다.
보통 'meterial-ui' 또는 'ant-design'을 많이 쓰는 것 같은데, 우리는 그로멧의 infinite scroll 기능과 data table컴포넌트 기능이 필요해서 이 라이브러리로 진행하기로 결정했다.
그로멧 라이브러리는 story book의 ui만 보고 선택했는데, 개발을 하면서 보니 그 story book의 ui들이 하나의 컴포넌트가 아니라 엄청 많은 custom이 들어간 것들이어서 결국 우리가 필요한 것을 만들려면 거의 다 다시 만들어야 하는 번거로움이 있다. 게다가 상대적으로 meterial-ui 만큼 document 가 잘 되어있지 않고 다른 사람들이 많이 쓰는 라이브러리가 아니라서 레퍼런스가 많지 않다.
3. 협업
어디서나 느끼지만 협업은 참 필요한 것이면서도 잘 하기가 어려운 것 같다. 개발자가 되면 영업과 마케팅을 할 때보다 협업에서 오는 스트레스가 많이 줄 것이라고 생각했는데 꼭 그렇지만도 않은 것 같다. 어쨌든 각자의 코드 스타일이 있고, 코딩에는 정답이 없기 때문에 각자의 스타일이 다 다른데 이 부분을 합치면서 가야하니 충돌이 생길 수 있다. 나의 경우 내가 신입이고 나보다 더 경력이 많으신 분들의 코드 스타일을 따라가는게 맞을 것이라고 생각하며 최대한 맞추려고 노력하고 있다.
협업 툴로는 깃허브를 쓰고있는데, 이 깃허브가 참 편리한 것 같으면서도 코드 리뷰의 주기에 따라 양날의 검이 되는 것 같다. 저번 일기에는 브랜치를 각각의 기능별로 세세하게 따서 merge하는 것을 배워서 좋다고 썼었는데, 요즘에는 너무 많은 branch와 너무 잦은 PR 및 코드리뷰 때문에 진도가 안나가는 느낌이 든다.
단순하게 예를 들면, 티스토리 웹사이트의 경우 왼쪽에 레이어로 메뉴가 나오는 UI가 있는데, 이런 레이어를 우리가 만든다고 가정해본다. 이 경우 나같으면 (1) 티스토리 마크를 클릭하면 레이어가 열리고, (2) 메뉴 리스트가 나오고, (3) 메뉴를 누르면 링크로 넘어가는 세 단계를 다 만든 후에 '레이어 메뉴'라는 이름으로 한 번에 PR할 것 같은데 우리는 지금 각각의 기능들을 다 쪼개서 브랜치를 만들어서(토글 레이어, 메뉴 리스트, 메뉴 링크) PR하고 있다. 그러다 보니 1번에서 다른사람들이 컨펌을 안해주면 나는 2번을 고치고있다가 1번에서 수정되는 것들을 또 2번에 반영해줘야 하고 이런 번거로움이 있다. 그리고 PR을 올릴 때 기능 동작만 보는 것이 아니라 변수이름, 주석의 내용, 코드의 위치 이런 것들까지 세세하게 체크하고 수정하다보니 한 기능이 끝날 때까지 너무 오랜 시간이 걸린다.
이런 상황이다 보니 다같이 일은 늦게까지 하는데 진도는 안나가고 결과물도 없고 하니 경력이 좀 있으신 분들끼리 불화도 생길랑말랑 하고... 나는 쪼렙이라 일단 하기는 해야하는데...ㅋㅋ 하면서도 불만이 좀 생기는 상황이었다. 그치만 그 깃허브 브랜치와 코드 리뷰 방식을 제안하신 분(리액트 QA경력이 있으신 분)이 그런 작업방식을 고수하시고 설득이 되지 않아서 이 부분은 해결되기 힘들 것 같다.
이러던 와중에 들리는 소문으로는 우리 팀에서 중요한 역할을 하셨던 두 분이 곧 퇴사할 예정이라고 한다...ㅠ_ㅠ 성격도 좋고 배울 점이 많았던 분들이어서 나도 회사에 대해 긍정적으로 생각하고 있었는데 점점 걱정이 된다. 스타트업은 말랑말랑하고 융통성있고 사람들간의 결속력이 있을 것이라는 생각은 어쩌면 나의 편견과 오해였을 지도 모르겠다. 모든 회사는 케바케 사바사 팀바팀인 것이다!
그래도 좋은 점을 생각해보자면, 정말 빠르게 배우고 있는 것은 사실이다. 아직 잘한다고 말할 수는 없지만 두 달만에 나는 리액트 개발자가 되었고, 깃을 자유롭게 쓸 수 있게 되었다. 그새 자바보다 자바스크립트가 편해졌고(요즘 의도적으로 자바 코드는 안보고있다), 리액트로 복잡한 기능을 뺀 웬만한 기본적인 건 다 만들 수 있게 되었고 필요하면 라이브러리의 코드를 파서 내가 필요한 대로 커스텀 하는데에도 큰 어려움이 없어졌다. 위에서 진도가 안나가는 이유중에 하나였던 코드리뷰 덕분에 그래도 세세한 것들을 많이 배우게 된 것도 있다. 어떤 좋은 학원을 다닌다고 이렇게 빨리 배울 수 있을까? 게다가 돈도준다!!
요즘 뭘 보고 자꾸 연락을 주는지, 많은 회사에서 면접 메일이 온다. (오 그러고보니 생각지도 못했던 카카오에서도 연락이 왔었다!) 아직은 이 회사에서 좀 더 잘 해보고 싶어서 거절하고 있는데 어쩌면 슬슬 다른 상황에 대한 대비도 해야 할 것 같다는 생각도 든다ㅠ_ㅠ
그래도 일기를 쓰며 생각해보니 아직 두 달 밖에 안했는데 이 정도면 잘하고 있고, 많이 배웠다!
앞으로도 배울 수 있는 것 최대한 배우고 조금만 더 긍정적으로 버텨보자!
화이팅 :)
'개발공부일기' 카테고리의 다른 글
스타트업 신입개발자 다섯 달 생존기 (8) | 2021.11.13 |
---|---|
스타트업 신입개발자 세 달 생존기 (4) | 2021.08.28 |
스타트업 신입개발자 한 달 생존기 (8) | 2021.06.26 |
그 동안의 준비와 경험, 새로운 시작을 앞두고 (4) | 2021.05.25 |
[국비지원후기] 5.5개월 JAVA 국비지원 후기, 수업, 취성패, 학원추천 (30) | 2021.01.20 |
댓글