일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- cache miss
- 향로
- varchar
- redis
- 분산시스템
- 비동기
- spring actuator
- 결제누락
- Docker
- buildx
- ECR
- 레디스
- explain
- SMTP
- M오더
- AWS Lambda
- 페이징
- 성능개선
- health check
- 인프런
- 실행계획
- Spring
- ALB
- 이메일 비동기
- url 단축기
- 포트원
- JMeter
- 동시성 문제
- transcational outbox
- scheduling
- Today
- Total
jjunhub
신입 개발자로 잘 성장하기 본문
부제 : 인프런 CTO 향로에게 배우는 커뮤니케이션과 팀워크의 정수
계기
현재 인턴으로 재직중인 회사에서 커뮤니티 기반 모임을 월마다 개최하고 있다. 이번 모임에는 평소에도 유튜브를 챙겨보고 있는 인프런의 CTO 이동욱(향로)님께서 아래와 같은 주제로 1시간 세미나를 진행해주신다기에 신나서 참가하게 되었다.
주니어를 위한 CTO 특급 과외 with 인프런 이동욱 CTO
개요
아래는 강의 내용을 듣고 내가 들은대로 정리한 것이다. 무조건적인 사실이 아닌 개인의 의견이지만 주니어 개발자뿐만 아니라 사회초년생에게도 도움이 되는 이야기라고 생각하니, 한 번 쯤 읽어보면 좋을 것 같다.
세미나 정리
1. 기업은 변화에 대처하는 방법을 가르치는 곳이다.
사람은 살아가며 엄청나게 많은 변화를 겪게 된다. 그리고 이 변화에 능숙하게 대처하는 법을 가르치는/배우는 곳은 기업이다. 인프랩에서는 팀적인 활동을 통해 신입/주니어 개발자가 변화에 대처할 수 있는 방법을 가르친다.
2. 커뮤니케이션을 잘하자.
인프랩은 변화에 대처하는 것을 가르치는데 있어 사회초년생인 신입/주니어들을 위해서 커뮤니케이션 역량을 잘할 수 있도록 강조한다. 이는 AI 시대의 필수 역량이다. 의견 제시에 있어 사람 간의 신뢰를 만드는 것이 선제되어야한다. 현실에서 어떤 사람이 새로운 의견을 제시할 때에는 정말 그 의견이 좋은지보다도, 그 의견을 제시한 사람이 누군지가 더 많은 작용을 한다.
코드리뷰가 좋다던데..라는 의견에 있어 코드 리뷰의 효용보다 그 의견을 낸 사람이 누군지가 더 중요합니다.
사람 간의 신뢰를 만드는 커뮤니케이션 방법은 다음과 같다.
- 이 사람과 일하면 편하다라는 인식 주기
- 슬랙에서 읽는 사람을 위한 슬랙 메시지 작성을 예시로 보여주었다.
- 이는 비개발자를 위해 친절한 용어로 작성한 요약본과 개발자를 위한 자세히 작성된 문서 링크 첨부한 사진이었다.
- 소통할 때, 사실만을 제공하는 것이 아니라, 이걸 받아들이는 쪽에서 이해할 수 있도록 제공하는 것이 가장 좋다.
- 회색 지대에 존재하는 업무(애매한 업무 영역)를 적극적으로 하는 태도도 중요하다.
- 중요한 점은 상대가 느끼기에 나를 '편하다'라고 생각하게 하는 것이다.
- 상대를 먼저 인정하고, 존중하자.
- 같은 개발 부서에 존재하는 사람들은 모두 공통된 테스트를 보고 합격돼서 돌아온 사람이다.
- ‘저 사람이 왜 저렇게 (바보같이) 질문을 하지? 이상하네’가 아닌 ‘왜 저 (훌룡한) 사람이 저런 질문을 하게 됐을까?’라는 식으로 사고하는 것이 바람직하다.
- 이는 팀 전체에서 부끄럼 없이 부족한 점을 드러내도, 도움을 받고 부정적인 표현을 듣지 않는다는 심리적 안정감을 줄 수 있다.
- 모르는 것은 모른다고 하자! 괜히 아 사실 A가 아니라, B인데.. 라고 해버리면 이제 그 사람이 하는 이야기를 꼬아서 받아들이게 될 수도 있다. ( 도대체 너가 무슨 말을 하는지 모르겠다. 너랑 대화하면 항상 대화가 결이 없는 것 같다 )
- 계몽보단 전염
- 이 부분은 사실 경력직분들에게 조금 더 요구되는 역량이긴 하다.
- 좋은 문화를 만들고 싶으면, 문화를 가르쳐주는 것보다 ‘나를 닮고 싶게’해서 문화를 만들어라.
- 상황을 공유할 때도 여러가지를 신경써서 이야기하여 다른 사람들도 나처럼 되게 해라.
참고) 소통 잘하는 방법 정리
- 핵심은 상단에 두자. 읽는 사람이 필요한 내용인지 구분하기 쉽도록 하기 위함이다.
- 개발에 대한 맥락 후에 개발 이야기를 전달하자. 개발자가 아닌 사람들은 맥락을 보통 모른다.
- (옵션) 나에 대한 상황을 공유하자. 현재 어떤 상황이어서 이게 이렇게 흘러가고 있다.
- 비개발자들이 들어도 이해가 되는 말로 바꿔서 이야기하자. 무턱대고 기술 이야기만 하지 말기.
- 양해/감사에 대한 이야기를 포함하자.
- 사실과 의견(사심/본인의 생각)을 구분해서 작성하기
3. 사실과 사심을 구분하자.
본인이 원하는 것을 얻기 위해서 정보를 조작해서는 안된다. 내가 바라는 기술의 장점만 말하고 단점을 숨긴다던거 하는 식으로 말이다. 원하는 방향에 있어 사실과 사심을 구분해서 생각해야한다. 사심이라는 것은 사실 추측이기 때문이다.
누군가의 사심이 들어간 것을 기반으로 우리 팀에 작용하고자 하려는 태도가 계속 되면, 팀원들은 이제 그의 의견이 사심인지 사실인지 다시 한 번 검증하는 절차를 진행할 것이고 이는 성과의 저해로 이어진다.
4. 인프랩의 팀/조직 전환 이야기
인프랩에서는 주기적으로 팀 이동을 한다. 팀 이동을 통해, 내가 편한 사람(내가 일하기 좋은 사람)을 늘려가게 되면 협업을 하는데 있어서 많은 도움이 되기 때문이다. 이는 사일로를 최소화할 수 있다.
한 회사에서 오래 일한 사람이 성과를 잘 내는 이유는, 그 사람이 일해본 상대들이 많기 때문이다. 실제로 5년된 개발자보다 신규 입사자가 더 개발적 역량을 더 갖춘다고 하더라도, 성과에 있어서는 5년차 개발자가 더 좋은 결과를 가져오는 것이 일반적이다. 이 사람들과 협업해본 경험으로 오는 능력치를 social capital이라고 생각한다.
참고) 세상에서 가장 작은 대기업이라고 불리는 엔비디아의 특별한 용병 제도에 대해서도 이야기해주셨는데, 이는 아티클에 흥미롭게 잘 설명되어있으니 읽어보시길 바랍니다! ( EO Planet 아티클 )
5. 우승 팀의 교체 선수 vs 꼴지 팀의 득점왕
우리는 우승팀의 교체 선수가 되어야한다. 엔비디아의 용병 제도에서 봤듯이, 개인의 성과보다 필요한 팀의 목적을 수행하는 것이 더 중요하다고 생각한다. 우리 팀이 망해도 살아남을 수 있게 득점을 하는 것보다 우리 팀이 망하지 않기 위해 내가 교체 선수로라도 존재하는 것이 더 좋은 선택이라고 생각한다.
질의 응답 시간
Q1. 주니어로써 어떻게 팀의 성장에 기여할 수 있을까요?
팀마다 주니어에게 바라는 것은 정말 다양하다. 조직장이나 사수에게 기대하는 바를 직접 물어보고 행동하자.
Q2. AI 도구가 주니어 개발자를 대체할 수 있을 것 같아 경쟁력이 걱정됩니다. 이 힘든 취업 시장에서 개발자 취업을 준비해야 좋을까요?
우선 채용 시장에 있어서 지금은 채용 버블 후에 다시 정상화되어가는 과정이라고 생각한다. 또한 AI 뿐만 아니라, 글로벌하게 경쟁자가 많다. 최근에는 외국에서 한국으로 개발자로 적은 임금을 받고 취업하려는 사람들이 많다는 점을 참고해라. 지금 시점의 주니어 분들은 AI를 잘 활용해서 더 다양하게 서비스를 런칭하여 운영해본다던가 하는 경험 같은 것을 가지면 좋을 것 같다.
Q3. 주니어로써 책임질 수 없는 문제를 겪었을 때, 좌절감이 들고 미안한 감정 때문에 어떻게 해야할 지 모르겠다.
관리자와 시니어는 그런 문제를 해결하기 위해서 필요한 존재이다. 감정에 매몰되기 보다는 무엇이 문제였는지 고민하고 정리하여 똑같은 실수를 하지 않도록 해보자.
마치며
사실 주니어 개발자로 한정 짓고 모집하는 것이 아니라, 사회 초년생을 대상으로 모집했어도 정말 좋았을 것 같은 내용이었다. 개발자로써 필수적인 역량이 된 커뮤니케이션 역량에 대해서 명확하게 어떤 식으로 소통하면 좋을 지, 소통할 때의 주의점은 무엇인지 등 실제로 고려해봄직한 이야기들을 나누어 주셔서 유익한 시간이었다.