2020년 말에 합류해서 벌써 3년차 개발자가 되었다
점점 성장을 경험하는 한해 였던거 같았다
회사생활
이제는 주니어라고 불리기 애매한 3년차가 되었다
아직도 내 실력은 주니어 같은데 회사에서 기대하는 능력은 3년차
그 이상의 것을 기대하고 있는거 같았다
SI -> Solution
대표님께 이제 SI 사업보다는 솔루션 개발을 직접적으로 참여하고 싶다고 했다
초기에는 SI를 통해서 실력을 올릴 수 있다고 생각했지만 한해 한해 지나면서
실력을 올리기에는 조금씩 힘들었던것 같았다 많은 이유는 있지만 그중에서 몇가지만 나열하자면
- 1년짜리 사업이라고 해도 정부사업이라 내가 만든 서비스를 수요기업에서 쓰는지 안쓰는지 모른다
- 트래픽이 아예 없기 떄문에 백엔드 경력을 쌓는데에 부족함을 느꼈다
- 사업을 이끌어가는 윗분들은 어짜피 남의 서비스를 만드는 거라고 생각하기 떄문에 디테일을 신경쓰지 않고 그냥 돌아가기만 한다
이것 말고도 많은 이유가 있지만 이 3개 때문에 많은 생각이 들었다
하지만 올해 들어서 많은 것들을 제안을 하고 많은 것들이 바뀌었다
주력언어의 변화
기존에는 AI팀과의 협업을 위해서 내 주력언어도 아닌 python으로 억지로 개발했다
분명 처음에 회사 왔을떄는 Nodejs 개발자를 뽑는다고 해서 왔는데 실상 개발은 처음 들어보는
노드레드로 개발을 진행하고 있었다.
나 뿐만 아니라 현재 회사에 있는 개발자들은 이게 기술적으로 정말 가치가 있나 라는 생각을 항상 하고 있었다
그래서 불편한 노드레드로 개발하기 보다는 python으로 간단하게 모델 연동하는 것으로 개발을 했다
하지만 이것마저도 바꾸었다 회사에서 처음 개발하는 솔루션은 백엔드 스택을 Nestjs로 정했다
많은 이야기들이 오갔다 Kotlin + spring boot, fastAPI, Nestjs 이 3개 중에서 정하기로 했었는데
현재 회사에는 이와 같은 상황이였다
- 코틀린으로 개발을 한다면 모든 개발팀이 코틀린을 새롭게 배워야 한다
- fastAPI로 개발을 한다면 AI팀과 협업은 좋겠지만 개발팀들이 별로 원치 안했다
- Nestjs는 Typescript를 배워야 한다 라는 단점이 있었지만, 기존에 Nodejs로 개발을 하던 분들이 꽤 있었기에
이걸로 결정했다
현재 Nestjs를 하면서 Nestjs에서 추구하는 백엔드의 아키텍처, Typescript 등등 많은 것들을 학습해야하지만
그래도 회사 끝나고 남아서 함꼐 공부하면서 성장하려고 노력했던 한해였던 것 같습니다
팀의 변화
기존에는 팀 없이 그냥 모든 개발자가 SI를 했지만 이번에 강력하게 말함을 통해서 솔루션팀이 생겼습니다
다들 처음이라 횡설수설 했지만 금새 적응했던것 같았습니다
제일 먼저 했던 일은 팀 문화를 만드려고 노력했던 것 같습니다
평소에 존경하던 향로님의 글 + 성장하는 팀들의 기술 블로그에 녹여져 있는 생각들을 우리 팀 식으로 많이 녹이려고 했습니다
- 신뢰 자본을 쌓기 위해서 노력하자
- 어느 누가 와도 알 수 있도록 문서화 하자
- 하고 싶은 일만이 아닌 해야할 일을 하기 위해서 노력하자
등등 여러가지가 있는데 나중에 채용공고에 녹일 수 있으면 좋을 거 같다
그래서 현재 우리팀에도 많은 변화가 생겼다
- 데일리 스크럼 도입
- 코드리뷰 도입
- TDD까지는 아니지만 테스트 코드 짜기
일단 이걸 시작으로 모두가 다 성장하는 조직을 만들기 위해서 노력하고 싶다
채용
처음으로 회사에서 면접관으로 들어갔습니다.
저는 면접관으로서 어떤 사람을 뽑을 지에 대해서 많이 고민해보고 질문했던거 같습니다
아무래도 국비학원 출신들이 많아서 주입식 대답을 하지 않는 사람을 뽑기 위해서 노력했던것 같습니다
- 우리 회사 개발자들과 어울리고 함께 이야기 할 수 있는 사람
- 성장을 위해서 어떤 노력들을 했는지 -> 나의 부족함을 알고 어떻게 채우려고 했는지
- 간단한 기술 면접
그렇게 해서 인턴 2명을 채용해서 현재 정규직으로 재직중인데 다들 회사생활에 잘 적응하고
성장하기 위해서 많이 노력하시는 거 같아서 기분이 좋았던 것 같습니다
하지만 3(AI-2명, 기획자-1)명이 퇴사했습니다.
가장 후회했던게 이들이 왜 퇴사했는지에 대해서 알지 못한 것이 가장 후회 됐던 것 같습니다
이들이 퇴사를 하면서 말하는 것들을 반대로 한다면 계속 다닐텐데가 될텐데 조금은 후회가 되었던 것 같았습니다
더 많은 이들이 적응해서 성장할 수 있는 문화를 만들어야 할거 같습니다
기술적 성장
원래는 항상 Controller - Dto - Service - Repository 이 순서로 백엔드 아키텍처를 짜려고 했다
그냥 내가 편한 방식이였으니까 이런 방식을 추구 했는데 회사 사람들과 같이 협업 하는 경우 누구는 이런 아키텍처를 사용하고
누구는 저런 아키텍처를 추구하고 이런 경우가 다반사였다 우리는 먼저 아키텍처를 공부해서 우리에게 어울리는 아키텍처를 선택해서 적용하려고 노력했다.
바로 바꾸지는 않고 지금 저 방식에서 클린 아키텍처로 바꾸는 방식으로 택해서 Domain layer - Application layer - Adapter - presentation layer를 공부해서
이번 프로젝트때 한번 도입하려고 하고 있다.
Github도 원래는 항상
- add
- commit
- push
- pull
- merge
이정도만 사용하면 됐었지만 프로젝트가 점차 커지니 충돌도 많아지고 여러가지 해결방법을 찾아가고 있다 git-flow, rebase, cherry pick, upstream 등등 여러가지 방법을 고민해서
우리에게 가장 어울리는 방식으로 하려고 많이 고민하고 도입했던 한 해 였던 것 같다.
서로 공부해서 성장하려는 동료들을 둬서 참 고마운 한해 였던 것 같다
```