반응형

개발자로 살고 싶은데요 컨퍼런스 2일차. 오늘은 카카오의 김연지님과 토스의 진유림 님의 강연을 들었다.
Day 1에 장주란님, 조연님 강연에 대한 후기 및 요약도 작성해두었다.


카카오의 김연지님 : 다음, 카카오에서만 23년! 에디터 개발자는 어떻게 일할까?

기억을 더듬어 보면 내가 참여한 기능이 탑재되어 두근거리던 날, 의견이 다른 멤버들 사이 살얼음판을 걷던 날, 쏟아져 들어오는 버그 속을 허우적 대던 날이 쌓였습니다. 그때도, 지금도, 여전히 이 일이 재미있어요. 당시엔 몰랐지만 이제는 그 재미의 근원이 무엇인지 알 것 같아요. 제 얘기를 나눠드릴게요.

리뷰
특정 기술의 초기 단계에서 이걸 어떻게 회사의 서비스로, 회사의 도메인에 맞게 잘 사용할 수 있을까? 생각하셨고, 결국 아이디어를 내고 성공적으로 서비스하셨던 과정까지 멋있었다. 그리고 일을 잘하는 것에 대한 김연지님의 인싸이트를 듣게 되어 좋았음

1. 기술로부터 나오는 아이디어로 세상에 가치를 더하세요.

개발자가 아닌 분들은 아이디어를 내기 힘든 포인트(웹 에디터, 플래시 에디터)가 있다.

2. 시각을 바꾸면 업무를 재미로 만들 수 있어요.

  • 일에서 재미 찾기
    • 나에게 경험/성장이 되는 부분이 있는가
    • 어떤 요소를 살리면 흥미가 생기겠는가
    • 일의 재정의 : 이 일은 '000 프로젝트야,' -> 운영 업무를 하더라도, 스스로 새로운 목표를 세우고 그걸 기한내에 완수
  • 성장의 선순환 고리
    • 재미있다 -> 일에서 재미 요소 찾기
    • 많이 한다 -> 우리가 의도적으로 할 수 있는 유일한 것
    • 잘한다

3. 일을 잘한다는 것이란?

  • 나에게 일을 준 사람이 그 일에 대해 신경을 끌 수 있게 하는 것
    • 목적이 뭔지 파악한다
    • 예상과 달라지는 순간 바로 상황을 공유한다
    • 상대가 궁금해하기 전에 상황을 공유한다
  • "내가 여성이라서..." 이런 움츠려드는 마음이 든다면, 모든 이들이 여자라고 가정하고 판단해보자
  • 개발 분야는 결과물로 여성을 차별할 수 없다. 주니어 개발자분들 힘내시라!

토스의 진유림님 : 시니어 개발자 정체성 찾기

뒤돌아보니 7년의 시간이 흘렀습니다. 1년차보다 개발을 7배 잘하는 것도, 연봉을 7배 받는 것도 아닌 나는 개발자로서 어떤 정체성을 가질 수 있을까요?

리뷰
주니어들은 시니어란 무엇이고, 나는 어떤 시니어가 되고 싶은지에 대해서. 시니어들은 내가 길을 잘 가고 있는지, 의도적으로 어떤 역량을 수련해야하는 지 고민해볼 수 있는 시간이었다고 생각한다. 모두가 한번쯤 해봤을, 혹은 하게 될 커리어 고민을 시니어 개발자 정체성 찾기 라는 단어로 풀어가셨다. 접근 방법이 체계적이고 합리적이라서 인상적이고 재밌었다. 넘모 머싯는 분이어따.
시니어 개발자란 무엇인가 정의하기 위해 글로벌 IT 기업들에서 정의한 엔지니어링 레벨 을 설명해주시면서 시니어는 크게 테크 트랙과 매니저 트랙으로 나뉜다고 말씀하심. 그렇다면 나에게는 어떤 트랙이 맞을까? 이때 엔지니어링 레더 라는 툴로 개발자에게 필요한 자질 5개를 축으로 나의 현재 상황을 시각적으로 그려보고, 내가 원하는 트랙으로 나아가기 위해 어떤 축을 개발해야할 지 목표를 세운다고 말씀하심. 내가 원하는 트랙을 어떻게 찾을 수 있을까? 나의 강점이 무엇이고 어떤 것에 흥미가 있는 지 알기 위해 강점형멱 이라는 책을 추천해주심. 팀원들과 해보면 좋을것 같음.
진유림님은 커리어 설계를 위해 이미 많은 사람들이 연구해놓은 합리적인 기준(엔지니어링 레벨)과 나의 흥미와 강점을 토대로 목표(엔지니어링 레더)를 설정하고, 그 사이의 간극을 메우기 위해 어떤 액션 아이템들을 해나갔는 지 말해줬다. 

