시니어 개발자 분들이다보니, 주니어 개발자들에게 요구하는 태도, 역량 등을 많이 이야기해주셨고
앞으로 주니어 개발자들이 어떻게 성장을 해서 시니어 개발자가 되어야할지 가이드라인을 주신 분들도 있었다.
모든 연사님들이 공통적으로 말씀하신 것은 "소통과 협력"이 가능한 개발자를 원하고, 또 그렇게 성장해야 한다는 점인 것 같다. 개발자의 세계에서 왜 소통과 협력이 이렇게 중요할까?
캠프에서 진행한 팀프로젝트에서도 소통의 부재, 소통의 오류로 프로젝트 진행 중 많은 어려움을 겪은 팀들을 볼 수 있었다. 그렇게 이슈가 발생하고 나면, 더 이상 프로젝트에 협력하고 싶어하지 않아하는 사람들의 태도를 보면서, 이 상황이 만약 회사라면 어떨지 생각해보게 되었다.
회사에서는 서비스나 프로덕트를 만들어야 하는데, 소통과 협력이 부재하다 보면 결과물을 만들어 내기가 굉장히 어려워지는 것 같다. 결과물이 나오더라도, 그 퀄리티를 보장할 수 없는 상황이 될 것 같다.
좋은 결과물은 수 많은 피드백을 서로 교환하고 수용하는 과정을 거쳐 계속해서 다듬어가고, 빚어가다 보면 완성한다고 생각한다. 그 과정이 원활하고 건설적으로 진행되기 위해서는 구성원들간의 소통이 가장 중요하겠지?라는 생각에 시니어분들이 모두 주니어 개발자에게 소통과 협력을 이야기하신 것 같다.
또, 성장에 대해 좋은 말씀을 많이 해주신 분들도 계신데 기억에 남는 것은
1) 개발 커뮤니티 활용하기
2) 단순히 기술만 익히는 것이 아닌 소프트 스킬도 같이 키우기
3) 멘토 및 피드백 구하기 등이 있다.
개발자의 세계에서는 조금 더 적극적으로 자신을 어필해서, 많은 사람들과 네트워킹을 통해 성장해가는 문화가 있는 듯 하다. 여러 커뮤니티에서 적극적으로 질문도 해보고, 또 답변도 해보고... 오프라인 콘퍼런스나 세미나, 스터디 모임도 나가보고.. 이러면서 자연스럽게 나의 멘토도 구해보고, 피드백도 주고 받아보는 것 같다. 단순히 기술 공부만 열심히한다고 해서 성장한다고 볼 수 없는 것 같다.
연사님들의 이야기를 다시 한 번 읽어보면서, 도움이 필요할 때 또 강연 내용을 되짚어볼 예정이다.
다음에 또 좋은 컨퍼런스나, 세미나가 있으면 참여해보고 싶어졌다 ^^
스터디, 커뮤니티 등을 이용하되 우선순위를 잘 정해보자
개발자의 중요 덕목은 커뮤니케이션 스킬
: 개발자는 언어를 하는 거다!
: 기계, 컴퓨터와의 소통 (코딩)도 중요하지만..
: 사람과의 언어, 의사소통이 잘 되어야 개발도 잘 할 수 있다
=> 피드백을 잘 수용하고, 잘 전달하자!!!!
: 좋은 습관, 좋은 태도 등을 습득해서 성장할 수 있도록 !! (주니어는 백지~니까)
: 개발자는 소통을 정ㅁ~~~말 많이 한다! 기획자에게만 기댈 수 없어! 의사소통 능력 매우매우 중요함
개발자는 새로운 환경에 잘 적응할 수 있도록 해야해, 새로운 기술, 새로운 서비스, 새로운 동료... 변화가 주어지면 잘 적응하고 그 상황에서 중요한 것을 잘 캐치하자.
최근 쿠팡의 개발자 인재상은???
전에는 자기 직무만 잘하는것
지금은 전체적인 서비스를 더 잘 살펴볼 줄 아는 사람, 서비스 간의 연관성을 파악할 수 있는 사람. 숲을 볼 줄 아는 사람이겠다 (통찰력, 커뮤니케이션) ! (+전문성은 기본)
어떤 커뮤니티 활동을 해야 할까? 어떤 자세로?? 추천???
자바 개발자 모임 등 자신의 주력 언어 스터디 ~ 커뮤니티
주란님은 커뮤니케이션에 있어서 많이 듣고, 정리하는 편 => 회의나 대화 중에 결론을 정리해주는 역할을 많이 하신다고 한다
주란님께서 잘못 생각하신 부분은 빠르게 인정하고, 정정하려고 하신다고 함 (피드백을 잘 수용하려고), 긍정적이고 발전적인 사고 방식 및 대화 흐름을 유지하려고 노력.
문제 제기 할 때 => 내가 생각하는 방향성, 해결책 까지 함께 이야기하면 더 좋은 대화의 흐름이 될 듯 하다.
< 인상깊었던 질문과 ~ 대답 정리>
: 채용하는 입장에서, 혹은 같이 일하는 입장에서 ...
: 성장 욕구가 강한 사람이 리더로서 성장 가이드 혹은 같이 성장할 수 있어서 좋음
: 성장 동기, 의욕이 없이 현재 하고 있는 일에서 머무르고 있고 일에 대해 큰 고민이 없는 사람은 함께 일하기 힘들 수 있음
: 아직까지 개발자 성비가 남성 개발자가 많은편!
: 주변에 여성 개발자 선후배, 동료 혹은 다른 직무의 리더들에게 서로서로 조언을 많이 주고 받을 수 있도록!
: 성공 경험을 되돌아 보자! 큰 성공 경험이 아닌 작은 경험이라도!!!
: 특히, 선배들(자신이 존경하고 좋아하는)에게 칭찬받았던 경험을 생각해보자
: 개발자의 능력 ? 신기술을 잘 적용하는 것만이 아닌 내가 당면한 문제에 가장 적절한 솔루션, 기술을 고민하고 적용할 줄 아는 것이 진정한 개발자의 능력!
: 멘탈 관리 ? 시간이 없을 뿐! 내가 들여다보면 잘 할 수 있을거라고 생각하기!!!
: 위에서 말한 개발자의 능력을 쌓는 것이 저연차의 성장 ~~
: 단순히 새로운 기술만 익히는 것(내 기술, 리소스될 개발 역량 등) 뿐만 아니라 + 동료들과 함께 일하는 방법( 리더십, 협동심 등 ) + 주변 환경을 이용하는 법
일을 하다보면 토론이 필요한 경우가 있는데 , 이 때 앞으로 나아갈 방향! 에 대해 고민하고 긍정적으로 이야기하는 일원이 되자.
성장동기가 뚜렷한 사람!
CTO의 면접 질문 ? (거의 시니어 혹은 리더십 역할을 해야 할 사람과 면접을 많이 진행하고 있다)
=> 1) 회사에서 맡을 역할, 포지션에 대한 이해도, 본인만의 룰
=> 2) 면접자가 생각하는 팀의 모습
연차는 아주 크게 중요하지는 않은 것 같다
: 사람에 따라 시간과 별개로 빠르게 성장하는 사람도 있고, 10년이 되어도 성장이 더딘 사람이 있기 때문에..
: 가고자 하는 회사 => 그 회사가 사용하는 기술 => 내 포지션에서 요구하는 역량수준을 얼마나 갖추었는가?를 고민해보자
: 3년차 ~ 이상이면, 도메인 안에서 문제를 정의하고 설계하고, 실행하는 정도?
: 5년차 ~ 이상이면, 실제로 비즈니스에서 문제가 있을 때 기술적인 문제로 치환하고, 솔루션을 제시하는 정도
이거를 내가 해도 될까? 하고 망설이지 말자!!
불합리한 상황에서는 당당하게 대응하고
새로운 일에 두려워하지 말자
실패 해도 괜찮아!
시작하지 않으면 실패도 할 수 없다
시작하고, 방향 정하고, 좋아하는 일인지 확인하고, 점검하고, 방향 잘 잡고!
해보자!!
나에게 경험/성장이 되는 부분이 있는가?
어떤 요소를 살리면 흥미가 생기겠는가?
일의 재정의 : 이 일은 '0000 프로젝트야'
그림(그래프)이 아닌 수치 리포팅은 안한 것과 같다
에러, exception 로그는 사랑, 어디가 문제인지 바로 알려주기 때문에! 버그나 에러에 대한 두려움이 사라지다.
재미있다 => 많이 한다 => 잘한다 => 재미있다 (반복)
우리가 할 수 있는 것은... 많이 한다!
나에게 일을 준 사람이 그 일에 대해 신경을 끌 수 있게 하는 것
1) 목적이 무엇인지 파악하자
2) 예상과 달라지는 순간, 바로 상황을 공유한다
3) 상대가 궁금해하기 전에 상황을 공유한다 (회의시간, 기타 시간등에 )
여자라서 움츠러 드는 것 같을 땐,,,
내가 남자였으면 움츠러들었을까? 라고 생각하며 걍 해
우리에겐 힘이 있지
개발자는 문제 해결사
우리는 수많은 실패를 보면서 살아가고 있어
성공은 수많은 실패와 작은 성공 경험들이 쌓여 만들어가는 것
코딩은 결과물이 생겨난다
산출물을 가지고 이야기하는 것이기 때문에 차별당하지 않을 것
** 기획자와 소통하는 법
1) 기획자도 사람이다~ 나의 발언, 나의 태도가 그에게 영향을 미칠 수 있으니 정중하게 대할 것
2) 기획자의 기획이 나를 괴롭히려고 만든 것은 아니다! 왜 그러한 기획서를 작성했는지 기획자의 의도를 파악하라
3) 내가 이런 태도를 보였을 때, 우리가 다음에 다시 같이 일하고 싶은 사이일 수 있을까?
** 효율적인 일하기
1) 중요도 , 우선순위 설정 - 데드라인이 가장 급한 것
2) 이러한 우선순위는 항상 볼 수 있는 것!!
3) 리더로서 전체가 잘 진행되고 있는지 파악할 것
** 주니어 개발자가 PM을 맡을 때 주의할 점
1) 주니어때는 도전도 많이해서, 실패하고 사고를 많이 쳐도 괜찮다 (ㅋㅋㅋ) 단, 주니어의 사고를 용인해주는 회사여야 가능한
2) 그래서 모르는 것은 많이 물어보고, 도움을 받아야 한다 !
매니징트랙은 주니어 이후 트랙, 테크 트랙 이후가 아님 ~~~ + CTO
회사마다 개발자 레벨 시스템은 모두 다르다
10년 뒤 나는 어느 레벨에 있을지 생각하기
TL (테크리더) : 개발 > 매니징
EM (엔지니어링 매니저) : 개발 < 매니징
TPM (테크니컬 프로덕트 매니저) : 기술 + 프로젝트 관리 + 여러 팀 매니징 ( TL, EM은 단일 팀 )
자신의 강점을 강화시켜줄 수 있는 액션 아이템을 찾아보자
아무것도 모르는 신입 => 1인분 개발자 의 과정은 자연스럽게 된다
하지만 1인분 이상 하는 개발자가 되기 위해서는 의도적인 수련 과정이 필요하다
성장 방법
1) 외부에서 리딩 => 회사에서 기회가 없을 수 있기 때문에, 외부에서 멘토링, 리딩의 기회를 찾아보자
2) 팀원 1인 집중마크 코칭
3) 팀빌딩
회사가 날 시니어로 만들지 않는다면?
액션 아이템
특히, 1년 차이나는 동료를 대상으로 삼자
경제, 금융 공부 반드시해야할것
재테크를 위해서 연봉을 올려야한다.
=> 브랜딩, 증명 (이력서/협상)
=> 기술블로그 등을 통해서 브랜딩하기
=> 이력서나 협상 과정에서 증명하자
가장 중요한 것!
하루 시작할 때 해야 할 일 정리하기
하루 마감할 때 오늘 한 일 정리하기
아무것도 모르는 주니어라도 우리회사 인프라 , 내가 했던 것들 정리하기
지금, 여기 이 순간에 집중하기
순간들이 사용되지도 못한 채 무심하게 지나가게 하지 마라
내가 했던 일을 잘 정리하는 것이 가장 중요한 것 같다
내가 쓴 코드가 어떤 성능 변화, 개선점 등을 가지고 왔는지 등등
회사 밖의 모임이 필요하다 => 회사 안에서 얻을 수 있는 피드백은 한정적이기 때문
내가 사용하는 기술의 스터디를 참여하거나
책을 읽고 공유하는 모임 (기술 책, 커리어 관련 책)
일주일 동안 설정한 목표를 공유하는 모임