넥슨코리아

넥슨

개발팀 리뷰

위 내용은 넥슨코리아 전 • 현 재직자의 응답 결과입니다.

기술 스택

언어

Java

데브옵스

Spring

REST API

Kubernetes

AWS

재직자가 좋아한 글

좋은 개발자가 알아야하는 9가지 포인트들 - 6. 운영 고려 코드 작성  |   1. 기본기 확실히 하기 2. 학습 능력 키우기 3. 의사 소통 잘하기 4. 문제 정의 잘하기 5. 태스크 완료 시간 추정 잘하기 6. 운영을 고려한 코드 작성하기 7. 서비스 사고 대처 능력 키우기 8. 결과를 내는데 집중하기 9. 영향력 갖기 (코딩 멍키) 개발자로 전문성에 너무 집중하면 나는 개발 이외의 다른 업무에 관심없다고 생각하거나 개발 밖의 일을 하는 것이 내 커리어에 도움이 안된다고 생각하기 쉽다. 앞서 글에서 자주 언급했지만 커리어는 내가 맡은 업무를 통해 성과를 내며 팀플레이어로 일을 할 때 발전한다. 성과를 낸다는 관점에서 중요한 포인트는 내 업무 바깥이라도 필요하다면 하나의 팀으로 도와주며 일을 할 필요가 있다는 점이며 이는 작은 회사에서는 더 필요한 역량 아닌 역량이다. 보통 작은 회사에서 다양한 일을 하다보면 전문성이 없다고 생각하고 연차에 맞는 역량을 갖고 있는지 의문을 많이 갖던데 조금 다른 포인트이고 따로 글을 써보려고 하지만 "연차"가 주는 잘못된 압박감도 만만치 않은 것 같다. 각자 자기의 길을 따라 쌓는 것이 연차이기에 남과 비교하며 나는 뒤쳐져 있나 조바심내기 보다는 내가 맡은 일에 성과를 내고 있는지 그리고 성과를 내기 위한 학습을 하고 있는지에 초점을 맞출 필요가 있다. 내가 만든 코드가 잘못 동작할 때 고생할 다른 사람들을 생각하면 코드를 작성하는 것부터 시작해서 다양한 대화 채널을 만드는 것이 하나의 팀으로 일하는 방법 중의 하나이다. 예를 들면 다음과 같은 것을 들 수 있다. * 에러 메시지를 기술적인 지식이 없는 사람들도 이해하고 액션을 취하기 쉽게 만든다. 이것만 잘해도 CS팀과 영업팀과의 의사소통의 질이 올라갈 뿐만 아니라 개발자 본인의 문제해결도 쉬워진다. * 관련해서 서버 단에도 로그를 최대한 많이 심어두면 고객 관련 불만이나 장애 등이 생겼을 때 문제 해결이 쉬워지며 이는 다음 포스팅에서 이야기할 서비스 사고 대처 능력을 키우는 기본 자세 중의 하나가 된다. 로그를 남기는 것에 대해서는 다음 회에 더 이야기해보겠다. * CS팀과 영업팀과 주기적인 소통을 통해 고객과의 대화를 통해 그들이 느끼는 고통을 느껴봐야한다. CS팀과 같이 많이 들어오는 티켓이나 큰 문제의 가능성을 보여주는 티켓을 리뷰해보는 것이 중요하다. B2B단이라면 영업을 담당하는 AM(Account Manager)들과 비슷한 프로세스를 만들어보는 것이 필요하다. 하지만 좋은 의도로 요청이 들어올 때마다 문제해결을 하려고 하다보면 정작 다른 일을 못하는 문제가 생기에는 사람이 바뀌어도 돌아가는 형태로 협업이 정착되려면 프로세스를 만드는 것이 중요하다. 아마존의 순서파괴(Working Backwards)에서 이야기한 "Good intentions never work, you need good mechanisms to make anything happen"가 기억해야할 점이다. 즉 좋은 의도만으로 일이 돌아가지는 않는다는 점이며 계속 돌아갈 수 있는 프로세스를 만드는 것이 필요하다. * 이 부분은 프로덕트 매니저가 리드하는 것이 일반적이긴 하지만 개발자들도 새로운 기능이 추가되거나 기존 기능이 변경되는 경우 관련 팀에 뉴스가 미리 전달되어야 한다는 점을 명확하게 인지하고 관련해서 노력을 기울여야 한다. 이게 안되면 CS팀이나 세일즈팀이 고생한다. 릴리스 노트 공유가 잘 이뤄지는 것이 운영단의 어려움을 크게 줄인다. 개발자니 개발만 잘 하면 된다고 생각할지 모르지만 결국은 의사소통 능력이며 이 중의 하나는 내가 만든 결과물로 인해 고생할지도 모르는 사람들을 고려한 개발을 하고 많이 대화해보면서 개선하는 거다.

좋아요 138 저장 242