본문 바로가기
생각 정리

<프로그래머의 길, 멘토에게 묻다 >를 읽으며(2021.03.31)

by 타태 2021. 3. 31.

 

 

데이브 후버, 애디웨일 오시나이 지음 | 강중빈 옮김

펴낸이 한기성 펴낸곳 인사이트

 

본문 들어서기도 전인 9페이지 옮긴이의 글 첫 페이지에 나오는 말이 요즈음 너무나 답답하던 내 마음을 시원하게 관통한다.

하지만 현실은 그렇게 만만하지만은 않았을 테지요. 프로그램 짜는 것만 잘하면 되는 줄 알았는데, 그것 말고도 신경 써야 써야 하는 것들이 왜 그리도 많은지.

 

코드 한줄 한줄 작성하고 에러 잡고 실행을 시켰을 때 생각한 대로 작동하면 느껴지는 그 희열.

그 즐거움에 이끌려 단순히 취업을 원하던 상태에서 개발자가 되고 싶다는 마음을 느끼게 되었지만 , 프로그램 짜는 것도 어려운데 왜 그리도 더 배우고 알아야 하는 것들이 많은건지..

그대로 읽어 나가는 중 이번엔 지은이의 글에서 또 지금의 나에게 울림을 준다.

 

​ 모든 패턴 언어가 그렇듯, 이 패턴들은 남용하지 않도록 주의해야 합니다. 각 패턴을 모두 사용할 구실을 찾기보다는 자신의 상황에 가장 적합한 것만을 면밀히 선택하십시오.

 

요즈음 고민을 해결하기가 어려운 것이 너무나 많은 선택과 방법이 있기 때문이다.

그러다 보니 내 상황에 맞는 해결책을 찾기 어려우면, 해결책이 있는 듯 한 방법으로 내 상황을 맞추려 들곤 한다.

"이것만 하면 다 해결 될거야" 식의 무책임함을 항상 경계해야 한다.

 

처음엔 교육 과정만 수강하면 취업을 할 수 있을거라 생각했다.

그 다음엔 포트폴리오만 잘 만들면,

그 다음엔 코딩테스트만 잘 보면,

그 다음엔?

 

내가 개발자라는 단어에 너무 많은 의미를 부여하는 걸지도 모르겠다.

내가 만들어낸 환상 속에서 부담을 느끼는 걸지도 모르지만 무언가 하나만 잘해서 되는 일은 비단 개발자 뿐 아니라 어디에도 없다.

 

어느 일이든 통과만하면 해결 되는 관문은 없다.

​ 기본적으로 견습과정이란, 내가 지금 하고 있는 일을 항상 좀 더 좋고 세련되고 빠르게 해결하는 방법이 있을 거라고 생각하는 태도가 아닐까요. 견습과정은 당신이 발전해 가면서 더 나은 방법을 찾아 가는, 그리고 더 좋고 세련되고 빠른 방법을 배우도록 만드는 사람, 회사 혹은 상황을 찾는 상태이자 과정이라고 봅니다. - Marten Gustafson

마튼 구스타프슨의 말을 빌리자면, 나는 지금 견습 과정이다.

지금 수강중인 교육을 통해 내가 부족한 부분을 배울 수 있었고, 어디든 가서 일을 하고 싶기 보다는 어떻게 하면 더 좋고 세련되고 빠르게 부족한 공부를 할 수 있을지 고민하고 있다.

 

수료를 위한 팀 프로젝트도, 할 줄아는 기술만을 사용하여 무언가 결과를 내기 보다는 그 동안 적용해 보고 싶었던 방법들을 최대한 다 사용해보고 공부 해볼 수 있는 기회로 삼기로 했다.

 

 


구체적인 기술

실천 방안

​ 당신이 우러러보는 역량을 가진 사람들의 이력서를 모아 보라. 한 부 달라고 부탁하거나 개인 웹사이트가 있다면 거기서 다운로드해도 좋겠다. 각 사람들의 이력서에서 다섯 가지 정도 대표적인 역량을 뽑아 보고, 그중에서 어떤 역량이 지금 들어가고 싶어 하는 팀과 유사한 환경에서 바로 쓸모가 있을지 판단해 보라. 그런 기술들을 습득했음을 보일 수 있는 토이 프로젝트에 대한 계획을 세우라. 그리고 그 계획을 실행하라.

​ 자기 이력서를 정기적으로 손보는 습관을 들여라. 그렇게 해가면서 구체적인 기술을 나열한 별도의 목록을 만들어라. 많은 채용 담당자들이 나열된 그 모든 경력사항보다 이런 목록에 있는 항목만 볼 거라는 사실을 알게 되면 당신은 마음 편할 수 있겠는가?

어떤 기술을 공부해야 할지보다는 어떤 역량을 갖춰야 할지가 중요하다. 하지만 신입에게는 그러한 역량을 보여줄 방법이 없다.

그러니 구체적인 기술을 나열하여 보여줘야 한다.

 

요즘의 나는 쿠버네티스, 도커, AWS, Git-flow 등 채용 시장에 나갈 때 어떤 기술을 써봤다고 해야 어필이 될 수 있을지에 열두해 있었다. 아직 어느 회사나 어느 팀에 들어가고 싶은지, 사실은 첫 번째 언어를 무엇으로 할지도 정하지 못했는데 말이다.

 

