구름 커밋 "주니어개발자와 시니어개발자는 뭐가 다를까"를 듣고서
개요
구름이 주최한 커밋을 오프라인으로 듣고 왔다. 평소에 많은 매체를 통해 접하고 개인적으로 팬이었던 토스 frontend head 박서진님의 세션이 있었다.
아래 내용은 세션을 듣고 정리한 내용이다.
세션 내용 정리
주제: 어떻게 성장할까 j커브로 성장하는 사람들의 특성이 있다.
hard skill
어떻게 개발을 잘 할까?
-
멋있는 것을 하지 마라
- 포장지에 신경쓰지 마라
- 예시, RSC FSD NextJS Bun Tailwind...
- 알맹이가 맛있다면 장기적으로 주목받는 사람
- 간단한 주제에 대한 깊은 통찰과 고민. 비동기 처리를 왜 하는지, 라이브러리의 본질은 무엇인지.
- 포장지 -> 여러 기술을 쓰면 됨.
- 알맹이는?? 어떻게 챙기는지?
- -> 깊은 이해와 통찰.
- 어떻게? 꼬리질문
- 포장지에 신경쓰지 마라
-
멋있는 것을 많이 봐라
- 무언가를 잘하려면, 압도적으로 좋은 것을 많이 봐야 한다.
- 평범한 것을 보기만 하는 것은 인사이트가 생기지 않는다.
- 나보다 압도적으로 잘하는 코드를 봐야 배울 수 있다.
- 실천: 꾸준히 약간 어려운 난이도의 기술 도서 읽기
- 쏙쏙들어오는 함수형 코딩, 켄트벡 tidy first, 오브젝트(코드로 이해하는 객체지향 설계)
- 꾸준히 새로운 양질의 지식 얻기
- "내 실력보다 약간 어려운"이 중요한듯
-
두뇌를 풀가동시키기
- 내가 할 수 없던 것에 도전해야 성장한다.
- 지식을 당연하게 받아들이는 것으로는 성장할 수 없다. 의문과 의심
- 운동할 때 근육을 최대한 쓰듯이 두뇌를 풀가동시키는 상태로 만들어야 한다.
- 기술적 성장을 언제? 머리가 풀 가동되었던 상태.
- 복잡했던 코드를 단순하게 리팩터링을 하려면? 다양한 방법 책 여러가지 리서치와 복잡한 고민
- 실천:
- 무슨 말인지 발표할 수 있을 때 까지 이해하기
- 알고있던 내용과 연결하기
- 짜고있는 코드와 연결하기
-
적용하기
- 오늘 들은 내용을 듣고 그렇구나~ 하고 넘어가고 다음날 똑같이 코딩하면 의미가 없다
- 아는 것을 넘어 행동이 바뀌는 것이 배움이다. (지식 -> 행동계획 -> 행동 -> 회고)
soft skill
어떻게 더 좋은 사람이 되는가?
두 가지 영역이 있다.
- 나를 발전시키기
- '다른 사람'과 잘 일하기
'다른 사람'과 잘 일하기 ->
- 인프콘 2024 처음으로 기술리더가 된 개발자를 위한 안내서 참고
'나'를 발전시키기
- 인생과 커리어 전반에 걸친 영향
- 변화에 열려있기
- 켄트 벡: 언제든 더 나아질 수 있다.
- 어떤 소프트스킬이라도 바뀔 수 있다. 나에게 맞는 방식으로
- 올림픽 선수가 되려는 것이 아니다. 실제 생활에서는 노력으로 차이가 생긴다.
- 실천: 잘 해보고 싶은 포인트 정해보기
- 가까운 1달 안에 해야 하는 일, 그런데 하던 대로 하고 있는 일 정하기
- 그 일을 잘하는 방법 찾기(회의 -> 퍼실리테이션)
- 실천으로 옮겨보기
- 꾸준함
- 너무 잘 하려고 하지 않고 꾸준히 하기
- 피드백과 칭찬으로 꾸준히 하기(스스로 피드백, 칭찬, 외부 피드백)
- 주간회고(일기) -> 쓰는 걸 자랑하고 다니기(더 열심히 하게 됨)
- 함꼐해서 꾸준히 하기
- 혼자면 빠르지만 함께면 멀리 간다
- 함께 있는 것만으로 좋은 사람들과 함께해 보기
QnA
사이드이펙트를 방지하는 방법 -> 결합도를 낮추는 방법을 연구해야 함. 변경되는 코드의 양이 많을 때 주로 발생하기에 배포의 사이즈를 줄이는 방법도 있다.
주니어 -> 시니어 how? -> 일반적인 개발자가 해결하기 어려운 문제를 해결할 수 있는 기술적 역량, 주변의 개발자에게 영향을 주어 더 잘하는 개발자가 되게끔 하는 개발자. 하드스킬을 높이고 주변 사람에게 긍정적 영향을 끼치는 방법을 공부
시니어(리더) 가 되었는데 개발은 어떻게 하는지(회의나 면접 매니징 등으로 개발시간확보가 안되기에) -> 시니어개발자가 잘하면 어떤 모습이 되어야 하는가? 를 봤을 때 개발자가 스스로 잘해서 본인이 할 게 없다고 느낄 만큼 팀의 역량이 성장된 상태.
채용할 때 중요하게 보는 가치 일순위가 문제 해결. 모든 문제를 풀었는가. 코드퀄리티 -> 변경에 유려하지 않는 코드(유연한 코드?), 깊은 고민을 한 코드 조각이 있는가 두 조건
어떻게 헤드가 되었는가 토스에 입사하고 너무 마음에 들어서 계속 다니고 싶었다. 애사심이 컸다. 그래서 회사의 방향성과 맞는 개발을 하기 위해 노력했고 기여하려고 노력했다.
세션을 듣고서
하드 스킬을 성장시키기 위한 4가지 방법, 소프트 스킬을 성장시키기 위한 2가지 방법을 서진님께서 소개해주셨는데, 이 중 내가 실제로 실천하고 있는 것과 내 생각을 적용해보자.
하드 스킬
-
멋있는 것을 하지 마라. 해당 내용은 나도 HR을 해보면서 많이 느낀 내용이다. Next.js, Supabase, three.js 등등 멋있는 기술들을 많이 해본 사람들을 보고 괜찮다고 생각해서 커피챗을 많이 해봤었는데, 실상은 타입스크립트 조차 제대로 활용하지 못하고 있는 사람들이 많았다. 중요한 건 내가 어떤 기술을 사용하느냐가 아니라, 내가 기술을 얼마나 깊이 이해하고 있고 어떻게 잘 활용할 수 있느냐인 것 같다.
나는 사실 회사에서 멋있는(?) 것들을 많이 하는 부류의 개발자다. 무언가를 직접 개발하거나, 새로운 기술을 적극적으로 도입하거나.. 등이 있겠다. 사실 실제 개발할 때는 깊게 생각하지 않았는데, 서진님의 말씀을 듣고 내가 조금 더 깊은 고찰을 할 필요가 있겠다는 생각은 들었다.
또한 내가 평소에 관심있던 부분들, 개인적으로 깊게 파보았던 부분들이 꽤 많은데, 그런 부분들을 혼자 가지고 있기 보단 블로그에 조금 더 공유해봐야겠다고 느꼈다.
-
멋있는 것을 많이 보아라. 이건 정말 공감하는 내용이다. 사람이 성장을 하려면 자신의 수준보다 항상 높은 것을 마주하고, 고통의 순간이 필요하다고 믿는다. 나는 초기 스타트업의 창업멤버로 커리어를 시작하며, 사수가 없는 환경에서 성장했어야 했다. 이에 대한 나만의 성장 방법은 내가 생각하는 잘하는 기업, 잘하는 개발자들의 코드를 끊임없이 마주하는 것이다. 나는 개인적으로 국내에서는 토스, 해외에서는 메타와 마이크로스프트가 정말 개발을 잘한다고 생각한다. (물론 언급한 기업 말고도 정말 뛰어난 코드베이스를 가진 프로젝트와 기업은 정말 많다. 대표적으로 언급한 것이다.) 그리고 이런 기업들의 특징은 개발 생태계에 기여하기 위해 오픈소스 프로젝트를 활발하게 진행한다는 것이다. 나와 같은 혼자 성장해야만 하는 개발자들은 이런 오픈소스 프로젝트들을 최대한 활용해야 한다.
최근에도 codepush를 위한 app-center가 25년 3월에 서비스 종료하는 이슈로 인해 사내 app-center를 직접 구축해야만 했다. 그를 위해 마이크로스프트의 app-center 코드들을 분석하고 이해하는 과정에서 나는 조금 충격을 받았다. 세상에 이렇게 꼼꼼하게 개발을 잘 할 수 있구나. 물론 7년전 코드이기에 요즘의 js 트렌드와는 조금 맞지 않는 부분이 많았지만, 전체적인 아키텍쳐나 개발자들의 섬세한 고민이 보이는 부분들에서 나는 아직 멀었다는 생각을 많이 했다. 또한 코드를 분석하는 것 만으로도 코드와 소프트웨어의 아키텍쳐를 보는 눈이 성장한 기분이었다.
-
두뇌를 풀 가동하기 이건 개발할 때 항상 풀 가동하고 있어서 잘 하고 있다고 느꼈다.
-
적용하기 이렇게 회고를 적고 내 생활에 적용해보는 것 만으로 적용하고 있다고 생각한다.
소프트 스킬
-
변화에 열려있기 나는 변화에 열려있다. 나는 언제든 항상 나아질 수 있다고 생각하며, 나의 능력과 성격에 한계를 두지 않는다. 이거는 코드를 리팩터링할 때도 마찬가지다. 따라서 매우 공감되는 말씀이었다.
-
꾸준하기 최근 회사에서 소모임 프로젝트를 시작했다. 개인적으로 책을 읽고, 글을 쓰고, 운동을 하고 이런 활동들을 꾸준하게 하고 싶은데, 나는 꾸준함에 매우 약한 사람이라는 걸 알고있었다. 따라서 이 부분을 극복하려면 혼자서만 챙기는 것 보다는 다른 사람과 함께 나누면 조금의 강제성이라도 생기고 동기가 생기지 않을까 생각했다. 따라서 이런 소모임들을 직접 만들어서 꾸준함을 챙기려고 했는데, 마침 오늘 세션에서 서진님이 언급하신 부분과 동일하여 역시 좋은 방법이라는 확신을 가졌다.
내가 잘 하고 있다는 생각도 들면서, 조금 더 노력해야겠다는 부분도 보였다. 오늘 들은 세션이 나의 성장에 동기와 용기를 주었다. 또한 평소에 개인적으로 동경했던 분의 의견을 직접 들으며 나도 폭발적으로 성장해서 남들에게 좋은 영향력을 줄 수 있는 사람이 되고싶다는 생각이 강하게 들면서 큰 동기부여가 되었다.