개발자는 코딩으로 밥 벌어 먹고 사는 사람들이다. 알다시피 코딩은 엄청난 지적 능력을 요구로 한다. 그렇다면, 개발자에게 다음 중 어떤 지적 능력이 가장 중요하다고 생각하는가?
1. 기억력
2. 이해력
3. 응용력
4. 분석력
이 질문을 던지면 대부분의 개발자들은 이해력이나, 분석력을 가장 우선이라고 답할 것이다. 그러나, 나는 기억력이 가장 중요한 능력이라고 생각한다. 왜 그럴까?
기억력은 이해력, 응용력, 분석력이 존재하기 위한 기초 능력이기 때문이다. 이는 구구단을 외워야만 올바르게 곱셈 나눗셈을 할수 있는 것과 동일한 이유다. 모든 학습 능력은 기억력에 기초한다. 여러 사실(명제, 논리, 기초 이론)을 기억을 해둬야만, 그 사실들을 모아서 분석을 하고, 이해를 하고 응용이 가능한 것이다.
뇌 병변 중 가장 치명적이라고 일컫는 치매는 이 기억력의 손실에서 기인하는 것이다. 기억력이 사라지면, 당연히 이해력도 응용력도 분석력도 존재할 수 없다. 우리는 아침에 몇시에 일어나고 양치질을 하고 전철표를 사고, 회사에 출근하여 일할 것이다. 이 모든 행위에는 반복된 행동에 의한 기억력에 기인하는 것이다.
아침에 일어나서 오늘 뭣을 해야할지 전혀 모른다거나, 소변 보러 화장실에 가서 소변은 안보고 손만 씻고 나오는 치매 환자들의 행위는 기억력의 손실에서 기인하는 것이다.
흔히 정상적 이해력이 부족한 바보라는 사람들은, 이 기억력이 너무 모자라서, 기억한 사실들이 별로 없기 때문에, 이해하거나 응용할 능력이 부족한 사람들이다. 바보는 같은 내용을 몇번을 가르켜 줘도 제대로 이해하지를 못하는 것이 아니라, 제대로 기억을 하지 못하는 것이다.
개발 실력을 제대로 갖추기 위해서는 어느 정도 기억력 확보에 집중할 필요가 있다. 내가 사용하는 주종 툴의 모든 매뉴얼을 섭렵(기억)하고, 개발 관련 기초 이론에 어느 정도 터득을 하는 등등의 기억력 확보 노력이 필요한 것이다. 1+1의 합은 2라는 사실을 기억하지 못하면 수학 공부는 불가능하다. 이처럼 모든 배움의 과정에는 기초를 닦는 과정이 반드시 필요한 것이다.
그런데, 개발자들 중에는 암기나 기억력은 별로 중요하지 않고, 이해력과 응용력만이 가장 중요한 개발자적 자질이라고 우기는 사람들이 있는데, 이들의 공통된 행태가 있다. 바로 지극히 게으르다는 것이다. 이들의 공통된 습관은 바로 개발 비급, 혹은 절대 신공이 존재한다고 믿으며, 이런 절대 신공을 찾고자 혈안이 되어 있다는 것이다. 개발 실력 향상을 위한 피나는 노력은 전혀 쓸데 없는 시간 낭비라고 생각하는 것이다.
과거 고수들이 만든 절대신공처럼 보이는 기술은 결코 절대신공이 아니다. 그 고수는 피나는 수련과 시행착오를 반복한 끝에 그 신공처럼 보이는 기술을 "익히고 체득한" 것이다. 절대 신공이 적힌 비급(우리 개발자들은 이를 주로 개발관련 팁이라고 칭한다) 몇권을 훑어 보면 그 고수의 절대 신공이 익혀질 것이라고 생각하면 아주 큰 오산이다.
그런데도 불구하고, 상당수의 개발자들이 이런 신공과 비급 찾기에 골몰하고 있는 것을 보면 너무 안타깝다. 대단한 수준은 아닐지라도, 지금 정도 수준의 객체지향적 코딩 방법론을 정립하기 위해서 나는 엄청난 노력과 시간을 들였다. 그 과정을 초스피드로 이뤄주는 비급이나 신공이 있다고 기대하는 것은 지극히 어리석은 것이다.
여러 잡다한 개발팁을 자신의 소스에 마구잡이로 카피 페이스트로 도배하는 행위는 응용력이 아니라, 베끼기 행위일 뿐이다. 베끼기와 응용은 전혀 다르다. 베끼기는 베낀 다음에 곧바로 잊어버리기 때문에 다음에 같은 문제가 발생하면 똑같은 시간 낭비를 행할 가능성이 매우 크다. 그리고 베끼기로 일관한 소스는 유지보수 자체가 불가능할 정도로 엉망인 경우가 무수하다.
어떻게 하면 델파이를 잘할수 있을까요? 라고 누가 나한테 질문을 한다면, 나는 십중팔구 이렇게 답한다.
"일단 델파이 매뉴얼을 달달 외우세요. 그러면 어느 순간에 저절로 델파이 고수가 되실겁니다."
영문법이나 독해에 대해서 문외한인 사람일 지라도, 장문의 영어 문장을 이해할 수 있는 방법이 있다. 그 문장에서 모르는 단어들의 뜻만 영한사전에서 찾아서 기억한 후에, 그 문장을 무조건 반복해서 읽어대기 시작하면, 그 문장 전체를 암기할 수 있게 되고, 어느 순간에 그 문장의 뜻이 확연히 떠오르게 된다. 이처럼 반복된 기억력은 저절로 이해력을 이끌어 내게 된다.
태권도 선수의 기막힌 돌려차기는 선천적 자질이나 태권도 비급만 보고 그 선수가 할 수 있었던 것이 결코 아니다. 엄청난 수련의 결과일 뿐이다. 이 간단한 논리와 사실을 우리들은 종종 매우 자주 망각하고 비급 찾기에 골몰하고 있는 것은 아닌가?
|