1. 상대적 기준의 시니어

  • 7년차는 시니어인가요? ^^.. 17년차는 초사이언 시니어인가요? ^^..
  • 시니어는 상대적이다! 회사의 규모, 팀 내 개발자 구성, 내가 팀/회사에서 얻은 신뢰, 시니어라고 불렸을 때 받아들일 용기(혹은 욕심) 등

2. 정량적 기준의 시니어

엔지니어링 레벨

  • 실리콘벨리 필두. 엔지니어의 숙련도를 나타내는 회사/팀에서의 레벨링 시스템
    • 연차, 기술 숙련도, 포지션 진급 등에 따라 판단.
    • 당연히 연봉에도 영향을 줌
  • 주니어 단계
    • 엔지니어 (lv 1) 인턴, 주니어. 개발을 시작하는 단계
    • Entry-level software engineer (lv 2) 기초 완성. 트러블슈팅이나 코드리뷰
    • Mid-level (lv3) 좋은 코드가 무엇인지 알고 있음. 몇개 언어에 익숙. 혼자 일할수도 있고, 레벨 1, 2 엔지니어와 협업해서 이슈 해결
  • 시니어 단계 : 테크 트랙
    • staff engineer (lv4) : 포괄적인 개발 지식 필요(백/프론트 구분없이). 디버깅 장인. 복잡한 이슈 해결. 시스템설계. 팀리딩. 주니어 멘토링
    • Senior staff enginner (lv5) : 큰 엔지니어링 프로젝트를 전문성있게 개발. 레벨lv4를 멘토링할 수 있고 기술 프로젝트를 리딩
    • Principal Engineer (lv6) : 테크 트랙에서 제일 높음. 중요한 프로덕트에서 ㅇㅇ. 리더십 필요
  • 시니어 단계 : 매니징 트랙
    • Engineering manager (lv4) : 팀 리드. 아키텍처 디자인, 창의성, 개발 등 다양한 분야를 아울러서 테크적 솔루션을 찾을 수 있음. 우선순위 결정. (개발을 손 놓는거 아님!)
    • Director of engineering (lv5) : 다수의 팀을 리드, 팀 리더나 EM들과 협업. 회사의 목표와 개발조직의 목표를 모두 이해
    • VP of engineering (lv6) : 높은 의사결정권자. 프로덕트 디자인과 출시에 대해 책임. 전략에 더불어 사람을 대하는 리더십 스킬 중요
    • CTO : 최고 의사결정권자. 임직원들의 테크, 커리어 성장에 신경
  • 회사마다 레벨 시스템이 다르다
    • 일반적 : 주니어, 인터미디어, 시니어, 스태프
    • 구글 : L2~L11
    • 애플 : ICT2~6
  • 10년 뒤의 나는 어느 레벨에 있을까?
    • 나의 특성은 어떤 트랙을 목표로 하는 게 좋을까요?
    • 어렵다. 1차원 레벨 말고 나를 다각도로 보고 싶다. → 엔지니어링 래더라는 프레임워크를 통해 나를 더 알아볼 수 있지

엔지니어링 래더

  • www.engineeringladders.com
  • 개발자에게 필요한 자질을 5가지 축으로 분류
    • 나의 그래프를 그려보고, 다음 단계로 나아가기 위해 어떤 축을 개발해야하는 지 시각적으로 볼 수 있음
    • 기술, 시스템 디자인, 사람 매니징, 프로세스적립, 영향력
    • 오각형 모양에 따라 Developer, Tech Lead, Engineering manager, Technical Program Manager
    • Developer(IC) : 현력 개발이 제일 즐거워!
    • TL : 설계 및 아키텍쳐 - 개발, 매니징 모두 하지만 개발 쪽에 조금 치중?
    • EM : 팀원 성장, 개발 흐름 최적화
    • TPM : 기술 베이스 프로젝트 관리스킬. 여러 팀이 연관된 프로젝트들을 조정. 컨텍스트 스위칭 능력이 필요시니어가 탈 수 있는 트랙
    • 진유림님 앤지니어링 래더 현재와 목표. 그리고 그 갭을 줄이기 위한 세부 목표
 

