멋진 개발자가 되고싶다. 『개발자로 살아남기』 을 읽고 든 생각
2021년 1월부터 나는 개발자로 일하기 시작했다. 햇수로 따지면 3년 차 개발자이지만 당당히 3년 차라고 말하기엔 스스로 부족한 점이 많이 보인다. 정말 어려운 문제를 성공적으로 해결한 경험도 많지 않고, 여럿이서 어떻게 역할을 잘 분배해야 문제를 효율적으로 풀 수 있을지도 잘 모르는 햇병아리다. 솔직히 많이 헤맸다. 선배랑 얘기하면서 많이 울기도 했다. 내가 지금 이렇게 일을 하는 게 맞는지 잘하고 있는 건지 전혀 감이 오지 않았다. 그렇게 폭풍 속에서 헤매다 보니 3년 차가 되었다. 사실 지금도 헤매는 중인 것 같다. 근데 달라진 점이 있다면 주위에 더 붙잡고 물어볼 사람이 많아졌다는 거다. 좋은 사람이 옆에 많아지니 더 자신감이 생기고 의욕도 붙는 것 같다.
『개발자로 살아남기』는 정말 주변에 개발자인 친구에게 모두 추천하고 싶은 책이다. 일단 특히 나는 이 책을 통해서 많은 공감과 감명을 받았다. 내가 회사에서 어떤 거를 어떻게 왜 하고 싶은지를 깊게 깨달았고, 이 글은 나의 다짐과 앞으로 어떤 일을 할 건지 선언하는 글이다.
이 책은 개발자의 30년 커리어 패스를 각 10년으로 나누어 설명한다. 첫 10년은 엔지니어링 역량을 키우는데 쏟고, 그다음 10년은 매니지먼트 역량을 키우는 데 사용하고, 마지막 10년 동안은 비즈니스 역량을 키워낸다. 스타트업에게 정말 감사한 점은 연차가 차지 않았음에도 매니지먼트와 비즈니스 역량을 키울 수 있다는 것이다. 스타트업을 다닌다면 이를 이점으로 생각하고 개발 역량뿐만 아니라 다른 쪽으로의 역량도 키우기 위해 노력해야 한다.
엔지니어링 역량을 키우는 데 필요한 기술은 총 3가지다. 개발에 대한 기본 지식, 제품에 대한 이해, 개발 주기 지식이다. IT 산업은 10년만 지나도 매우 크게 변해있다. 따라서 꾸준히 새로운 것을 받아들일 마음가짐으로 공부해야 한다. 𝜋자형 인재가 되어야 한다. 개발은 협업의 연속이기에 하나의 기술만 잘할 줄 알면 안 된다.
엔지니어링 역량을 키우기 위해 나는 이런 것을 할 것이다.
- 새로운 버전의 프레임워크 사용 제안하기. 예시: pandas 2.0, pytorch 2.0 사용하고 좋다면 제안하기.
- ML+Ops를 하는 𝜋자형 인재가 된다. 예시: CI/CD 방식을 점검하고 향상시킨다.
- 개발 프로세스를 점검한다. 현재 엔지니어분들이 개발할 때 어떤 불편한 점이 있는지 고민하고 개선한다. 예시: 유닛 테스트가 어려운 점을 개선한다.
매니지먼트 역량을 키우는 데 필요한 기술은 총 3가지다. 프로젝트 관리, 팀 관리, 프로세스 관리이다. 한정된 비용으로 정해진 시간까지 요청된 기능을 개발하도록 매니징하는 것이 프로젝트 관리다. 팀 관리는 모든 팀원이 팀의 방향성을 알고 그 팀에서 자신의 강점이 무엇인지 파악하고 충분히 기여할 수 있도록 환경을 제공하는 것이다. 프로세스가 잘 정립되어 있어야 동일한 실수를 하지 않고 갈수록 더 빠르게 성장하는 회사가 된다.
매니지먼트 역량을 키우기 위해 나는 이런 것을 할 것이다.
- 빠른 주기로 상황을 파악하여 일정을 업데이트한다. 예시: 지금은 거의 1달에 1번 타임라인을 재구성하는데 더 짧은 주기로 타임라인을 다시 리뷰하면서 수정할 필요가 있다.
- 시간 아끼기. 예시: 어떻게 하면 ML 실험을 더 빠른 주기로 할 수 있을지 혹은 자동화할 수 있을지 고민한다. 더 효율적인 미팅을 모색한다.
- 함께 일하는 엔지니어분들에게 주기적으로 피드백을 드려 이슈가 있다면 파악하고 자신감을 드린다.
- 역량 성숙도 모델 1단계인 사내에서 모두가 같은 용어를 사용할 수 있도록 한다. 예시: 코드상의 헷갈리는 네이밍은 수정한다.
비즈니스 역량을 키우는 데 필요한 기술은 총 3가지다. 인사 시스템, 비즈니스 관리, 비전, 목표, 조직 문화다.
비즈니스 역량을 키우기 위해 나는 이런 것을 할 것이다.
- ML 엔지니어 채용 과제 개선한다. 실제로 우리가 현재 풀고 있는 문제와 최대한 얼라인하여 적합한 인재를 채용할 수 있도록 한다.
- 가능하다면 ML 엔지니어 채용 프로세스에 참여해본다. 지금은 어떻게 면접이 이뤄지고 있는지 잘 모르기에 파악이 우선이다.
- ML 엔지니어 온보딩 프로세스를 만든다. 실제로 우리가 어떤 방식으로 실험하고 제안하고 반영하는지 알려드린다. Python을 사용할 때, 어떤 점을 지켜야 하는지 어떤 라이브러리를 쓰는지 소개한다. 이를 하기 위해서는 우선 우리 개발 문화의 문서화를 더 상세하게 해야 한다.
책을 읽으면서 내용이 너무 좋아서 거의 하루 만에 다 읽었다. 의욕도 더 생겼다. 더 다양한 방면으로 성장하고 싶다. 결과적으로 성장한 나를 가진 회사가 나로 인해 더 성장하면 좋겠다.