반응형

개발자의 평생공부

[임백준 칼럼] 실력은 고통의 총합이다


http://www.zdnet.co.kr/column/column_view.asp?artice_id=20170616090644&lo=z46


평생 공부하는 건 개발자만이 아니다. 다른 직업을 가진 사람들도 쉼 없이 공부하고, 컨퍼런스와 세미나를 참가하고, 스터디를 한다. 공부없이 할 수 있는 일이 없기 때문이다. 언뜻 보기에 공부와 거리가 멀어 보이는 바텐더조차 공부할 것이 많다. 바텐더를 위한 컨퍼런스는 물론이고 전문적인 팟캐스트 방송까지 있다. 공부는 누구나 하는 것이므로 공부한다는 사실만으로 엄살을 떨 필요는 없다. 문제는 공부의 방향이다.

개발자의 경우는 평균적으로 보았을 때 3년 전에 학습한 지식이면 낡은 징후를 보이기 시작하고 5년이면 생명을 다한다. 더 오래가는 지식도 물론 있다. 프로그래밍의 본질에 가까운 지식은 수명이 오래가고 파편적인 지식일수록 수명이 짧다. 그래서 본질을 추구하며 에피파니(Epiphany)를 경험한 사람은 그렇지 않은 사람에 비해서 공부로 인한 스트레스를 덜 받는다. 중요한 것과 중요하지 않은 것을 구별하는 혜안이 있기 때문이다.

두 사람의 개발자가 있다고 하자. 한 사람은 최신 트렌드에 밝다. 아마존 람다를 이용해서 서버리스 시스템을 구축하고, 코세라 강의를 들으며 머신러닝을 공부한다. 페이스북에서 친구들이 공유하는 새로운 도구를 건드려보며 지식을 확장하고, 컨퍼런스와 스터디를 참석하여 동기를 부여 받는다. 함수형 언어를 학습하고, 새로운 파이썬 라이브러리도 사용하고, 리액트와 앵귤러로 코드를 짜서 웹사이트도 구축해본다. 부지런하다.

다른 한 사람은 최신 트렌드에 관심이 없다. 대신 회사에서 주어지는 요구사항을 날카롭게 분석하고, 꼼꼼한 설계과정을 거쳐서 코드를 작성하고, 정밀하게 테스트하고, 출시가 성공적으로 끝나면 다음 요구사항을 읽는다. 20년째 한 언어를 사용해서 코딩을 하고 있으며 다른 언어나 플랫폼에 대해서 관심이 없다. 하지만 그의 추상은 도메인주도 개발이나 디자인 패턴을 기계적으로 적용하는 수준을 뛰어넘는다. 요구사항을 코드로 바꾸는 과정에서 필요한 추상을 스스로 만들어내고 새로운 구조물의 상호작용, 데이터의 무결성, 성능 등을 빈틈없이 사고한다. 철두철미하다.

회사에서 새로 만들어야 하는 중요한 소프트웨어 제품이 있다고 하자. 이 제품을 잘 설계해서 정해진 시간 안에 출시함으로써 회사의 비즈니스에 결정적인 도움을 주어야 하는 상황이다. 이런 상황이라면 둘 중 누구에게 일을 맡길 것인가? 아이디어의 타당성을 검증하는 POC(Proof of Concept) 프로젝트나 단순한 R&D 업무라면 최신 트렌드에 밝은 사람을 고려할 수 있을 것이다. 하지만 비즈니스의 성공과 직결되는 실전이라면 그럴 수 없다. 실전이 필요로 하는 사람은 두 번째 유형이다. 그가 가진 능력이 프로그래밍의 본질에 더 가깝기 때문이다. (첫 번째 사람이 두 번째 사람이 가진 능력까지 가지고 있다면 이야기는 달라진다.)

개발자가 공부하는 것은 그래서 두 번째 유형의 사람이 가진 능력, 본질적인 능력을 키우는 것을 의미한다. 프로그래밍의 본질은 문제의 해결이다. 트렌드를 좇는 것은 파편적인 지식을 획득하는 것에 불과하기 때문에 큰 의미가 없다. 페이스북이나 트위터의 타임라인을 보면 수만가지 새로운 기술과 도구가 날마다 쏟아진다. 좋은 개발자라면 그런 것들을 모두 알아야 하는가? 전혀 그렇지 않다. 파편적인 지식은 파편적인 태도만으로 충분하다. 트렌드에 필요한 것은 가벼운 눈팅이지 공부가 아니다. 공부는 본질에 다가서려는 노력이다.

