2022년 돌아보기
2021년에는 창업하고 8년간 다녔던 회사를 떠나고, 아예 다른 업게인 스타트업 회사에 들어갔다. 새 회사에서 받은 느낌들을 여기 정리해보겠다. (입사 첫 해에 반 년 다닌 걸로는 내가 새로운 환경에 신나서 쓰는 것과 구분이 안될것 같아서 올해 몰아서 쓴다) 아래는 떠오르는대로 쭉 써본 내용.
- 게임 회사랑 게임 관련된 것을 만드는 회사를 다니다가 웹 서비스 만드는 회사로 가면서 걱정은 좀 했는데, 생각보다 바뀌는 것은 없더라. 프로세스나 VM이 죽었을 때 신경을 훨씬 덜 써도 되는 정도의 차이가 있고. 실시간 멀티플레이 있는 게임 서버가 죽으면 저장 안되는 상태가 있을 수 밖에 없으니 이건 뭐 어쩔 수 없나 싶기도 하다. 같은 프로세스가 수 대 - 수십 대 (정말 잘된 경우 수백 대) 정도에서 수십 대 - 수천 대에서 돌리는 환경으로 옮긴 것도 있는 것 같고.
- 개인적으로 느낀 제일 큰 변화. 사무실에 서버 머신이 하나도 없다. 이전 회사는 코드 저장소, 리뷰 도구, CI 서버, 그리고 개발 환경을 모두 사내에 두었고 이걸 위한 별도의 서버실과 전기 공사가 필요했었는데, 옮겨보니 이거 다 클라우드에 두고 다. 이 부분 덕에 원격 근무하긴 더 편했던 것 같다. VPN 대역폭 모자라서 삽질하는 경우도 없고. 이런 방향이 비용은 좀 더 비쌀 것 같은데 인원 수가 더 많으니 1:1로 비교하긴 어렵겠지 (특히나 관리 비용 측면에서?)
- 경력 기간 내내 C++과 python을 주로 썼는데, 이젠 golang 을 주로 쓰는 환경으로 넘어왔다. 이전까지 짠 go 코드가 100줄 정도일텐데 다행히 적응 잘해서 잘 쓰고 있다. 대략, type있는 python같은 느낌. 코드 구조는 C 언어에서 OOP하는 것처럼 작성하고 있음. 역시 나중에 나와서 test를 짜는게 기본 내장인 언어는 편하다는걸 다시금 느끼고 있다. C++에선 정말 모든 수준 (전처리기, 컴파일 시간, 링크 시간)에서 손목을 비틀어서 테스트하는 느낌이면 나중에 나온 언어들은 이게 쉽거나 (python, C#, java, …) 아예 언어 툴체인/런타임 수준에 기본 내장(rust, go, …)된게 상당히 편리.
- 주 작업 환경이 랩탑이 되었다. 회사 모든 개발 환경은 (SWE기준으로) macOS 랩탑이다. 어쩌다보니 go만 쓰는게 아니고 python이랑 java도 쓰는 사람이 되었는데 – 20년 다 되어가는 경력 중에 최초로 Java가 나와버렸다. Orz – IDE는 VSCode 하나로 처리하는 중. (사내에서 추천하는 툴들은 JetBrains 꺼긴한데 내가 선호하는 툴은 아니라서) 전에는 원격으로 맥북엔 VSCode 에디터만, 원격에 language-server와 다른 툴체인을 돌렸는데 이젠 다 랩탑에서 돌리니 메모리 요구량이 빡쎄다. 16 GiB는 부족한듯. 그래서인지 회사에서 연초부터 지급하던 랩탑은 메모리 32 GiB더라 + 요청하면 바로 새거 준다곤 하던데…; 내년 3월에 M2 맥북 프로 새로 나올거라는 루머가 있으니 그것만 믿고 버티는 중.
- On-premise랑 AWS만 쓰다가 GCP로 넘어옴. GCP는 제공하는 서비스의 성숙도가 너무 들쭉날쭉한데, BibQuery나 bigtable은 state-of-the-art 라고 생각한다. GKE도 좋다는데 내가 AWS ECS나 EKS를 안써서 비교를 못하겠네. 다만 GCP compute은 정말 좀 어떻게 해줬으면 좋겠다. EC2 쓰다 이거 쓰면 화낼 사람 좀 나올 것. GCS는 S3만큼 편하진 않은데 그냥 저냥 괜찮은 것 같다.
- 어쩌다보니 relational DB 하나 없이 GCP에서 제공하는 bigtable과 firestore를 주 대상으로 작업하는데 두 개가 극단적으로 달라서 재밌으면서도 빡칠 때가 있고 뭐 그렇습니다.
- 다른 엔지니어링 조직이 북미에 있어서 업무 시간을 오전으로 땡길 수 있는 건 매우 좋음. 나중에 (과연?) 이직을 해도 유럽 쪽이랑 주로 일하는 곳은 가지 말아야겠다.
- 이직하면서 IC만 해야지 했는데 이건 절반의 성공. L4로 입사해서 L5로 승진했는데, 결국 TL은 하고 있다.