Introduction

A framework for Engineering Managers

www.engineeringladders.com

3. 개발과 매니징 밸런스

  • 시니어 ≠ 매니저
    • 시니어 레벨로 나아가면서 슬슬 매니징을 고려하게 된다. 나보다 경력이 적은 분들이 입사하면서 자연스럽게
    • 경력이 길어도 굳이 매니저로 가지 않고 엔지니어로 실무 하는걸 선호하는 사람도 대다수
    • 못봄
  • 점점 개발할 시간이 없어짐
    • 하루에 커밋 한두개도
    • 월화는 원온원만..
    • 트윗 : 요즘 우울해 댓글 : 개발 좀 했어?
    • 지인, 면접 본 분 모두 매니징보다는 개발하고싶다라고 느낌
    • 매니저 트레이닝
  • 나는 언제 활기찬가?
    • 사람과 소통할 때
      • 테크 이야기로 소통할 때
      • 소프트스킬 이야기로 소통할 때
    • 혼자 개발할 때
    • 같이 개발할 때
    • 팀의 생산성을 올렸을 떄
    • 팀원의 고민 상담을 들어줬을 때
  • 나는 어디에 강점이 있나?
    • 강점혁명 : 40분간 문제에 답하면 나의 강점 상위 5개를 알려주는 테스트 (2.7마넌짜리 책)
    • 팀에서 함께 해보세요! 혼자 하는 것 보다 팀에서 워크샵 형태로 할 때 진정한 빛을 발함
    • 팀원들의 나의 강점에 객관적인 시각을 불어넣어줌
    • 사람들마다 성향이 정~말 다르다는걸 깨달음
    • 팀원이 지금까지 왜 그런식으로 일했는지 이해할 수 있음
    • 개인의 특이성이 강점이 될 수 있고, 이를 드러내 함께 토론해서 이 특성을 팀에 어떻게 잘 써먹을 지 이야기함. 이로인해 나의 특이함이 온전히 포용받을 수 있음
  • 강점강화 액션아이템 찾기
    • 컨텍스트스위칭이 힘드니 여러 개의 일을 동시에 처리해야하는 일보다는 — 보다는 하나의 목표를 쭉 달려야하는 업무를 맡기자
    • 다른 사람의 차이점과 강/약점을 발견하는 것을 잘하니, 채용/면접에 채용해보자
  • 기대 효과
    • 개인
      • 내 커리어의 방향이 어렴풋이 잡힌다
      • 메타인지 : 기술이 아닌 본인의 강점을 외면하는 경향이 있는 분들. 이에 대한 조급함 해소 및 나 자신을 믿을 수 있는 계기
      • 팀에서 다양한 개발자를 포용한다는 메시지 전달
      • 서로 다름을 이해