나는 프로그래머다 컨퍼런스에서 한 참석자가 ‘실력을 키우려면 어떻게 해야하는가’라는 질문을 한 적이 있다. 나는 그때 실력이 무엇을 의미하는지부터 생각해보자고 대답했다. 우리는 종종 실력을 이미 알고 있는 지식의 총량으로 착각한다. 실력과 지식의 총량은 희미한 상관관계가 있기는 하지만 사실상 무관하다. 진짜 실력은 임기응변이기 때문이다. 실력은 주변상황에 휘둘리지 않는 집중력이다. 해결해야 하는 문제가 무엇인지 알아채는 감각이다. 처음 본 문제를 해결하는 능력이다. 이러한 임기응변, 집중력, 감각, 그리고 능력은 이미 알고있는 지식으로부터 나오는 것이 아니다. 그것은 본질에 다가가기 위해서 감내해온 고통, 불면의 밤, 좌절, 환희, 이런 것으로 점철된 뜨거운 경험에서 나오는 것이다. 


그래서 실력은 지식의 총합이 아니다. 

고통의 총합이다.

여러분이 페이스북 타임라인을 보다가 누가 공유한 새로운 기술에 대한 링크를 저장했다고 하자. 영원히 볼 일이 없는 글을 저장하는 행위는 쇼핑몰 사이트에서 위시리스트나 보관함에 마음에 드는 상품을 담는 심리와 정확히 일치한다. 즉, 그것은 공부가 아니라 쇼핑이다. 쇼핑과 눈팅이 자체로 의미없는 일은 아니지만 그걸 공부로 착각하는 사람은 파편적인 지식의 늪에서 빠져나오기 어려울 것이다.

개발자에게 공부가 무엇을 의미하는지 알아보았으니 어떻게 공부해야 하는지에 대해서도 잠깐 짚어보자. 지면관계상 짧은 아포리즘 형식으로 나열해 보았다.

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


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


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


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


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


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


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


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


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


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

이 시점에서 가슴에 손을 얹고 스스로 질문해보기 바란다. 공부가 재밌는가? 정말 재밌는가? 새로운 기술을 익히고, 키보드를 두드리고, 결과를 확인하고, 친구들과 이야기하는 모든 경험이 그대를 행복하게 만드는가? 이 질문에 대한 대답이 예스라면, 그 예스의 강도만큼 그대의 미래는 성공이 보장되어 있는 것이다. 그러므로 개발자는 미래에 대해 불안해할 필요가 없다. 미래의 성공은 예스라는 작은 변수의 함수이기 때문이다. 그 변수는 개발자 자신의 손에 놓여 있다.





.

반응형
반응형

가장 많은 것들을 시도하고,

가장 많은 실수를 가장 빠르게 해본 자가

승리한다.

(whoever tries the most things and

makes the most mistakes the fastest wins.)

- 톰 피터스


“실패의 기쁨을 경험하라.

고통 없이는 아무것도 얻지 못한다.

모험이 없으면 보상도 없다.” 웨이 알린의 글입니다.

실패는 치명적인 것도 인생의 종말도 아닙니다.

실패는 오히려 성공의 발판이 됩니다.



.

반응형
반응형

혼자 고통스러워한다는 느낌은 

스트레스 전환의 가장 큰 걸림돌이다. 

신체적 고통, 질병, 실망, 분노, 상실 등을 

경험하지 않고 살아가는 사람은 아무도 없다. 

구체적인 정황은 저마다 다르겠지만 그 근본적인  

경험은 인간이면 누구나 겪는 것이다. 고통이 모든 

사람의 삶에 자리한다는 사실을 이해하는 

사람들은 회복력이 더 크며 

삶에 더 만족할 줄 안다. 


- 켈리 맥고니걸의《스트레스의 힘》중에서 - 


* 우리의 삶은

스트레스의 연속입니다.

스트레스는 '만병의 근원'이라는 말도 합니다.

그러나 다루기에 따라서는 가장 강력한 에너지의

근원이 될 수도 있습니다. 우리 모두에게는 저마다

스트레스를 이겨내는 내면의 힘이 있습니다. 

그 힘을 찾으면 '스트레스 어벤저스'가 

될 수 있습니다. 누구나.




.


반응형

'생활의 발견 > 아침편지' 카테고리의 다른 글

