[Book] 프로그래머의 길, 멘토에게 묻다 - 4장 정확한 자기 평가
메타 인지
죽어라 연습만 하는 것이 답이 아님을 대부분 알 것이다.
의식적인 연습과 정확한 자기 평가가 동반 되어야 한계에 봉착하지 않고 꾸준히 전진할 수 있다고 생각한다
내가 제법 능력이 있다는 생각은 갖다 버리자.
‘긴 여정’ 에 배하면 지금까지 걸어온 길은 아무것도 아닐 것이다.
가장 뒤떨어진 이가 되라
주변을 나보다 뛰어난 개발자들로 채워라
- 내가 가장 뒤떨어진 멤버가 되며, 그 안에서 더 성장할 여지가 있는 팀을 찾아라.
단 부작용이 있을 수 있다.
- 실수를 해도 너무나 매끄럽게 복구하도록 도와주기에, 내 생각보다 많이 배우지 못할 수도 있다.
그래서 가장 뒤떨어진 사람들은 ‘일하면서 성찰하기’와 ‘부숴도 괜찮은 장난감’ 만들기가 가장 중요하다.
- 내가 어떤 습관과 기법과 지식을 얻었는지 알 수 있도록, 한 걸음 물러설 수 있는 기회를 제공한다.
팀의 다른 사람들과 같은 수준이 될 때까지 의식적으로 개선할 방법을 찾으며 더 뛰어난 개발자들을 모방해야 한다.
‘바닥을 쓸어라’와 ‘구체적인 기술’ 패턴으로 나의 이기적인 입장을 보완하라.
뒤떨어진 입장에서 많이 배우는 만큼 하는 일도 있어야 할 것이다.
가장 뒤떨어진 나를 팀 입장에서 감수하는 이유는, 나의 팀 기여도가 증가하기 때문인 것이다.
머리의 입장과 꼬리의 입장 (나의 생각)
사실 난 아직 머리의 입장이 되어본 경험밖에 없다
- 국비학원에서 가장 실력 좋은 교육생으로 평가받으며, 다른 교육생들을 가르치며 이끌어줬기 때문이다.
물론 한 집단의 머리는 교만해질 수 있다는 단점이 있다고 생각한다.
- 그러나 그것만 주의한다면, 자신의 자신감과 성취감, 열정을 키울 수 있는 나쁘지 않은 환경이라고 생각한다.
- 내가 국비학원에서 그런 방식으로 성취감을 느끼며 열정을 키워 나갔기 때문이다.
그리고 꼬리는 꼬리만의 단점도 분명히 있다고 생각한다.
- 좌절이 생기고 자신감이 너무 떨어질 수 있다는 것이다.
- 물론 국비학원에서 개발에 대한 의지가 없는 꼬리 교육생들이기에 당연히 그럴 수 밖에 없다고 생각한다.
그러니 꼬리가 되었다면, 그만큼 더 개발에 열정을 가지고 배워나가는 자세를 가져야 할 것이다.
그것만 된다면, 머리일 때보다 더 실력을 향상시킬 수 있다는 것엔 나도 이견이 없다.
멘토를 찾아라
나보다 앞서 지나간 사람들을 찾아서 그들로부터 배우도록 애써라.
여기서 주의할 점이 있다.
- 멘토도 한 명의 인간에 불과하다.
- 우리 모두 ‘긴 여정’을 걷고 있으며 누구도 모든 것을 알지는 못한다는 사실을 기억해야 한다.
이 점을 주의하지 않을 때 부작용
- 멘토가 가진 어쩔 수 없는 약점이나 맹점에 대해 환멸을 느낄 것이다.
- 그래서 아직 가르침 받을 것이 많음에도 더 배울 것이 없다고 여길 우려가 있다.
잠재적인 멘토에게 거절당하거나 이상하게 비친다고 해도, 그 리스크는 별 것 아닌 반면에 보상은 아주 크다는 점을 기억하자.
점심식사라도 같이 하기를 청하는 것은 돈과 시간이 아깝지 않은 일이다.
상대의 약점도 이해할 줄 아는 포용력 (나의 생각)
나의 가장 큰 약점은 ‘상대의 단점을 이해해주는 포용력’이다.
- 어느 한 부분에서 내 기준에 의거해서 이상하게 보인다면, 냉정해지는 경우가 굉장히 많다.
- 물론 내가 원래부터 정이 없어서 일 수도 있다.
나도 단점이 굉장히 많은데, 왜 남한테만 이렇게 엄격해지는지 내 자신이 참 짜증나는 경우가 많다.
훌륭한 사람은 남에게 관대하고 나에게 엄격한 사람이라고 생각한다.
- 실제로 그러한 사람들이 성공을 한다.
생각만 하지말고 제발 노력해보고 전문가들에게 조언을 구해서라도 고쳐보도록 하자..
마음 맞는 사람들
추진력을 유지하려면, 비슷한 길을 걷는 사람들과 빈번히 교류할 필요가 있다.
- 뛰어난 개발자가 되고자 하는 사람들을 찾아 나서야 한다.
- 특히 전담 멘토가 없는 경우엔 더 그렇다.
멘토들은 내가 닮기 원하며 어렵게 느껴질 수 있는 사람이다.
- 반면 내 커뮤니티는 더 마음 편히 탐구하고 배울 수 있는 환경을 제공한다.
커뮤니티를 깝짝 놀래킬 질문을 던질 정도의 역량은 늘 유지하자.
커뮤니티의 건강성은 새로운 견해에 어떻게 반응하는가로 잴 수 있다.
새로운 견해에 대해선 활발한 토론과 실험이 필수적이다.
오늘의 비주류가 내일의 리더가 되는 경우가 많기 때문이다.
나의 공부와 마음 맞는 사람들의 커뮤니티의 우선순위 (나의 생각)
항상 좋은 개발자를 꿈꾸는 사람들과의 모임을 찾아야겠다는 생각은 하고있다.
하지만 그런 생각이 들 때마다, 지금 하고 있는 공부들 만으로도 양이 이미 많다고 생각하여 미루곤 한다.
- 현재의 나에게 우선순위는, 나의 공부가 더 높다.
- 왜냐하면, 우아한 테크 코스 테스트를 준비 하고 있기 때문이다.
- 알고리즘, 자료구조를 배우고 자바와 객체지향 설계에 대해 배우느라 정신이 없다.
그리고 우테코에 합격을 한다면, 자연스레 그러한 커뮤니티는 우테코 안에서 형성이 될 것이다.
- 만약 불합격을 한다면, 당연히 올인하다싶이 하고있는 나의 공부량을 이제 조금 줄이고, 커뮤니티를 찾아 나설 것이다.
부디 좋은 결과가 있기를 바란다.
팔꿈치를 맞대고
다른 소프트웨어 개발자와 나란히 앉아서 실제로 같이 작업할 바업을 찾아보라.
- 다른 개발자와 공통의 목표를 달성하기 위해서 같이 일할 때만 배울 수 있는 것이 있다.
‘짝 프로그래밍’ 개발이 이 패턴의 구체적인 사례이다.
- 견습생들은 이런 기법을 적용하고 있는 팀에서 일할 기회를 찾아야 한다.
‘짝 프로그래밍’ 은 복잡한 활동이며, 늘 좋은 경험으로 남지만은 않는다.
- 그러나 효과적으로 사용된다면 가장 뛰어난 학습 방법중 하나이고, 특히 멘토들과 함께 할 경우에 그렇다.
팔꿈치를 맞대고 일한 경험이 좋았든 나빴든, 배운것을 기록하고 나중에 이런 경험을 돌이켜 보아야 한다.
짝 프로그래밍에 대한 갈망 (나의 생각)
짝 프로그래밍을 경험한 적은 없다.
- 그러나 이 책을 읽으며 짝 프로그래밍의 중요성을 알게 되었다.
- 그리고 우테코에서도 왜 짝 프로그래밍을 하는지 알게 되었다.
왜인지는 모르겠지만 이 책을 읽을 수록, 우테코에 들어가고자 하는 열망이 점점 더 커진다…ㅋ
- 우테코의 대장님이 이 책에서 말하는 ‘장인 정신’ 을 토대로 교육해주시기 때문이라 생각한다.
꼭 준비 잘해서 들어가자.
바닥을 쓸어라
단순하고 매력도 없지만 반드시 해야 하는 종류의 일에 지원하라.
- 내가 훌륭하게 해낸다는 것을 보임으로써, 팀에 일찍 기여하는 좋은 방법이다.
- 물론 이 패턴의 부작용이 몇 가지 있다.
- 팀 내의 잡일꾼으로 굳어져서, 잡다한 일을 도맡게 되는 경우
- 초반의 성공을 잇는 좀 더 도전적인 과제를 부여 받지 못하게 되는 경우
- 부작용에 대처하는 법
- 열정을 키우고, 열정을 드러내며, 스스로를 지지해서, 내가 더 높은 수준의 업무를 맡을 자격이 있음을 증명해 보일 어떤 기회라도 잡자.
그렇다고 호구가 되진 말자 (나의 생각)
- 이 책에서 말한 부작용처럼 이러한 이미지가 굳어지면 안된다고 생각한다.
- 물론 나보다 팀원 모두가 잘하는 팀에 들어가서 꼬리로써 배우는 입장이면, 이런 자세가 필요하다고 본다.
- 그러나 몇 주, 몇 개월동안 잡다한 일만 맡는 호구짓은 하지 말자.
- 물론 그 동안에 내 기량을 높이기 위한 노력은 꾸준해야 할 것이다.
장을 마치며
겸손은 성공적인 견습과정의 토대 중 하나이다.
- 야망과 결합될 때, 겸손은 나를 집중하게 해주며 올바른 방향으로 전진할 수 있게 해준다.
난 ‘긴 여정’을 걷는 중이고 이 여행은 단거리 경주가 아님을 기억해야 한다.
내 경력이 얼마가 되었든, 소프트웨어 장인정신의 관점에선 여전히 초보자이다.
겸손과 야망의 결합 (나의 생각)
- 야망은 겸손함이 같이 있다면, 성공의 길로 갈 수 있는 엄청난 추진력이 되어준다.
- 그러나 겸손함이 없다면, 누구에게도 존중받지 못하는 속세에 찌든 개발자에 불과할 것이다.
- 난 지금 초보자이며, 긴 여정이 끝나는 그날까지 그럴 것이다.