내 첫 프로그래밍 언어 공부의 시작은 파이썬이었지만 현재 자바 백엔드 과정을 수강하고 있다.

교육 수료 이후 좀 더 재밌게 공부 했던 파이썬을 주력 언어로 처음부터 다시 공부 하고 싶어졌지만, 요즘 들어 확신이 안 생긴다.

공부를 다시 하는게 능사일까? 파이썬으로 다시 공부하면 해결될거라고 도망치는건 아닐까?

 

그러다 보니 언어 보다는 다른 백엔드 기술에 좀 더 관심이 간 것 같다.

한 가지 언어라도 잘 해야 커리어를 시작 할 수 있다는 사실과 새로운 공부를 시작하는 기회 비용, 그리고 새로운 언어를 공부하는 경험과 즐거움 사이에서 대립하고 있다.

첫 번째는 현재 수입이 없기 때문에, 두 번째는 한 가지 언어도 숙련하지 못한 상황에서 적절한가?라는 자기 비판 때문이다.

아직 약 한달 정도 팀 프로젝트를 위한 기간이 남았으므로, 우선 이 기간 동안은 내가 해야 할 일에 집중 할 요량이다.

 


무지에 맞서라

​ 패턴과 무지를 드러내라 패턴 사이에는 미묘한 균형을 유지하는 것이 중요하다. 무지에 맞서는 것만을 강조한다면 아무것도 제대로 해내지 못하면서 건방만 떠는 정보탐식가로 엇나갈 위험이 있고, 무지를 드러내고소도 그 무지를 해결해야 할 문제라고 인식하지 못한다면 지나친 자기 비하와 무력감에 빠지게 될 것이다.

 

해결 방안으로는 자신의 빈틈 목록을 작성하고 지워나갈 수 있다.

요즘 내가 모르고 부족한 부분에 대해 찾고 앞으로 공부해야 할 목록을 작성하고 있었는데 잘 하고 있었다고 생각 한다.

 

그러나 개발자로 커리어를 시작하길 원하면서 자꾸만 공부 할 것만 찾아다니고 알은 체만 하는, 정작 코드를 혼자 짤 줄은 모르는 정보탐식가가 될까봐 어제부터 걱정을 하던 터라 이번 조언도 너무나 가슴에 와 닿았다.

 

다른 조언들과 관련 항목으로 부숴도 괜찮은 장난감, 토이 프로젝트에 대해 이야기 한다.

이번 자바 교육 과정이 끝나면 토이 프로젝트를 꼭 해봐야 겠다.

 


한발 물러서라

문제

​ 너무나 광대한 자신의 무지에 직면하면서 당신은 압도되어 버린다.

해결책

​ 한발 물러섰다가 투석기로 쏜 돌처럼 앞으로 나아가라. 평정을 되찾기 위해 자신이 지닌 익숙한 능력 속으로 잠시 후퇴하라. 어떻게 만들어야 하는지 잘 아는 무언가를 만들어보는 시간을 가져라. 그리고 그 경험을 바탕으로 당신이 얼마만큼의 길을 왔고 지금 현재 역량은 어느 정도인지 깨달아라.

 

정말 요즘 내가 겪는 문제들이 매 페이지마다 소개 된다.

10여 년도 전에 출판 한 책이 여전히 울림을 준다는 건 놀라운 일이다.

 

​ 장인이나 전문가들에 비해 자신이 얼마나 보잘것없는 지식을 가졌는지를 깨닫는, 숨 막히는 두려움의 시간도 경험할 것이다. 이런 경험은 특히 마감 시한이 다가오거나 당신이 제품화 이슈에 관련되어 있을 때 압도적으로 다가오게 된다. 마음을 다잡아라. 이것은 긴 여정에 따르는 정상적이고도 회피 할 수 없는 현상이다.

​ 무능함에 대한 두려움을 극복하는 것은 무지를 드러냄과 무지에 맞섬 사이를 이어주는 다리와 같다.

 

팀 프로젝트의 리더로서 구현해야 할 기술과 배워야 할 기법에 대해 공부 할 수록 끔찍할 정도로 아무 것도 모르는 내 자신과 프로젝트에 대한 부담이 엄습해오곤 한다.

 

그럴 때면 나는 단거리 달리기가 아니라 마라톤에 임하는 거라며 실패해도 된다고, 이 프로젝트에서는 하고 싶은 걸 최대한 해보는 학습의 기회로 삼으면 된다고 나를 다독이곤 한다.

나는 마라톤을 위한 체력을 기르는 중이지 당장 성적을 내야하는 시합에 나온 것이 아니다.

 

이런 마음이 들때면 나는 일부러 다른 환경에서 평소 하지 않던 공부를 하거나 지금처럼 책을 읽으며 과호흡을 다듬곤 한다.

마음이 급함에도 기술 블로그를 검색하기 보다 이 책을 읽길 참 잘했다는 생각 한다.

 

약 280쪽의 책의 120페이지까지 읽었다.

이후로는 개발자로 커리어를 시작한 주니어 개발자를 위한 조언들이 이어지기 때문에 지금의 나는 여기서 책을 덮는다.

이후 개발자로의 커리어를 시작하게 된다면 다시 멘토를 찾아 이 책을 펼치려 한다.

반응형

댓글