A급 개발자의 요건..
요즘 주니어들은 "실력이란게 대체 뭐냐?"
이정도 안타까운 수준에서 머물고 있기 때문에 한명의 오래된(?) 시니어로써
개발자에게 있어 A급 개발자는 다른 개발자와 어떠한 차이가 있는지를 정리하고자 합니다.
HR님들도 한번 생각해보는 계기가 되기를 바랍니다.
"도구화지능"
개발자는 결국 생산성입니다. A급은 도구화지능이란 것이 있습니다. 호모 하빌리스.
모든 인류는 대체로 지혜롭지만 도구를 만들어 쓰는 인간은 훨씬 뛰어납니다.
도구화지능은 삽을 만들지, 포크레인을 만들지의 수준차이입니다.
N급(Normal)에게 유사한 일을 5차례 주면..
(1) 100일 (2) 90일 (3) 85일 (4) 82일 (5) 80일
A급에게 유사한 일을 5차례 주면..
(1) 120일 (2) 90일 (3) 50일 (4) 5일 (5) 2일
대략적으로 위와 같은 결과가 나옵니다.
N급은 아무리 노하우를 쌓아도 80%정도에 수렴되는 그래프라면
S급은 일 자체가 거의 사라지는 결과를 가져옵니다.
N급에게 주니어를 붙여주면..
(혼자) 1프로젝트소화 100%효율 (3명) 1프로젝트소화 90%효율
(10명) 1프로젝트소화 50%효율 (100명) 개발진행이 안됨
A급에게 주니어를 붙여주면..
(혼자) 1프로젝트소화 100%효율 (3명) 3프로젝트소화 각 80%효율
(10명) 15프로젝트소화 각 90%효율 (100명) 300프로젝트소화 각 100% 효율
N급은 주니어를 거의 활용할 수가 없습니다.
자기 보조를 맞추는 식으로 운용하지만 그들과 수작업으로 확인되는
소통규칙을 정하느라 오히려 진행이 느립니다.
A급은 주니어를 붙여주면 자기 도구가 더 강화되어 주니어를
독립적인 시니어로 성장시킵니다. 더 붙여주면 분업화를 추구합니다.
그럼 A급은 어떻게 판단하는가?
소스코드를 보면 됩니다. 얼마나 적절하게 도구화를 진행하고 있는가.
어떤 부분을 도구화해야 한다고 생각하고 있으며 어떤 식으로 풀어냈는지.
도구화를 하다보면 유사한 단계를 거쳐 올라갑니다.
1) 엔진화 - 소스코드 레벨의 도구화
2) 에디터화 - 컴퓨팅을 활용한 소스/리소스 자동화도구를 개발
3) 언어도출 - 보다 지능적인 에디터화를 추구하고 주니어를 활용하기 위한 언어창시.
파이썬의 귀도반로섬, 자바의 제임스고슬링은 언어창시를 누가 시켜서 했다기보다
이런 자기 실력에 따른 도구화의 당연한 단계를 타고 올라간 경지라고 판단합니다.
그렇기에 A급을 소스코드를 보고 판단할 수 없는 상황이라면
현재 개발의 관심사를 물어보면 됩니다.
스스로 어느정도의 도구화를 이룩한 자인지를 보면 됩니다.
어떤 개발자가 어떤 언어를 사용하는지는 중요하지 않습니다.
모든 언어는 도구화를 이룩할 수가 있습니다. 아! 블럭코딩 스크래치류는 안됩니다. ㅎ