2018-01-09 16:40:19

개발자의 평생공부  

임백준(IT칼럼리스트) 




▶ 독후감


영상처리를 전공하고 있는 대학원생으로서 체감하는 것은 매순간 정말 셀 수 없이 많은 새로운 기술과 새로운 프로그래밍 언어가 나온다는 것이다. 그래서 그것들을 다 공부해야하는 것만 같은 압박감을 느끼곤 한다. 하루에 공부할 수 있는 시간은 한계가 있다. 내가 열심히 무언가 새로운 것을 공부해서 숙달해놓으면, 또 새로운 것이 나와 있고 내가 공부한 그것은 낡은 것이 되어버린다. 참으로 절망적이다. 


이러한 절망을 나를 포함한 많은 공대생들이 경험해왔을 것이다. 그러면 도대체 우리는 어떻게 해야할까? 그에 대한 하나의 좋은 대안을 임백준님의 <개발자의 평생공부>가 주고 있다. 칼럼을 읽으시려면 이 링크를 클릭하세요. 

http://www.zdnet.co.kr/column/column_view.asp?artice_id=20170616090644&type=det&re= 


칼럼의 내용을 아래와 같이 요약해보았다. 


프로그래밍의 본질은 문제의 해결이다. 따라서 개발자는 문제해결능력을 키우는 공부를 해야한다. 실력은 단순히 지식의 총합이 아니라 고통의 총합이다. 본질에 다가가기 위해 감내해온 고통의 총합이다. 


그렇다면 어떻게 공부해야 하는가? 

1. 지금 다니고 있는 회사에서 하는 일을 잘하기 위해서 노력하는 것이 가장 좋은 공부다.

2. 회사에서 하는 일과 개인적으로 공부하는 내용을 최대한 근접시키기 위해서 노력하라.

3. 새로운 기술을 익히는 최선의 방법은 스스로 문제를 정의한 다음, 새로운 기술을 이용해서 그 문제를 풀어보는 것이다. 책을 읽거나 동영상을 보는 것은 그보다 하위수준의 방법이다.

4. 신기술을 좇는 메뚜기가 되지 말라.

5. 모든 것을 알아야 한다는 강박을 버려라. 미리 획득하는 지식의 99%는 무용지물이다. 필요할 때 필요한 기술을 익힐 수 있는 것이 능력이다. 그 능력을 키워라.

6. 이상한 나라의 앨리스에 나오는 토끼굴을 피하라. 카테고리이론을 알아야 함수형 언어를 쓸 수 있는게 아니고, 선형대수학을 공부해야 머신러닝을 할 수 있는게 아니다. 토끼굴에 빠져서 한없이 들어가다보면 비본질적인 공부에 시간을 허비하게 된다. 

7. 겉만 핥는 것은 경박하지만 토끼굴에 빠지는 것은 우매하다. 둘 사이의 적당한 지점에서 균형을 잡는 것이 개발자의 능력이다.

8. 머리에 들어오지 않는 어려운 개념이나 용어는 자투리 시간을 이용해서 반복적으로 읽고 암기하라. 나중에 큰 그림을 공부할 때 도움이 된다.

9. 항상 겸손해야 하지만 동시에 자긍심을 가져라. 그대가 지금 작성한 코드, 지금 읽은 책, 지금 공부한 내용을 그대보다 잘 아는 사람은 지구상에 없다. 모든걸 알고 있는 것처럼 보이는 다른 사람들도 그대와 마찬가지로 불안해하고, 위축되고, 두려워하면서 살아가고 있다. 자긍심이란 그런 타인을 돕고자 하는 마음가짐의 다른 이름이다.

10. 혼자 하지 말고 함께 공부하라.


한마디로 요약하자면, 문제 해결 능력을 키우라는 것이다. 새로 나오는 것을 다 알려고 하지말고(그것은 불가능한 일이다), 본질적인 능력인 문제 해결 능력을 키우라는 것이다. 미리 모든 것을 다 알려고 하기보다는 필요한 순간에 필요한 기술을 익힐 수 있는 능력을 키우라는 것이다. 


예전에 아는 후배가 드럼 학원에 등록하러 갈 때 따라간 적이 있다. 드럼 선생님이 후배에게 두 가지 레슨 방법 중에 하나를 선택하라고 했다. 하나는 완전 기초부터 시작해서 조금씩 수준을 높여가는 방법이었고, 또 하나는 일단 연주하고 싶은 곡을 하나 선택해서 거기에 필요한 스킬들을 연습하는 것이었다. 후자를 '표적레슨'이라고 한다고 하셨다. 후배는 후자를 선택해서 레슨받기로 했었다. 


지금 생각해보면 표적레슨의 방식이 문제 해결 능력을 키우기에 상당히 좋은 방법이라고 생각이 든다. 불필요한 것은 제외하고 우선 당장 필요한 것들부터 연마해가는 것이다. 이 방식은 동기부여에 있어서 확실하다. 목표가 분명하기 때문이다. 물론 문제를 해결하기까지 쉽지 않은 시간들을 보내겠지만 목표가 흐릿한 것보다는 훨씬 낫다. 


기초를 쌓는 것은 물론 매우 중요한 일이다. 하지만 무작정 기초를 쌓기위해 전공서적들을 하나씩 순차적으로 파는 것은 큰 도움이 되지 않을 수도 있다. 왜냐하면 공부하고 금방 까먹을 뿐더라 공부할 내용이 끝이 없기 때문이다. 그리고 전반적인 큰그림을 모른채 기초만 파면 현실감이 많이 떨어져서 이것이 도대체 어디에 쓰이는지 모른다. 그보다는 나에게 당면한 문제를 해결하기 위해서 기초적인 이론들을 찾아서 공부하고, 구글링을 하고, 책을 읽고, 그림도 그려보고, 동영상 강의를 듣고, 사색하고, 토론하고, 심지어 꿈에서까지 문제를 풀어보는 그 노력들은 확실히 남는다. 큰 그림을 아는 상태에서 탄탄한 기초를 갖춘다면 금상첨화다.


오늘도 문제해결능력을 키우기 위해서 즐겁게 공부하자. 문제를 해결할 때의 그 쾌감이란! 캬~