# 시니어 개발자의 조건? 기술과 태도 관점에서 고민해보기 # “Scope & Impact: 시니어의 역할을 정의하는 핵심요소” #제가 벌써 시니어라고요? #직무 고민 해결 세미나 # 시니어 개발자 세미나
1. 들어가기 앞서
요새 들어, 오프라인 개발 행사에 참여하는 것에 재미를 붙이고 있다. 2024 DevCon에서 당근마켓의 박미정님께서 “팀장이 되고서야 알게된 잘하는 개발자의 비밀” 라는 주제로 발표를 하셨는데, 이때 필자는 다른 세션을 듣느라 발표를 듣지 못했다. 함께 컨퍼런스에 갔던 동료 개발자분께서 위 발표가 상당히 좋았다는 말씀을 주셔서 궁금했던 찰나에, 미정님께서 비슷한 주제로 발표를 한다고 링크드인에서 올려주셔서 좋은 인사이트를 배우고자 세미나 참여를 신청했다.
세미나는 서울가족플라자에서 우먼테크교육플랫폼이라는 기관 주최하에 “직무 고민 해결 세미나” 에서 “제가 벌써 시니어라고요? 라는 주제로 두명의 연사자분께서 각각 20분간 발표를 해주셨다. 발표는 각각 20분씩 진행되었고, 이후 사전에 취합한 질문과 현장에서 받은 질문을 포함하여 QnA가 약 30분간 진행되었다.
세미나 정보
필자도 연차가 조금씩 쌓임에 따라, 어떻게하면 조금 더 좋은 시니어로 거듭날 수 있을까?를 점점 생각하고 고민하게 되는 시간들이 늘어나고 있었다. 시니어 개발자이자 매니저로써 오랫동안 경험을 쌓아왔던 두분의 연사자분께서 본인들이 생각하는 시니어 개발자란 무엇인지, 그리고 어떻게 하면 좋은 시니어 개발자가 될 수 있는지에 대해 인사이트들을 배울 수 있었던 것 같다.
1.1. 기억에 남는 말씀들
•
문제가 정말 해결되었는가? 근본적인 문제를 찾아서 해결하는 역량이 필요
•
배포가 끝이 아니다. 문제라고 생각해서 어떤 임팩트를 내겠다고 결과를 나타내어 추적하는 것이 중요
•
현재 우리팀에 부족한 역량은 무엇인지? 그것을 찾아내서 실행하는 것이 시니어가 할 수 있는 역할
•
혼자만이 아니라, 주변 동료나 조직에게 영향력을 발휘하여 변화를 유도할 줄 알아야 함
•
비즈니스 관점에서 생각해볼 필요가 있다. 우리가 구현한 것이 얼마나 비즈니스적으로 영향력이 있는지?
•
지속적으로 넥스트 레벨을 꾸준히 보여준 사람이라면 적절한 위치로 데려다 줄 것이다.
•
좋은 리더란 방법을 제시하는 사람보다는 방향을 제시하는 사람
2. 세미나 내용 요약
2.1. 시니어 개발자의 조건? 기술과 태도 관점에서 고민해보기 By 박미정님
2.1.1. 사람에 대한 영향력
•
솔직함 → 개인의 성장과 팀 프로세스/문화 개선에 영향
◦
불편함 드러내기
◦
내가 모르는 불편함을 말하고, 내가 아는게 진짜인지 의구심이 드는 불편함을 말하기
◦
팀의 일하는 방식에 대한 불편함 말하기
•
공유 & 피드백 → 팀 신뢰도 향상과 개인 성장 영향
◦
빠르게 공유하고 피드백 수용하기
•
꼼꼼함 → 개인 성장과 팀 결과물 품질에 영향
◦
한 걸음 더 생각하고 디테일 놓치지 않기
•
지식전파 → 팀 전파 문화와 신뢰도 향상 영향
◦
경험과 지식을 꾸준히 나누기
2.1.2. 일에 대한 영향력
•
우리가 일을 하는 일련의 과정
◦
분석 → 설계 → 구현 → 테스트 → 배포 → 추적
•
일련의 과정에서 시니어는 어떻게 일을해야하는가?
시니어의 역할 | |
분석 | 1) 해결해야하는 문제가 무엇인지? 정말 해결을 했는가?
예) 서버가 다운된 상황에서 서버를 재시작했더니 서버가 정상 동작됨
이는 정말로 해결된게 아님. 근본적인 문제는 쿼리 페이지네이션이 없어서 발생
근본적인 문제를 찾아서 해결하는 역량이 필요
2) 이 문제를 해결하면 어떤 임팩트가 있는지?
- 일을 판단하여 어떤 성과와 임팩트가 있는지 판단 |
설계 - 배포 | 1) 일을 계획하는 것
- 일을 어떻게 작게 쪼개고, 어떤 일을 먼저 할지? 일의 선후관계가 무엇인지 파악 필요
- 일을 쪼개다보면 각 단위 작업에 필요한 역량들을 도출할 수 있음 → 적절히 팀원들에게 할당 가능
2) 적절한 방법 / 해결책은 무엇인지?
- 우리팀 어울리는 최적의 방법을 선택할 수 있는 역량
- 여러가지 솔루션들 중 리소스, 환경, 결과 품질 등의 기준을 바탕으로 선택 |
추적 | 1) 문제가 정말 해결되었는가?
2) 배포가 끝이 아님. 새로운 서비스 릴리즈 했을 때, 초기 분석 시 도출한 가설과 비교 필요
- 문제라고 생각해서 어떤 임팩트를 내겠다고 결과를 나타내어 추적하는 것이 중요
- 이것이 성과와도 직결됨 |
•
일에 대한 범위가 넓어지기를 기대
◦
하나의 프로젝트뿐만 아니라, 컨텍스트가 늘어날 수 있는 상황에서 다양한 일을 핸들링할 수 있어야 함
•
이 모든 역량들을 시니어가 한번에 하기는 어려움
◦
발상의 전환이 필요
◦
현재 우리팀에 부족한 역량은 무엇인지? 그것을 찾아내서 실행하는 것이 시니어가 할 수 있는 역할
◦
성장의 시작은 부족한 것을 찾아내는 것
2.2. Scope & Impact: 시니어의 역할을 정의하는 핵심 요소 By 김지선님
발표 내용 중 일부는 외부에 공유하지 않을 것을 요청 주셔서 아쉽게도 간단히만 정리합니다.
2.2.1. 시니어의 정의
•
시니어를 정의하는 키워드들
◦
강력한 리더쉽
◦
풍부한 경험을 가짐
◦
조직내의 멘토
◦
다양한 조직과 협업 가능
◦
깊이있는 기술 스킬 보유
◦
시장/트랜드 분석 가능
◦
탁월한 커뮤니케이션 스킬
•
시니어란?
◦
North Star / Path Finder
◦
주변 동료에게 좋은 길잡이가 될 수 있는 북극성
◦
길을 찾고 해법을 찾을 수 있는 사람
2.2.2. 무엇이 주니어 시니어를 구분하는가?
•
A라는 가상의 개발자를 평가할 때, 주니어때와 시니어때에 따라 판단 기준이 다름
•
주니어때는 개발 역량, 문제 해결 능력 등으로 높은 평가를 받을 수 있음
•
그러나, 시니어 개발자로써는 그 이상의 역량들이 필요함
◦
조직에 긍정적인 영향력을 주어 변화를 주고,
◦
본인의 경험들을 많이 확장하며,
◦
비즈니스 임팩트에 기여하고,
◦
불확실한 문제를 명확히 할 수 있는 것
2.2.3. 요약
•
처음 입사 이후, 시간이 지나며 시니어가 됨에 따라 더 넓은 범위에 역량을 발휘할 것이 기대됨
•
첫 입사 시
◦
내 업무
◦
나의 기술 스킬
◦
팀의 일꾼
•
시간이 지나면
◦
팀의 업무
◦
팀의 기술 스킬
◦
팀 내 멘토
•
시니어
◦
본부 전체의 업무
◦
본부 구성원의 스킬
◦
본부의 멘토
◦
조직 전체의 방향
◦
조직 전체의 목표
•
cf) 승진의 철학이 훌륭한 회사
◦
연차는 크게 중요하지 않음
◦
지속적으로 넥스트 레벨을 꾸준히 보여준 사람이라면 적절한 위치로 데려다 줄 것이다.
◦
연차에 상관없이 다같이 일을하고 조직의 목표를 함께 바라볼 수 있는 태도로 일을 하면 좋을 것 같음