4. 시니어는 만들어지는 것이다

  • 연차가 쌓인다고 주니어가 시니어가 되지 않는다
    • 아무것도 모르던 신입에서 1인분 하는 개발자가 되기까지는 비교적 자연스럽게 성장할 수 있음
    • 하지만 1인분 이상 하는 개발자가 되려면 의도적인 수련이 필요함
  • step 1. 외부에서 리딩
    • 당장은 회사에서 기회가 없을 수 있다. 외부에서 적극적으로 멘토링/리딩 기회 찾기
    • 단발성 기술, 경험발표도 좋지만 긴 호흡의 멘토링/리딩도 해보기
    • 루비콘, 넥스터즈, 오픈소스 컨트리뷰톤 등 기수가 있는 단체에 멘토로 자원
    • 인프런 멘토링
    • 목표 : 중고 시니어가 되자!
  • step 1+a. 팀을 위한 개발
    • 문제를 해결하되, 내 해결로만 끝내지 않고 팀을 위한 유틸을 만든다
    • 혁신 포인트 찾기
    • 번외 : 컴포트존 벗어나기
      • 투두 중 내 커리어를 확장시킨 것에만 체크함
      • 한동안 하다보니 방향이 잡혔는지 굳이 체크하면서 안해도 대다수의 것들이 커리어 확장으로 감
  • step 2.
    • 팀원 1인 집중마크 코칭
      • 사수하기 (공동사수 논의)
      • 위임의 미덕(생각 이상으로 그들은 훨씬 잘 해낸다)
      • 대시보드 : 업무 시간에 하는 모든 테스크, 고민, 공부중인 것, 느낀점 등을 모두 적은 대시보드 생성. 목적은 신규입사자분이 어떤 고민을 어느정도 볼륨을 들여 하고 있는지 파악. 입사 후 무엇을 했는지 기록하여 추후 수습 리뷰에도 도움이 되길 바람
      • 회사 활개치고 다니기 (회사 이곳저곳 탐방, 소개, 같이 커피마시기가 도움이 되었다고 함)
      • 인간적 신뢰 쌓기
      • radical candor 안전지대 (실리콘밸리의 팀장들 이란 책에서 나온 개념)
  • 고기 잡는 법을 알려주지 마세요
    • 방법을 알려주는 게 아닌, 구체적인 목표를 명확히 제시
    • 목표까지 그가 어떤 방식으로 가는지는 신경 ㄴㄴ
    • "제가 기대하는 0님의 한 달 뒤 모습은 X 프로젝트의 Z 책임을 모두 가져가는 거에요" 라고 희망하는 목표를 제안
    • 해결책을 알려주는 게 아닌 구체적인 문제를 제기
      • X -> 방금 회의에서 우선순위 설정이 안되었네요. X부터 하나씩 이러쿵 저러쿵 하면 어떨까요?
      • O -> 무멋이 제일 중요한 안건이었는 지 모르겠어요. 다음 주 월요일 회의에서는 이게 명확히 보였음 좋겠어요.
  • step 3. 팀 리딩
    • 저도 안해봐서 모릅니다!
  • 회사가 날 시니어로 받아주지 않는다면
    • 시키지 않더라도 매니징
    • 소그룹 리딩(회의 진행, 안건 모으기) 서기부터 시작해봐도 좋다
    • 주도적으로 원온원 신청
    • 면접에 활발히 참여

5. 액션 아이템 정리

  • 강점 찾기
  • 시니어 다운 행동 모으기
  • 서기, 스크럼마스터부터 시작하기
  • 주위 사람들에게 원온원 걸기
  • 커리어 래더 그려보기
  • 회사 외부나 내부에서 멘토링
  • 피드백 받기 하기 : 래디컬 캔도어

Q&A

Q. 매니저로부터 일정 논의를 하다 보면 저도 모르게 압박을 받게 되고 일을 빨리 처리해야 할 것 같은 부담감이 생기는데, 매니저와 현명하게 소통할 수 있는 방법이 궁금합니다.
프로다움은 빨리 처리하는게 아니라 일의 경중을 판단하는 것도! 일을 거절하거나 새로 제시할 수 있어야함. 일정 지키는 것에 압박받는 것 보다는, 이 일을 왜 이정도 경중으로 다뤄야하는지 묻기/생각

Q. 기술 트렌드를 따라가지 않는 회사에서 계속 개발을 해야 할까요? 제이쿼리가 아닌 다른 기술로 프론트를 하고 싶은데, 5년 차에 벌써 세 번째 회사라 다른 기술을 위해 또 이직을 하기엔 고민이 많습니다. 혼자 공부하려고 하는데 매일 야근이 따르고 있어 쉽지 않네요. 방향을 잡고 싶어요!
잦은 이직은 아니다. 스타트업에서도 어떤 이유가 있을 거라 이해할 것이다. 일단 이직을 추천하기는 하지만 회사를 바꿔보려고 노력을 해보길 바란다. 이직을 할 때 이력서에 제이쿼리로 이만큼 했습니다! 당연히 써야하지만. 제이쿼리에서 어떤 문제점을 느꼈고 이걸 해결하기 위해 어떤 노력을 했는지를 쓰셔야함

Q. 업무 외적으로도 개인 공부를 하셨을 텐데 어떻게 시작하셨나요? 만약 같이 한 사람들이 있으셨다면 어떤 네트워크로 사람들을 모아서 하게 됐나요? 어떻게 공부를 하시는지?
대책없이 시작하는 편임. 원하는 곳에 나를 미리 갖다놓는 편(환경을 바꾸시는 듯). 발표 준비도 안되었지만 신청을 해본다던가. 현재의 나보다 훨씬 잘하는 회사를 지원해본다던가. 주니어떄는 개인공부 많이헀는데 요즘에는 테크 공부보다는 문제 해결을 어떻게 잘 할 수 있을 지 고민하고 있음. 영어공부도 목적없이 하면 잘 안됐고, 외국에서 나중에 일해보고 싶었기 떄문에 그 중간 단계로서 한국에 있는 외국계 스타트업(제플)에 취직했음.

