김영한님 누적수강생 30만 기념 오프라인 Q&A에 가다
시작하며
중: 인프런 x 김영한 기념 머그컵
우: 김영한님의 싸인
김영한님의 누적 수강생 30만 기념으로 인프런에서 Q&A 세션이 온&오프라인으로 진행되었습니다.
오프라인은 사전 1200개의 질문중에서 영한님이 선택한 질문을한 사람인 약 40명 정도 현장에서 참여하였고, 라이브 방송이 끝난 후 오프라인으로 질의응답 및 사인회를 하였습니다.
운 좋게 오프라인 참석자로 선정이 되어서 참석하였습니다. 취준생 부터 경력직까지 다양한 분들의 고민을 들을 수 있는 시간이었습니다. 당시 행사 질의응답을 요약해서 정리해봅니다.
온라인 행사를 마치고 이어서 오프라인에서 오간 질문은 민감할 수 있는 부분도 있고 영한님께서 답변하실때에도 외부 공개를 목적으로 답변을 하지 않으시고 편하게 답하신 것이라 별도로 정리해서 올리지는 않습니다.
영상을 다시보고 싶으시다면 링크에서 보실 수 있습니다.
A 부분은 영한님 답변, 향로님이 첨언한 것은 (향로)로 표기하였습니다.
Q. JPA의 미래?
A. 이 기술을 잘 선택하였다. nodejs, 다른 기술을 선택한 사람들은 이 관련해서 책을 쓴 사람은 엄청 고생했다. JPA는 오래되었고 완성된 기술이다. 이미 완성된 기술이라서 이제 패치가 잘 안 된다. RDB가 망하지 않은 이상 계속하지 않을까. 그래서 책도 업데이트 안 한다.
향로: 영한님은 2011년 다음 DEVON에서 JPA 발표하였다. 2024년인데 한 기술로 이렇게 열심히 생활하고 있다. 좋은 기술을 선택해야 한다.
Q. 배달의민족이나 비슷한 수준의 문제를 해결하는 백엔드 개발자들이 전 세계적으로 봤을 때 어느 정도로 경쟁력 있다고 보시는지요?
A. 딜리버리히어로는 여러나라에 많은 회사의 배달업을 하고 공통 기술을 전 세계적으로 배포한다. 각 나라에서 모듈 중에 가져다 쓸 것은 가져다 쓴다. 그래서 코어팀이 잘하고 배민에서도 하드 하게 같이 일해보았다. 같이 일하면서 느낀 것은, 오픈하고 딱 뚜껑을 열어봤는데 한국이 시스템의 트래픽을 오픈 첫날 많이 차지하였다. 유럽의 자잘한 나라를 모아보아야 우리나라의 배달 트래픽을 못 이긴다. 거기서 주문 몇만 밖에 안 나오는데 우리나라는 몇백만 나온다. 딜리버리히어로에서 앞어있는 부분은 문서화이다. 그러나 대용량 처리하는 노하우, 빨리 대응하는 것은 한국이 잘한다.
기술적인 레벨은 이미 상향 평준화가 되었다. 일정 수준 이상이면 글로벌 레벨도 비슷하다. 이 정도 있는 친구들은 언어 적인 문제가 해결되면 글로벌에 얼마든지 도전할 수 있다.
Q. 영한님 덕으로 네카라 중 한 곳에서 5년 차로 커리어를 쌓고 있다. 그런데 연차에 비해서 전 직장 커리어가 부실하다. 연차가 쌓이면 프로젝트 리딩을 해야 하는데 아직은 개발 실력이 낮다. 제 연차에 가져야 할 소양과 마음가짐.
A. 우리가 하는 모든 프로젝트는 팀플레이이다. 개발을 잘하려면 노력을 한다. 누군가 사람을 케어하는 것도 대부분 비슷한 실수를 하면서 성장한다. 리더십 관련한 좋은 책이 많다. 책을 보면 깯았는것이 많을 것이다.
주니어가 잘 성장해야 팀에 성과가 나고 나도 집에 빨리 갈 수 있다. 주니어가 물어볼 때 100번 물어보면 100번 대답할 준비가 되어있다고 말씀하시는 분이 있다. 주니어가 설명했는데 못 알아들으면 답답하다. 놀랍게도 설명한 사람이 설명을 잘못했을 가능성이 높다. 나는 문맥을 다 알고 있는데 새로 온 사람은 본인이 아는 콘텍스트가 작아서 다 못 받아들이다. 이 분이 알아듣게 충분히 설명하는 것이 필요하다.
Q. 신입 개발자가 이정도 알았으면 좋겠다. 아니면 아쉬웠던 점.
아는 것을 간단하게 만들어보고 체득하며 정리를 한 사람이다. 면접에서는 지식을 정리해서 말하는 것이 중요하다.
Q. (향로) 영한님 신입과 지금 신입은 어떤가?
A. 1학년 1학기 하고 그만두었지만 대학교는 미달이었다. 학교 선배님들도 컴퓨터과 가봐야 답이 없다고 이야기하고, 다 공무원 준비하였다. 지금은 컴공과 자체가 높아져있다. 비전공자도 열심히 해서 전체적인 수준이 많이 올라갔다.
Q. 30대 초반이 되었다면 하루를 어떤 스케줄로 시작할까요? 단, 눈을 뜬 현재의 개발 실력은 부족함이 있는 개발자
A. 30대 초반이 너무 힘들었다. 그때가 JPA 연구하면서 책을 쓰던 시기이다. 첫째가 태어났다. 애를 재우면 10시, 11시이면 책을 써야 했다. 그때는 평범한 개발자이다. JPA를 다 알아서 쓴다는 것은 아니고 자신감으로 썼다.
출, 퇴근하고 오면 11시, 12시부터 JPA 책 준비하였다. 그때는 잘한다는 생각을 못한다. 공부하던 시기에는 잘한다는 생각이 못 드는데 어느 순간이 들면 응집한 것이 폭발하는 것 같다.
Q. (향로) 과거를 돌아보았을때 내가 성장했다고 했는가?
A. 새로운 프로젝트를 들어갔는데 머리속에서 답들이 나올때.
Q. 주니어에서 시니어로 갈 때 가장 중요한 경험. 물경력의 기준. 모두가 꺼려하는 프로젝트를 맡았다. 비즈니스 중요성이 높은데 담당자가 많이 변경, 실수했을 때 영향도가 크다. 어떤 것이 개발이 좋은 업무인가?
A. 이것이 기회이다. 비즈니스 중요도가 높다. 힘들 수 있는데 기회이다. 우형에 있으면서 조직장도 하면서 느끼는 것은 좋은 개발자라는 것에 대한 기준은 어떤 프로젝트를 맡겨도 잘하는 친구들. 작은 일을 잘하면 큰 기회가 주어진다는 말이 있다. 어느 환경에서도 최선의 성과를 낸다면 이런 친구들을 끄집어내서 큰 일을 하게 된다.
결제, 정산에서 시작하였다. 주문, 전시 여러 도메인을 돌아다녔다. 그 모든 게 소중하다. 결제&정산하면 너무 뒤에 있는데 한다. 인생에서 선택이 있을 때 때 때 선택이 중요한 게 아니라 올바른 결과가 되도록 만드는 게 중요하다.
이 도메인을 하고 싶어요 하는 친구들보다 도전적이고 즐거운 친구들이 진짜 잘하는 친구들이다. 회사의 평가 기준에서 주니어를 벗어나면 중에서 하나의 도메인만 잘해서는 성과가 안 좋았다. 어디에 가더라도 프로젝트가 잘된다로 보았다.
어떤 친구가 회원을 하고 있었는데 검색으로 보냈다. 그런데 잘하였다. 어떤 친구는 방어적이고 뭔가 내가 못해서 가나, 뭔가 문제가 있어서 가나 생각하는 사람이 있다. 내가 가서 잘하는 모습을 보여주면 된다.
Q. 퇴근 후 공부하는데 건강이 나빠지고 권태기가 온다.
A. 사람은 사이클이 있기에 일단 쉬어야 한다. 아무것도 안 하고 1~2주 정도 게임을 하면 열심히 해야지 마음으로 돌아온다. 너무 자주 슬럼프의 싸이클로 들어가면 안 된다.
마음이 급하면 권태기가 온다. 발더스게이트라는 게임에 빠져서 자바 기본 강의를 못 찍을 뻔했다. 그 게임의 퀘스트가 너무 많았는데 퀘스트를 다 깨고 강의 찍어야지 하면 아무리 게임이라도 하기가 싫어졌다.
어차피 모든 것을 다 공부할 수 없다. 학습에 우선순위를 정해서 하나씩 깨부수어야 한다. 뇌가 얼마 안 되네 하면 뇌가 쉽게 받아들인다.
너무 책만, 강의만 들어서도 안된다. 토이프로젝트를 만들며 지금까지 만든 기술을 사용해 보아라. 너무 할 게 없다면 회사의 시스템을 자동화해봐라.
Q. SI에서 열심히 공부하게 된 원동력
A. 매일 밤까지 일하니 인생을 이렇게 살 수 없기에 탈출해야 한다. 엔지니어로서 공부밖에 없다고 생각했다.
Q. 옆에 있으면 좋을 개발자.
A. 새로운 것이 있을 때 같이 해보자고 이야기하는 조직이 좋다. 이번에 스터디해서 적용하자고 하는데 그런 거 왜 해라고 하면 힘이 빠진다.
지금의 에너지를 넘어서 새로운 것을 도전할 때 같이 의싸의싸한 것. 조직 장할 때도 어떤 리더는 힘들지만 같이 도와준다는 분도 있다. 그러면 삶이 재미있다. 전진하는 느낌이 있으면 보람된다.
Q. 내 질문. 가르치는 것을 좋아해서 지식공유를 하고 싶다는 생각. 자신의 능력보다 낮은 지식을 전파하였을 때 장점
A. 내가 공부해서 배운다는 것, 다른 사람들에게 가르친다는 것은 다른 차원의 이야기이다. 지식공유가 부담스럽다면 팀에서 발표하는 것으로 시작하라. 컨퍼런스에서 발표하는 것.
발표 준비하는 것은 죽을 만큼 괴롭다. 준비하면서 많이 성장한다. 시니어 시절에는 내가 방향성을 제시해야 한다. 이렇게 하면 된다고 말하면 사람들이 받아들일 수 있게 제시해야 한다.
Q. SI에서 스프링-jsp 래거시 환경에서 업무를 수행한다. 서비스 회사를 가고 싶으면 어떠 부분으로 지원자를 보실 것인가?
A. 기본기가 약하면 배우는데 너무 오래 걸린다. 실무에서 일을 시작했을 때 기본기 때문에 빨리 성장할 수 있는 사람.
래거시 환경에서 좋게 바꾸기 위해서 어떤 노력을 했는지, 문제를 끝까지 잡아해서 해결한 친구들. 본질적인 문제를 해결하는 사람들을 선호한다.
Q. (향로) 영한님이 뽑았던 주니어 개발자나 경력 개발자 중에서 스펙은 뽑기 힘든 개발자인데 뽑은 경우가 있는가? 채용한 사람들 중에서 저평가 우량주가 있다면 그분은 어떤 분이었는지?
A. 이런 친구들이 많았다. 본인이 어려운 환경에서 본인이 그 환경에서 빌드도 자동화해서 바꾸어보고, 테스트도 도입해 보고. 문제가 발생하면 집요하게 해결한 것을 이력서에 적는다. 이런 친구들은 성장할 준비가 되었는데 환경이 안 받쳐 준다. 그래서 환경이 좋아지니 폭발적으로 성장했다.
(향로) 페이스북으로 향로님께 메시지로 우리 팀 주니어 뽑는데 지원해 볼래?라고 보내서 지원하였다. 당시 검색을 했는데 계속 똑같이 걸리는 기술 블로그가 있었다. 그런데 이 친구가 굉장히 꾸준했다. 옛날에 쓴 글은 별로 좋지 않은데 점점 좋아진다. 그리고 집요하게 물고 가는 것이 있다. 그래서 너무 만나보고 싶어서 만났는데 너무 괜찮은 친구였다.
Q. 회사 대표라면 어떤 기준으로 신입개발자들을 뽑으실지?
A. 그 회사가 쓰는 기본기에 대해서 알아야한다. 포트폴리오가 있으면 UI가 화려한것을 보지 않는다. API만 있더라도 코드 퀄리티가 괜찮으면 좋다.
Q. (향로) 어떤 백엔드 친구는 MSA로 시스템적인 모던 환경을 구축한 사람이 있다. 어떤 친구는 AWS, 메시지큐 전혀 못쓰고 JPA 스프링만 사용하였다. 단위 테스트 꼼꼼하게 했다. 그런데 이것밖에 모른다. 카프카, mongo, 쿠버네티스 전혀 모르는 신입이 지원하였다. 어떤 사람을 뽑을 것인가?
A. 사실 첫 번째것을 잘하면 신입이 아니지 않을까? 기본기가 중요하다. 기본기를 잘하는 상태로 다음을 써야 한다. 회사들 중에서 모던 기술을 안 쓰는 회사가 많다. 기본기가 중요하다.
Q. 소속한 팀에서 개인 성장에 도움이 안 되고 팀원들도 성장 의지가 없다. 기술적으로 팀원들 모두 자신에게 기대는 상황.
A. 개인이 기업의 문화를 바꾸는 것은 어렵다. 본인이 빛날 수 있도록 본인을 가져다 두는 정도의 노력을 해야 한다.
Q. 향로: ibatise에서 mybatise를 옮기려고 해도 12년 영한님이 JPA를 발표하던 시절이다. 이것을 외부 콘퍼런스에 이야기하려는 정도가 되면 팀에도 이야기해야 한다. 당시 영한님이 주니어 연차였을 때인데 어떻게 가능했는가?
A. 쉽지 않았다. 그런데 약을 많이 팔았다. 그러나 강력하게 반대하는 사람 한 사람이라도 있으면 진행하기 쉽지 않다. 다음 회사를 가서 좋은 리더를 만났다. 새로운 것에 도전하라는 분이었다. 그런 환경에서 폭발적으로 많이 성장하였다.
Q. 취업이 녹녹하지 않은 상황에 조언
A. 취업은 수요와 공급에 의해서 이루어진다. 그나마 다른 분야를 줄이고 마지막에 개발자 TO를 줄인다. 그러나 나때보다는 좋다. 1800만 원으로 시작했다. 사람은 자신이 통제할 수 없는 상황을 통제하려고 할 때 스트레스트를 받는다.
경기는 사이클이 있기에 일단 취업을 해야 한다. 현업에 빨리 뛰어들면 어떻게 성장해야 하는지 보인다.
Q. (향로) 싸피처럼 모 회사의 XX 개발 캠프, 연봉 좋지 않지만 회사에 합격했다. 영한님은 어떤 선택을 할 것인가?
A. 연봉 3천보다는 우테코를 추천한다. 우태코 친구들 때문에 2-3년 차를 못 뽑겠다는 말이 있다. 벡엔드에 특화되어서 힘든 교육을 하는 곳은 좋다. 그런데 어설픈 교육과정이라면 쉽지 않다.
Q. 직장 내 / 외에서 스트레스 관리, 회사생활을 현명하게 하는 방법
A. 오히려 회사에서 스트레스받거나 안 풀리는 일이 있으면 집에서 편하지 않다. 마음의 여유를 갖고 저녁까지 해야겠다고 한다. 오히려 밤을 새워야지 하면 빨리 풀린다.
Q. (향로) 번아웃 온 적이 있는가? 관리방법
A. 세 달에 한 번씩 온다. 오면 쉰다.
Q. (향로) 제작 예정 강의
A. 자바 강의가 PPT 400장 넘어간다. 중/고급 올해 상반기에 끝낼 예정이다. 실무에 필요한 데이터베이스. 이후 스프링 로드맵에 없는 추가 강의를 찍을 것이다.