[Book] 프로그래머의 길, 멘토에게 묻다 - 2장 잔을 비우다
장인 정신의 구체화
잔을 비우다, 말 그대로 내 안의 잔을 비우는 것을 말한다.
장인 정신은 새로운 것을 배우는 데에 힘쓰는 사고방식이 포함된다.
내가 개발을 처음 배울 때, 또는 어떤 새로운 것을 배울 때 나의 잔은 비워져 있는가??
잔이 가득 차있다면 새로운 것을 더이상 배우기 힘들 것이다.
많은 것을 쌓았을수록, ‘잔을 비우기’ 위해 더 많은 노력이 필요할 것이다.
첫번째 언어
언어를 하나 선택하고, 그 언어에 능숙해져라
실제 문제에 그 언어를 적용하여 연습하자.
- 그러한 학습은 현실에 기초하게 되고 비교적 큰 첫 번째 피드백 루프를 제공하게 된다.
멘토를 찾고 배워라.
마음 맞는 사람들의 첫 공동체, 커뮤니티 같은 네트워크를 활용하라.
나에게 맞는 첫번째 언어는?? (나의 생각)
- 보통 유명 개발자분들이 나오는 영상들을 보면 추천해 주는 개발자 유형이 있다.
- ‘T’자형 개발자이다.
- 주력 언어(분야) 하나를 깊이 전문성있게 파고, 나머지 영역들을 얕고 넓게 이해해 나가는 형식이다.
- 물론 다른 영역도 깊게 파볼 여력이 있다면 더 좋겠다.
- 언어 하나를 제대로 알게 되면, 나머지 언어들을 배우는 데에 훨씬 덜 힘들다고 한다.
- 주력 언어(분야) 하나를 깊이 전문성있게 파고, 나머지 영역들을 얕고 넓게 이해해 나가는 형식이다.
- 난 아직 이제 막 시작한 견습생이라 이러한 경험을 직접적으로 한적은 없다.
- 그러나 이 의견에 전적으로 동의한다.
- 어정쩡하게 풀스택 한답시고 두 영역을 적당히 아는 것보다, 하나를 먼저 깊이 아는 것이 훨씬 가치있는 개발자라 생각하기 때문이다.
- 그렇게 되면, 나머지 영역도 훨씬 더 속도있게 배울 수 있을거라 생각한다.
- 그런 의미에서 난 백엔드의 ‘자바’를 선택했다.
- 첫 언어를 고르는 것에는 각 나라의 차이도 분명히 인지하고 있어야 한다고 생각한다.
- 다른 나라에선 아닐지 모르지만, 한국에서만큼은 아직 자바 왕국이라 할 수 있겠다..ㅋ
- 그리고 자바를 배우고 객체지향 설계를 배우고나니, 이 매력이 너무 좋아서 굳이 다른 언어로 갈아탈 생각도 안든다.
- 물론, 이 책에서는 한 가지 언어에만 파묻히는 부작용을 주의하라고 한다.
- 나에게 자바의 부작용이 지금 살짝 있는 것 같긴 한데,
- 그래도 새로운 언어를 배울 기회나 계기가 생긴다면 무조건 도전할 것이다.
- 요즘 같이 질 좋은 강의들이 넘쳐나는 시대에 안 배우면 손해라고 생각한다.
흰 띠를 매라
새로운 상황에 들어설 때는, 학습을 통해 얻은 자신감은 그대로 구면서 이전에 얻은 지식은 한편으로 밀어두어라.
검은 띠라면 방법을 알지만, 흰 띠는 배우는 것 말고는 다른 선택지가 없다는 깨달음에 근거를 둔 행위다.
새로운 지식이 충분히 흡수 될 때까지는 새 지식과 옛 지식이 섞이는 것을 피해야 한다.
새로운 지식에는 늘 초보자의 마음가짐으로 접근해야 한다.
숙련공 이상이 된 나의 모습은?? (나의 생각)
아직 새로운 것을 배워야 할 시기가 온 적은 없지만, 언젠가는 숙련공, 마스터가 될 것이다.
그 때, 난 과연 흰 띠를 제대로 매고 배움에 임할 수 있을까??
아니 그 전에, 새로운 것을 굳이 배우려는 시도를 할까??
지금의 불타오르는 나의 열정이 빠르게 소진되지 않도록 잘 관리할 필요성이 있어 보인다.
배움에 여전히 열정이 있다면, 새로운 것을 배우려는 욕구와 배움을 위해 모든 것을 할 수 있다는 각오는 따라올 것이라 생각한다.
열정을 드러내라
기예를 향한 당신의 열정을 어느 누구도 꺾지 못하게 하라
- 그것은 소중한 것이며 당신의 학습을 촉진시킬 것이다.
물론 팀이 그러한 열정을 받아주지 못한다면, 열정을 키워나갈 다른 방법을 찾을 필요가 있다.
그러나 그러한 열정에 열린 팀이라면, 자유로운 상상력이나 열정 같은, 경험이 더 많은 개발자들이 기대하는 독특한 기질을 팀에 가져올 수 있다.
열정을 드러내는 것은 견습생의 책무 중 하나다.
- 높은 기예의 수준으로 생산성에 기여하진 못해도, 팀에 열정을 불어 넣고 모든 것에 질문하는 것이 견습생의 본분이다.
이 패턴엔 성격도 영향을 끼칠 수 있겠구나 (나의 생각)
- 열정을 드러낸다는 것도, 사실 어느정도 의견을 피력하고 모르는 부분은 거침없이 질문하고 그런 행동들이 기반이 된다고 생각한다.
- 그런데 그 당사자의 성격이 내향적이면 좀 힘들 수 있겠다는 생각이 든다.
- 이 패턴을 볼 때, 국비학원에서 강사님이 해준 말씀이 생각난다.
- ‘개발자는 외향적인 성격이 더 유리해. 왜냐면 인맥관리를 잘 해야하거든’
- 물론 SI 업계 기준으로, 인맥 관리를 잘 해야 프로젝트에 잘 참여할 수 있다는 뜻으로 말씀한 것이다.
- 난 서비스 개발 회사를 목표로 삼고 있지만, 어느정도 일리있는 말이라고 생각한다.
- 인맥 관리 뿐만이 아니라 열정을 드러내는 것부터 외향적인 성격이 더 거침 없을테니 말이다.
지금부터라도 사람들에게 관심을 많이 갖는 오지라퍼가 되어볼까??ㅋ…
- 열정을 드러낸다는 것도, 사실 어느정도 의견을 피력하고 모르는 부분은 거침없이 질문하고 그런 행동들이 기반이 된다고 생각한다.
구체적인 기술
구체적인 기술을 습득해서 유지하라.
- 그렇다면 일정 수준으로 성장할 때까지 팀에 간접적으로나마 기여할 수 있다는 신뢰를 얻기 쉬워진다.
구체적인 기술이라 함은,
- 여러 대중적인 언어로 빌드 파일 작성하기.
- 하이버네이트나 스트럿츠 같이 잘 알려진 오픈소스 프레임워크에 대한 지식
- 내 주 언어의 표준 라이브러리 등등……
채용 담당자들이 이 정도면 더 볼 것도 없다는 생각이 들게 해야 한다.
여기에 토이 프로젝트까지 있다면 금상첨화다.
채용 담당자들의 기대치를 넘어서… (나의 생각)
- 난 인생을 살면서 프로그래밍을 배우기 전까지, 어떠한 목표를 세울 때 딱 최소한의 턱걸이 수준을 목표로 잡는 경우가 많았다.
- ‘그 이상의 수준은 나로서는 당연히 힘들다’라는 부정적인 사고방식이 항상 박혀있었기 때문이다.
그러나 그러한 열정으로는 어디든 합격하기 힘들다는 것만 여실히 깨달아 갈 뿐이었다.
합격일까 불합격일까 안절부절하면서 복권이 터지길 바라는 것보단, 애초에 나를 뽑을 수밖에 없게끔 수련을 하자.
- 사실 그냥 너무 재미있어서 몰입하다보면 자연스럽게 될 일이라고 생각한다.
- 난 인생을 살면서 프로그래밍을 배우기 전까지, 어떠한 목표를 세울 때 딱 최소한의 턱걸이 수준을 목표로 잡는 경우가 많았다.
무지를 드러내라
당신을 믿고 있는 사람들에게 학습 과정도 소프트웨어 납품의 일부분임을 보여줘라.
- 그들에게 당신이 성장하는 모습을 보여줘라.
무지를 드러내는 가장 확실한 방법은 ‘질문’하는 것이다.
- 물론 상대방이 ‘당신이라면 당연히 알 거야’라고 생각하는 경우엔 좀 어려울 수 있다.
- 자존심에 상처를 입을 수도 있다.
그러나 가장 가깝게 질러가는 길이기에 숙련공으로 가는 여정이 단축 된다는 사실을 명심하자.
자존심인가, 실력인가 그것이 문제로다.. (나의 생각)
이 패턴이 이 책의 모든 패턴 중 나에게 가장 필요한 패턴이라고 생각한다.
나의 약점이 바로 자존심이기 때문이다.
- 국비학원에 다닐 때, 한 반에서 내가 제일 실력이 좋다는 인식이 있었다.
- 왜냐하면, 중간에 토이 프로젝트로 평가하는 기간이 있었는데 거기서 1등을 했기 때문이다.
- 그 후로부터, 난 항상 다른 사람들의 기대에 부응해야 한다는 부담감이 있었고,
- 그 부작용으로 내가 모르는 것이 있어도 잘 물어보지 못하고, 힘겹게 혼자서 알아가게 되었다.
- 물론 혼자 공부해가는 방법의 노하우가 쌓이는 좋은 경험이기도 했지만, 굉장히 위험한 부작용일 수 있겠다는 생각이 든다.
- 국비학원 때처럼 밖에서도 항상 1등은 절대 아닐 것이기 때문이다.
- 설령 그 순간에 1등이라 하더라도 누구에게나 배울 점은 존재한다.
늘 느끼는 것이지만, 자존심은 하등 쓸모가 없다. 오히려 독이다.
그 무엇보다 최우선순위는 ‘실력’, 2위는 ‘겸손’이 되어야 함을 잊지 말자.
무지에 맞서라
도구나 기법을 하나 고른 다음, 그것과 관련된 지식의 빈틈을 능동적으로 메워라.
- 물론 자신에게 가장 효과적인 방법을 택해서 학습해야 한다.
‘무지를 드러내라’ 패턴보다는 비교적 자존심이 덜 상하면서 실행에 옮길 수 있다.
이 패턴과 ‘무지를 드러내라’ 패턴 사이의 미묘한 균형을 유지하는 것이 중요하다.
질문과 공부의 균형 (나의 생각)
- 사실 나의 주된 학습방법이 바로 ‘무지에 맞서라’ 패턴이다.
- 돈을 내고 강의나 피드백 루프를 만들어 공부하는 것을 가장 선호한다.
- 하지만 이 책에서 말하는 것처럼,언제까지고 강의만으로 해결해 갈 수는 없을 것이다.
- 실무에서만의 문제점과 해결법이 있을 것이고, 그럴땐 당연히 ‘질문’이 필요할 것이다.
두 가지 패턴 모두 꾸준히 유지해가며 학습하는 것이 가장 좋을 것이라 생각한다.
- 사실 나의 주된 학습방법이 바로 ‘무지에 맞서라’ 패턴이다.
깊은 쪽
깊은 쪽으로 뛰어들어라.
- 내게 두드러지는 역할이나 어려운 문제가 주어진다면, 그 기회를 잡아라.
- 두렵게 생각되거나, 능력을 넘어서는 듯한 일을 실제로 함으로써만 성장할 수 있다.
여기서 피드백 루프를 만드는 것도 같이 진행해야 한다.
- 도전적인 프로젝트가 통제를 벗어나서 헛돌기 시작할 때, 즉시 도움을 받을 수 있어야 하기 때문이다.
이 패턴의 주의점은 ‘무모’하다기보다는 ‘용감’한 느낌이 들도록 해야 한다.
편한 일과 힘든 일 (나의 생각)
여기서 힘든 일이란, 단지 하기 싫은 잡다한 일같은 것들이 아니라 내 수준을 넘어서는 어려운 일을 말한다.
기회가 된다면 이 책처럼 정리해보고 싶은 책이 있는데 ‘딥 워크’라는 책이다.
- 이 책은 ‘몰입’에 관한 주제를 중점적으로 다룬다.
- ‘몰입’은 자기의 수준보다 조금 더 높은 수준의 일을 해야지만 발생한다고 말한다.
- 너무 쉽거나, 너무 어려워서는 안된다는 것이다.
이 ‘몰입’의 정도에 따라 성장 속도에 차이가 난다면, ‘깊은 쪽’ 패턴은 너무나 올바른 패턴임이 분명하다.
물론 이 책에서 나온 것처럼 ‘무모’한 도전이 되지 않게끔 평소에 수련을 열심히 하고 있어야 할 것이다.
한발 물러서라
한발 물러섰다가 투석기로 쏜 돌 처럼 앞으로 나아가라.
- 내가 얼마나 무지한지 객관적으로 깨닫게 되어 좌절이 올 때면, 한발 물러서라.
그리고 평정을 되찾기 위해 자신이 지닌 익숙한 능력 속으로 잠시 후퇴하라.
- 그 속에서 당신이 얼마만큼의 길을 왔고 지금 현재 역량은 어느 정도인지 깨달아라.
이 무능함에 대한 두려움을 극복하는 것은 ‘무지를 드러냄’과 ‘무지에 맞섬’ 사이를 이어주는 다리와 같다.
한발 물러선다는 두려움이 온다면..? (나의 생각)
물론 이 패턴 마지막 부분에서, 얼마나 오래 그리고 멀리 후퇴해 있을지 의식적으로 한계를 정하라고 한다.
- 그렇지 않으면 두려움이나 실패에 굴복해버린 자신이 될지도 모른다고 말이다.
- 즉, 이 패턴은 다시 튀어 오르는 힘을 모으는 동안 필요한 단기적인 처방책이라고 한다.
근데 한발 물러선다는 것 자체가 자신에게 온 기회를 일단 걷어찬 것과 비슷한 모양새일 것이라 생각한다.
- ‘그 뒤에 다시 수련을 하고 다시 여기로 올라오는데 얼마나 걸릴까??’ 하는 막연한 두려움은 어떡할 것인가??
- ‘이런 기회가 나에게 다시 올까??’ 라는 두려움은 어떡할 것인가??
이러한 고민속에 다다른 결론은 ‘장인 정신’에 의거한다면 이러한 두려움은 아무것도 아니라는 것이다.
- ‘장인 정신’은 실패를 통해 결국 성공의 길로 간다는 믿음이 있고, 그 무엇보다도 역량에 최우선을 두고있기 때문이다.
나에게 중요한 것은, 당장의 직위와 명예보다는 나의 역량 수준과 개발 그 자체의 재미라는 것을 잊지 말자.
장을 마치며
가장 나쁜 경우는 자기 무지에 대해 신경조차 쓰지 않는 것이다.
- 내가 무엇이 부족한지 알고 그 부족함을 메우고자 노력한다면, 난 한 발짝 더 전진한 것이다.
탄탄한 견습과정을 이루는 토대 중 하나는 ‘정확한 자기 평가’다.
프로그래밍을 대하는 나의 태도 (나의 생각)
- 국비학원을 다니면서 들었던 생각은, 프로그래밍에 전혀 관심이 없더라도 단지 취업만을 위해 코딩을 하는 사람들이 굉장히 많다는 것이다.
- 사석에서 개발에 대해 말을 한다면 ‘노잼’ 취급을 받고, 당장의 프로젝트 완성도보다 게임 혹은 여행이 더 중요하게 여겨진다.
- 국비학원에서 이러한 경험들을 하면서 열정있는 개발 지망생들과 개발을 하고 싶은 욕구가 생겼고,
- 그래서 ‘우아한 테크 코스’를 노리게 되었다.
- 난 저러한 사람들이 책의 문구처럼 ‘자기의 개발에 대한 무지에 대해 신경조차 쓰지 않는 사람들’이라고 생각한다.
- 애초에 그 분야에 관심이 없다면, 그 분야의 붐이 일었다고 해도 시작하면 안된다고 생각한다.
- 자신이 행복하지도 않을 뿐더러 다른 동료들에게 피해를 주고,
- 역량의 성장도 더뎌서 금전적으로도 만족하지 못할 확률이 높다.
- 그러한 경우들을 반면교사 삼아서, 앞으로 개발의 긴 여정을 걸으면서 ‘나의 무지에 대한 평가’, ‘정확한 자기 평가’를 끊임없이 해야함이 중요할 것이라 생각한다.
- 국비학원을 다니면서 들었던 생각은, 프로그래밍에 전혀 관심이 없더라도 단지 취업만을 위해 코딩을 하는 사람들이 굉장히 많다는 것이다.