도메인 지식이 뭐에요. 그냥 회사 업무가 어떻게 돌아가는지 안다.
한마디로 그냥 단순 직종에 가면 일 잘하는 사람과 아닌 사람을 구분짓는 것이 사실은 이 도메인 지식에 따라 갈린다고 해도 과언은 아니죠.
근데 주니어인 것 같은데 아닌 것 같은 사람들이 가끔 보이는 경우 들이 있어요. 그게 바로 이 도메인 지식 때문이에요.
도메인 지식을 많이 가졌어요. 근데 프로그래밍 실력 자체는 주니어에요. 회사에서 많은 일을 빨리빨리 쳐내요. 그러면 intermediate 같기도 하고 회사에 오래 있었으니까 시니어 같기도 하거든요. 그래서 이거를 올바른 표현을 한다면 주니어 with domain knowledge죠. 그래서 이거 갖고 자꾸 회사에 오래 버티고 있고 돈을 많이 받는 것만으로 ’나는 주니어가 아니야’라고 믿으시는 분들이 있는데 당신은 도메인 지식을 훌륭히 가지고 있기 때문에 그 회사에서 돈을 많이 받고 있는 거고요.
이상하게 이 회사만 나를 봉급을 많이 주고 다른 데 가려고 하는데는 봉급을 못 맞춰주겠다는 거에요. 그리고 다른 데서 면접을 보는데 ‘버블 정렬 만들라’ 그러는데 이거 뭔지 몰라서 계속 실패하고 ‘아이 그거 안 써봤는데 이거 내가 왜 알아야 돼’ 이러면 당신은 주니어입니다.
본인이 프로그래밍 실력을 안 늘렸어요. 늘릴 생각도 없거나 아니면 못 늘렸어요. 이유는 모르겠지만, 근데 성장을 할 생각은 없어요. 그럼 그 회사가 평생직장입니다. 그 회사에서 잘 머물고 오래오래 사시는 게 본인한테 좋습니다.
내가 이 회사에서 도메인 지식만 갖고 있어서 버텼는지 아니면 내가 정말 코딩을 잘하는 건지. 제일 확실한 방법은 그냥 다른 데 가서 면접보고 내가 동종업계가 아닌데 연봉을 유지하면서 이직 할 수 있는 잡 오퍼가 온다 그러면 주니어가 아닐 가능성이 높죠. 근데 이것도 여러 번 해봐야 돼요. 한 두 번은 속일 수 있거든요.
주니어급의 프로그래머가 일반적으로 하는 일들이 코드 복붙이고요. 좋은 코드를 못 만듭니다. 사실은 그렇기 때문에 주니어거든요. 그래서 그 상태가 되어 있는 상황에서 옛날에 싸놓은 똥을 다 치워야 되는데 그 똥을 어디 쌌는지 모르는 거에요. 그래서 이게 처음에는 도메인 지식 갖춘 주니어들 잘한다고 생각해서 회사에서도 잘 대우를 해줘요. 한 3년까지 잘해요. 근데 그 뒤부터 갑자기 거의 똑같은 일을 주는 것 같은데 일을 점점 못하는 거에요.
다른 사람들이 무슨 ‘연봉 몇 억을 받네’ 이럴 때 그런 거 꿈꾸지 말고 ’나는 이 정도가 좋아’라고 만족하고 살 수 있으면 상관없는 겁니다. 만족하고 살아야 되는데 헛된 뽕을 맞아서 엉뚱한 데서 이상한 짓 하다가 가지고 있는 것도 잃어버리는 것이 문제인 거죠.
경력과 실력이란, 인과관계가 있는 것 같으면서 상관관계만 있는 것 같고, 어느 때는 상관관계조차 모호해보이는 경우가 있다.
일에는 두 종류가 있다. 짬만 차도 할 수 있는 일과 짬이 차도 할 수 없는 일. 대개 가치있는 일은 짬이 차도 할 수 없는 일이다. 이 둘을 구분하지 못하고 자신이 대체불가능하다 여기는 순간부터 자신의 경력과 실력은 인과관계도 멀어져가고, 상관관계도 음으로 가버린다.
자기 객관화는 철저해야 한다. 시장의 평가를 끊임없이 받아야하고, 어렵게 배워야만 한다.