◆ 말을 배우는 사람과 생각을 배우는 사람
100대의 똑같은 장비가 있고 똑같은 프로그램이 설치된 라인이 있다고 하자
업체로 부터 갑자기 장비 1대에서만 이상한 에러가 뜨니 프로그램 문제를 찾아달라고 연락이 왔다.
이럴때 어떻게 대처해야 하는가 생각해보자
회사에 있는 고급 프로그래머가 전화를 받았다면 이렇게 할것이다.
“똑같은 프로그램이 장비 100대중에 갑자기 한대에서만 프로그램 문제가 생길수는 없습니다. 다른 원인을 찾아보세요 “
만약 같은 전화를 회사의 초급 개발자가 받았다면 어떻게 말할까?
.
.
“똑같은 프로그램이 장비 100대중에 갑자기 한대에서만 프로그램 문제가 생길수는 없습니다. 다른 원인을 찾아보세요 “
완전히 똑같지는 않아도 거의 비슷한 얘기를 할것이다.
어라.. 초급이나 초고수 프래그래머나 다 똑같은 말을하네..
그렇다고 초급 개발자와 고급 개발자가 실력이 비슷하다고 생각해도 되는것인가?
보통 초급 개발자가 가장 범하기 쉬운 착각은 고급 개발자의 말과 행동을 따라하면 자기도 고급 개발자가 된다고 생각하는 것이다.
이런 자세는 정말 말그대로 착!각! 이다.
더욱 심각한 문제는 이런 생각으로 몇년을 개발 업계에서 구르다보면 실력은 한푼어치도 없으면서, 고수의 말과 행동만 따라하는게 습관이 되고, 자신은 정말 고급 개발자라고 생각하게된다 .
고객의 요구사항에 대한 분석도 제대로 못하고, 자신이 작성한 소스코드의 일관성도 유지 못하는 주제에 몇가지 고수가 가르쳐준 팁만을 사용하면서, 자신도 고수라고 생각하는 개발자들을 보면 참으로 어이가 없다.
어이가 없을뿐만 아니라 이런 개발자를 어떻게 처리해야 하는지 대책도 서지 않는다. 이미 고정 관념으로 중무장 해서 무장해제가 쉬운 일이 아니기 때문이다.
위에서 예로 든 상황을 다시 한번 생각해 보도록 하자
고급 개발자는 고객과의 통화에서 말로는 다른 원인을 찾아보라고 했지만..
머릿속으로는 이미 전체 프로젝트의 소스 코드를 스캔하면서(프로젝트의 전체 구조가 머릿속에 고스란히 들어있다. 소스의 내용까지도..), 그런 문제가 생길 수 있는 경우의 수, 조건들을 생각해 보고 있다. 또한 소프트웨어 문제가 아니라 장비의 센서 문제, 모터 문제, 사용자의 문제등 외부의 조건들도 종합적으로 생각하면서 고객이 그런 불평을 할만한 이유를 생각해 본다.
그렇게 하고 나면 이미 소스코드에서 확인해봐야할 중요 체크 포인트 몇가지가 떠올라 있는 상태이며, 아니면 어떤 로그을 추가해 놔야 다음에 같은 문제가 생길때 원인 분석에 도움이 될지 까지 생각을 한다.
게다가 문제의 분석 결과 소프트웨어 문제가 아니고 고객이 단순히 착각한 것이었다고 하더라도 고객이 다음부터 착각을 하지 않도록 개선할 수 있는 방법이 없는지 한번더 세심하게 신경을 쓴 다음 마무리 한다.
하지만 초급 개발자는 위와 같이 말 한다음에... 그냥 끝!! 이다.
그 뒤에는 아무런 생각도 않는다. 심지어는 뭔가 문제가 생겼다는 것까지도 잊어버리곤한다.
물론 그 뒤에 그런 문제가 안생기면 좋겠지만.. 지금까지의 개발 경험으로 볼때, 한번 나왔던 문제가 그냥 사라지는 예는 별로 없었다. 언젠가는 다시 언급이 될 확률이 높을것이다.
말을 배우는것은 2~3살 짜리 애기들이 주로 하는 행동이다. 어른들이 하는 단어나 말을 조금씩 따라하면서 배우는 것이다.
하지만 초급 개발자중에서는 성인이면서도 말만 따라하는 사람들이 꽤 있다. 결국 그런 사람은 학습 수준이2~3살의 아이들 수준 밖에 안된다는 얘기다. 나중에 말은 잘할지 몰라도 생각을 잘 할 수 있을지는 알 수 없는 일이다.
진심으로 개발자의 길로 들어왔다면 고급개발자가 가르쳐주는 단편적인 팁이나 말, 행동만 따라 하려 하지 말고 고수의 생각과 정신 자세까지도 따라하려고 노력하기 바란다.
|
'고급 개발자'와 '초급 개발자'로 보기보다는, '고급 개발자가 될 수 있는 사람'과 '만년 초급 개발자에 머물 사람'으로 보는 것이 좀 더 정확하지 않을까 싶습니다.
초급이어서, 혹은 고급이어서 말씀하신 '자세'의 차이가 나는 것이 아니라, '자세'의 차이 때문에 비교적 짧은 시간에 고급으로 올라갈 수 있는 사람과 아무리 연차를 쌓아도 초보를 벗어나지 못하는 사람이 나뉘어지는 게 아닌가 싶습니다.