코딩은 안 할 거야~~~~를 외치며 컴퓨터공학부를 졸업하고, 어느샌가 개발자가 되어 개발팀장이 되었다고 한다. 이것은 결말 후의 이야기, 에필로그다.
조직이란 무엇일까. 네이버 국어사전에 의하면 "특정한 목적을 달성하기 위하여 여러 개체나 요소를 모아서 체계 있는 집단을 이룸. 또는 그 집단"이라고 한다. '체계(system)' 있는 집단은 가만히 있어서는 만들 수 없다. 체계 만들고 유지하는 행위를 '운영'이라 한다. 조직 운영의 기본은 한 사람이 '꼴아박는' 것이다. '열심히 한다' 정도로는 부족하다. '꼴아박는다'는 속된 표현이 아니면 이 느낌을 표현할 수 없다. 하지만 이런 단어를 계속 쓸 순 없으니 그나마 비슷하면서 긍정적이고 애틋한 느낌의 '헌신'으로 대체하겠다. 모두가 헌신하는 것은 대체로 불가능하다. 헌신을 한다는 건 '내 마음대로 하겠다'는 것을 전제로 한다. 당연하게도 내 마음과 너의 마음은 같지 않고, 둘 이상이 동시에 헌신하는 순간 높은 확률로 충돌이 발생한다. 모두가 자기 마음대로 할 수는 없기 때문이다. 헌신x헌신 대결을 펼쳐서 승리할 수도 있지만, 대체로 '그냥 너가 해'로 귀결된다. '내 마음대로 할거야!' 라며 스스로 무덤을 파는 사람들, 그런 사람을 조직장이라 한다.
조직장은 조직 규모나 특성에 따라 여러 명칭으로 불린다. 늘 의문인 것은 '부문', '부', '실', 그 다음부터는 왜 영어일까, '팀', '파트', '셀'. 그 중에서 나는 팀장이다. 지금 회사에서는 조직의 최소 단위이다. '1차 조직장'이라고도 한다. 예전에 타이러스라는 사람이 '1차 조직장은 할 수 있으면 무조건 하라'고 했다. 이유는 '마음대로 해도 되는데, 책임질 일이 없기 때문'이었다. 그렇다. 매출이 안 나오는 것도, 시장 반응이 뜨뜻미지근한 것도 나의 책임이 아니다. 심지어 조직 운영을 엉망으로 해서 팀원들이 다 퇴사한다고 해도, 그것은 나의 책임이 아니다. 나를 1차 조직장으로 지목한 나의 상위 조직장이 책임질 것이다. 나는 조직원이 되면 그만이다. 책임은 없고, 마음대로 할 수 있는 사람, 그것이 팀장이다.
나는 개발자들과 함께 하는 개발팀장이다. 회사 밖으로 나가서 "IT 개발자입니다"라고 말해보자. 그들은 어떤 생각을 할까. 매일 컴퓨터 앞에 앉아서 키보드를 타닥거리며 시뻘건 눈으로 0과 1로만 대화를 하는 사람을 떠올릴 것이다. 자, 이제 이들과 함께 제품을 만들어봅시다. 그들은 코딩을 합니다. 그리고 저는 코딩하는 사람들을 코딩합니다. 이것을 '메타 코딩'이라고 부른다. 코딩이라 함은 코드를 잘 적어서 원하는 결과를 도출하는 것이다. 결국 이것도 저것도 코딩이고 내가 하는 것은 코딩의 코딩, 메타 코딩이다. 이전에 하던 것과 비슷하다. 그저 새로운 언어와 환경에서 개발을 하는 것 뿐이다. 갑자기 새로운 언어를 배워야 한다고!? 당황할 필요는 없다. 많은 개발이 그렇듯 담당자가 아니면 코드 내부 사정을 잘 알지 못한다. 결과가 나오면 그냥 그런가 보다 하는 것이다. 앞서 말했듯 나는 혼자서 마음대로 하는 사람이고, 책임도 없다. 낄낄. 디버깅을 열심히 하자.
코딩을 하다보니 뭔가 잘 안 된다? 내가 새로 짜자니 시간이 너무 많이 걸린다? 검색을 한다. 내가 고민하고 있는 것들은 이미 누군가가 다 해두었다. 메타코딩도 동일하다. 이걸 해야 하는데 우리팀엔 없다? 높은 확률로 다른 팀에 그것이 있을 것이다. 역시 검색으로 해결하자. 담당자를 찾아 접근하려고 보니 블락이 걸려 있다면, 어떻게 해야 할까. 가장 쉬운 건 '안 됩니다'를 시전하는 것이다. 두 번째가 가장 많이 사용하는 것인데, 일단 들이미는 것이다. "이게 필요합니다. 주세요." 대부분 통하지만 안 될 때가 있다. 이럴 땐 상위 조직장을 이용하면 된다. "이거 해야 하는데 쟤네가 안 줍니다." 여기까지 해서 안 되면, 안 됩니다,를 시전하자. 안 됩니다.
개발조직장은 결국 메타코딩을 하는 사람이고, 하는 일은 개발과 크게 다르지 않고, 그냥 꼴아박으면서 개발하면 된다는 결론에 이르렀다. 그렇다면 개발조직장을 맡아 달라는 요청이 들어왔을 때 어떻게 해야 할까. 경험이 있다면 본인의 경험에 비추어 판단하면 된다. 처음 제안이 들어왔다면 어떻게 해야 할까. 지금 하는 일이 같은 일이 반복되고 있다고 느낀다면, 혹은 다른 차원의 개발을 해보고 싶다면 참여 버튼을 누르자. 원래 하던 개발로 돌아가는 것은 생각보다 쉽다. 하지만 나는 그래 본 적이 없고, 막 던지는 말이다.
처음 겪는 - 좋을 수도 나쁠 수도 그저 그럴 수도 있는 - 일들은 다음에 겪게 될 새로운 일들을 대할 때 분명 도움이 된다. 짧게 말하자면, '잘 배웠다'. 앞으로도 잘 써먹을 예정이다.
판교 10년차 개발자 낭만 리스트 (8) | 2024.04.11 |
---|---|
팀장과 팀원의 차이 Best 5 (0) | 2024.04.11 |
앱개발과 웹개발의 차이 Best 3 (0) | 2024.04.11 |
KlaySwap V3 풀에서 토큰 스왑하기 (0) | 2024.04.08 |
고라니 (1) | 2024.03.29 |