Q. 스타트업에서 스타트업으로 이직하실 때마다 그 회사를 선택하신 기준이 있는지 궁금합니다!
그때 그때마다 기준이 달랐음. 내가 원한느 목적에 맞는 회사. 그리고 어떻게든 그 회사 사람을 찾아내서 티타임을 요청. 그냥 무작정 요청하는 건 아니고 이러이러한 상황인데, 화상이든 내가 찾아가든 궁금한걸 물어보고 싶다 여쭤봄. 가서 검증함. 이 사람은 회사를 좋아하는지, 회사 분위기는 나랑 맞는지 등등

Q. 나이많은 주니어 2년차의 고민은, 시니어로 가야하는데, 뭔가 더 준비해야하는데 이런 조급함이 있어요. 나이빼고 연차로만 실력 역량 강화에 집중하는 게 맞을까요?
중요한 것은 자기 스피드. 앞으로는 나이많은 주니어들이 더 많이 쏟아질 것. 그렇게 마이너한 포지션은 아니라고 생각함. 나이 적으면서 개발 잘하는 분들 많지만, 나이가 많은데 연차가 적으신 분들?은 생각보다 되게.. 빨리 배우심. 1-2년차로 볼 수 없을 정도로 잘하심. 짬바이브? 내 나이에서 오는 장점들도 최대한 객관적으로 생각해보시길 추천

Q. 내가 어느 트랙에 좀 더 맞는지는 어떻게 알 수 있을까요? 주니어 시절부터 어떤 트랙으로 갈지를 정해두어야 한다고 생각하시나요?
정해두는 건 아니라고 생각함. 하다 보면 내가 뭘 더 좋아하는 지 감이 오게 된다. 오늘 말씀드린 트랙을 그냥 염두만 해두시고 천천히 내가 더 끌리는 곳으로 가다보면 시니어 트랙을 타고 있을 것이다.

Q. 프로세스 역량을 개발하고 싶어하셨는데, 이 과정에서 찾은 컨택스트 스위칭은 어떻게 관리하셨는지 궁금하니다. 요즘 3~4개 프로젝트를 동시에 진행하다보니 컨택스트 스위칭이 너무 힘들어 고민입니다!
한 회사에 오래 있다 보면 나에게 주어지는 책임의 장르가 다양해짐. 투두리스트 작성해서 우선순위를 설정하고 그 순서대로 다시 정렬! 위에서부터 하나씩 쳐내면서 내려가기! 저는 그런 방식이 도움이 많이 되었습니다.

Q. 아까 예시 중에 '고기 잡는 법을 알려주지 마세요'의 예시인 '제가 기대하는 모습은 ~~ 책임을 갖는 거예요' 라는 말을 제가 딱!! 팀장님께 들었던 말인데요, 저는 이걸 들었을 때 내가 어떻게 해야 하는지 도저히 감이 안 잡히더라고요.... 이런 얘길 처음 들었을 때 헤매는 사람은 어떻게 길을 찾아갈 수 있을까요?
일단 질문자분께 그런 이야기를 했다는 건, 기대치가 있다는 뜻으로 보인다. 혼자 생각해보시는 게 좋을 거 같고. 하지만 혼자 생각하는 데에 한계가 있으니까. 이런 식의 코칭은 주기를 짧게 가져가야하는 게 중요한 거 같다. 혼자 삽질할 기간을 줄이고 어떤 노력을 하고 있는지 빨리 파악하고 빨리 피드백을 주는게 중요하다고 생각함. 그래서 질문자님도 팀장님께 중간 피드백을 자주 받고 싶다고 제안한다거나, 먼저 요청을 하시길! 만약 이런 말을 해주는 팀장님들이 없다면 그냥 나보다 연차가 많아보이는 분들꼐 그냥 찾아가서 물어보고 피드백 받는 것도 하나의 방법같다.

Q. 마지막으로 하고 싶은 말
작년쯤에 중니어의 고뇌라고. 주니어에서 중니어로 넘어가는 시점에 했떤 발표가 있는데. 그때 짰던 액션 아이템을 어떻게든 해내서 이제는 시니어의 고뇌를 하고 있게 되니 감회가 새롭. 혼자 고민하지 마시고 본인 고민을 공표하시라. 언젠가는 성장한 자기 자신을 만날 수 있따.

반응형