노 프라블럼(No problem)  (0) 2017.04.02
분노를 억제하는 법  (0) 2017.03.31
내 젊은 날을 반성한다  (0) 2017.03.29
몸으로 익히자  (0) 2017.03.28
중요한 것은 사람이다  (0) 2017.03.27
반응형

세상은 꿈꾸는 자의 것이다.

다만 꿈은 행동으로 이어질 때 빛을 발한다.

꿈만 꾸고 행동하지 않는 사람은 몽상가에 불과하다.

꿈을 실현하기 위해 겪는 고통은 착한 고통이다.

착한 고통을 회피하면 지독한 나쁜 고통에서 헤어날 수 없다.

- 김봉국 저, ‘역사 속 승자와 패자를 가른 결정적 한마디’에서

 

현실이 너무 힘들어 꿈도 꾸기 어렵다고 말합니다.

그러나 어려울수록 더 큰 꿈이 필요합니다.

온갖 역경을 극복하고 노벨문학상을 수상한 카뮈는

‘삶에 대한 절망 없이는 삶에 대한 희망도 없다’고 말합니다.

꿈꾸는 것에서부터 절망 탈출이 시작됩니다.



.

반응형
반응형

열 방울 땀을 흘리면 정확히 열 방울의 발전이 이뤄진다.

노력에는 ‘복리의 법칙’이 숨어 있다.

서른 방울 땀 흘린 사람과 서른한 방울 흘린 사람,

49가지 기술을 가진 사람과 50가지를 가진 사람의

연봉이 얼마나 차이 날 것 같나.

두 배 이상이다.

단 한 번의 차이가 더블의 차이로 벌어진다.

- 이영표 (국가대표 축구선수)

 

노력이 재능을 이깁니다. 

노력은 배신하지 않습니다.

이영표 선수는 말합니다.

“노력에서 오는 고통이 실패의 고통보다 견디기 훨씬 쉽다.

노력은 실패의 고통을 조금씩 미리 가져오는 것이다.

그래야 실패할 확률이 줄어든다.”

반응형
반응형

"어떻게 내가 저토록
깊은 고통을 겪게 내버려 둘 수 있었을까?
어떻게 나 스스로에게 저렇게 지독한 아픔을
줄 수 있었을까?" 나는 몹시도 마음이 아팠다.
그랬다. 나는 거울에 손을 뻗어 눈물어린
그 얼굴을 쓰다듬으며 약속했다.
두 번 다시는 나를 저토록
아프게 만들지 않으리라고.


- 아니타 무르자니의《그리고 모든 것이 변했다》중에서 -


* 내가 나를
아프게 하는 일이 많습니다.
거울에 비친 눈물 어린 그 얼굴, 다름아닌
나의 얼굴입니다. 내가 아프게 한 내 얼굴입니다.
이제는 그 아픔을 내가 쓰다듬어 주어야 합니다.
스스로 위로해야 합니다. 내가 나를 위로하니
눈물이 더 납니다. 그런데 이상하게도
마음은 따뜻해집니다.





.

반응형
반응형

사람이 자기의 인생으로부터 배울 수 있는 가장 큰 교훈은,
이 세상에는 고통만 있는 것이 아니라
그 고통을 극복해 승리를 거두는 것이
자기 자신에게 달려있다는 사실과, 더 나아가
그 고통을 참 기쁨으로 승화시킬 수 있는 능력 또한
자신 속에 있다는 것이다. - 라빈드라나드 타고르

 

“의지는 쉽고 조용히 개발될 수 없습니다.
오직 시련과 고통의 경험을 통해서만
영혼이 강해지며, 야망을 자극하며, 성공을 이룩할 수 있습니다”
헬렌 켈러의 글 함께 보내드립니다.

 

 

.

반응형
반응형

위협을 느낀다는 것은 중요하다.
위협이 없으면 죽은 것이나 마찬가지다.
어느 의미에서 위협은 삶의 조건이라 할 수 있다.
위협 속에서 용수철 같은 힘도 솟는 것이다.
- 자크 아탈리

 

유약한 삶을 흔히 ‘온실 속의 화초’에 비유합니다.


편안함과 안전을 추구하는 것은 결국
온실 속의 화초가 되고 싶다는 것과 마찬가지입니다.


온실 속의 화초가 아닌 멋진 인생을 꿈꾸는 이에겐,
위기, 위협, 역경, 고통은 피해야 하는 것이 아니라,
적극적으로 찾아나서야 할 대상입니다.

 

 

 

.

반응형

+ Recent posts