2018년 5월 22일 화요일

연봉협상 준비

안녕하세요. 오늘은 저희 회사의 시즌에 맞추어 연봉협상 이야기를 하고자 합니다.

제가 다니고있는 회사에서 5월 말일은 지난 1년간 저의 업무목표를 달성해야 하는 날입니다. 회사의 fiscal year가 7월부터 시작되기에 회사 회계상으론 7월이 되면 2019년이 되는 것이고 연간 목표/계획/예산 등도 이에 맞추어서 합니다.

그러니 자연스럽게 5월 말부터 6월 말 까지는 각 개개인의 퍼포먼스 평가와 함께 연봉 협상이 이루어지죠.

저는 보통 지금 즈음에 일반적인 인상 폭이 넘게 기대를 한다면 매니져에게 내가 원하는 조건에 대해 살짝 귀뜸을 합니다. 그래야 매니져도 미리 어느정도 예상을 하고 그에 맞게 팀 예산과 계획을 잡아두어 추후 연봉 및 베네핏 조건을 협상할 때 좀 더 빠르고 수월하게 할 수 있기 때문이죠. 그런데 올 해에는 조금 상황이 애매합니다. 매니져도, 그 위에 VP도 공석인지라 딱히 말을 꺼낼 상대가 없으니까요.

일단 이러한 저의 문제는 제가 스스로 답을 찾아 보기로 하고, 보통의 연봉 협상에 대한 이야기를 해 보겠습니다.

누군가 그랬습니다. 연봉 협상에 들어가기 전 최고의 준비는 지난 1년간 일을 잘 하는 것이라고요.

네 맞는 말이에요. 회사가 구호단체도 아니고, 본인이 현재 받고있는 샐러리 이상의 일을 하고있지 않다면 회사에서 연봉을 올려 줄 이유가 없기에 어마어마한 달변가가 아닌 다음에야 어떤 준비를 해 간다 한들 연봉 인상의 요구는 먹히지 않을겁니다.

그러면 지난 1년간 일을 정말 잘 해왔고, 스스로 판단하기에 연봉대비 자신의 기여도와 가치가 더 높다고 생각되었을 때에는 어떻게 하는 것이 좋을까요?

본인의 상관이 괜찮은 사람이라면 정말 아무것도 하지 않아도 됩니다. 경우에 따라 연봉협상 기간이 아니고, 내가 요구 한 적이 없음에도 회사에서 먼저 올려주기도 하죠. 이런 경우는 보통 회사가 인력난에 시달릴 때 종종 일어납니다. 제가 회사에 처음 들어왔을때, 인터뷰를 마치고 job offer를 받고 첫 출근일 사이에 저희 팀에서 2명이 퇴사를 했습니다. 그리고 제 probation 기간 3달 동안 추가로 3명이 퇴사를 했는데 비지니스 규모는 점점 커지고 backlog에 밀려있는 일들은 급속도로 늘어나는 상황이였습니다. 그 와중에 퇴사한 1명은 지난 3달간 저와 친하게 붙어다니던 친구였고요. 사실 저는 언제 짤릴지도 모른다는 불안감에 3달간 시달리다 가까스로 Probation을 통과하고 마음의 안정을 찾으면서 Probation 통과만으로도 그저 감사하게 생각했던 시기인데, 회사에서 먼저 제 연봉을 20% 넘게 올려줬습니다. 아무래도 새로 고용하는 속도보다 나가는 속도가 더 빠르니 추가 이탈자를 막기위한 조치였던 것 같아요.

제가 특별히 잘나서 그랬던 것은 아니고, 때마침 상황도 그러했고, 제가 하는 일의 양이 제가 받던 연봉에 비해 많았기에, 회사차원에서 추가 이탈자를 막기 위해 각 개인의 시장가로 연봉을 다 올려 준 상황이였고 저에게만 있던 일은 아니였어요. 이미 검증된 집토끼가 아직 어떨지 모르는 산토끼보다는 더 소중하다고 생각하는 매니져라면 이런 상황에 이렇게 대응을 하기도 하며 저희 회사의 다른 팀에서도 이와 비슷한 일이 있던 적이 있으며 다른 회사에 일하는 제 지인들도 비슷한 경험을 하신 적이 종종 있습니다. 
유니크한 케이스는 아니지만 그래도 조금은 특별한 케이스죠.

그러면 일반적인 경우로 돌아오자면, 평소에 일만 잘하면 안됩니다. 자신이 하고있는 일과 성과에 대해 잘 포장을 하고 널리 알려야 합니다. 매니져의 스타일에따라 다른데, 각각의 팀원들의 성향과 현재 업무와 성과에 대해 잘 알고 이해하는 매니져도 있고, 잘 알고있는 것을 넘어서 micro management하려는 매니져도 있고, 잘 알고는 있지만 이해는 못하는 매니져도 있고, 잘 알지도 못하고 이해도 못하는 사람도 있습니다.

잘 알고 이해하는 매니져고, 회사 재무팀에서도 팀 연봉 예산에 대해 합리적인 수준으로 책정을 하는 경우라면 사실 특별한 협상은 필요 없습니다. 애초에 본인이 생각한 연봉 인상 수준에는 미치지 못할지 몰라도 충분히 수긍 할 만한 수준의 인상이 이뤄지는 것이 보통입니다.

하지만 잘 알지 못하거나, 이해하지 못하는 매니져를 두고있을 경우, 매니져도 사람인지라 팀원들 개개인에 대해 주관적인 의견을 평소에 갖게 됩니다. 만약 매니져의 생각이 내 실제 성과와 우연치않게 같다거나 과대평가 되어 있다면 문제가 없는데, 불행하게도 보통의 경우 한국분들은 과소평가되기 쉽습니다.

과소평가되는 이유중에 큰 부분은 커뮤니케이션에 있는 것 같습니다. 커뮤니케이션 스킬도 문제가 될 수 있지만 더 큰 것은 문화적인 차이 때문인것 같아요. 힘들어도 힘들다는 이야기 잘안하고, 문제가 있어도 사소한 것이면 혼자 해결하는 사회적으로 학습된 문화요. 저도 처음엔 저의 job role에 맞는 일을 그냥 한 것이기에 내 일이라 따로 알릴만한 것은 아니라고 생각 했지만, 여기는 예전에 한국에서 많이 이야기했던 "자기 PR"이 중요한 곳이라 스스로를 포장하고 광고하지 않으면 아무도 나를 몰라줄 수도 있습니다.

평소에 내가 일을 많이 하고있고 잘 하고 있다는 것을 알리려면 우선 자주 커뮤니케이션을 하는 것이 좋습니다. 너무 사소한 문제들까지 거론하면 불평만 늘어놓는 사람으로 보일 수도 있으니 적절한 수준을 찾아야 합니다. 예를들어 나만 겪을 문제가 아니라  회사 전반적으로 문제가 나올만한 상황 같은거요. 그리고 문제가 있을 때만 이야기 하기 보다는 문제 해결책을 어느정도 찾았을 때가 좋습니다. "이런 문제가 있는데 다른 애들도 겪을 수 있어서 생산성에 문제가 있을것 같다. 당장 나는 임시로 이렇게 해결을 했지만, 환경이나 인프라나 프로세스가 이런 식으로 바뀐다면 모두에게 훨씬 도움이 될 것 같다" 이런 식으로요.
그리고 만약 내가 한 일이 현재 나의 타스크에만 영향을 줄 만한 것이 아니라 다른 영역에까지 파장을 미칠 수 있는 일이라면 관련 담당자들에게 널게 알리는 것이 좋습니다. 이메일을 통해 공식적으로 하는 것이죠.

이렇게 평소에 동료들에게, 매니져에게 자기가 어떤 일을 하고있는지 자주 알리는 것이 과소평가 받는 것을 피하는 방법 중 하나입니다. 물론 아무리 숨어서 일을해도 그 실력이 워낙 출중한 낭중지추 같은 인물들은 말 한마디 안하고 혼자 묵묵히 일을 해도 누구나 다 알아채지만, 저 같은 보통 사람들은 그렇지 못하니 일만 열심히 해서는 안되고 일을 하면서 내가 무슨 일을 해냈는지 잘 알려야합니다. 단, 여기도 너무 잘난체 하는 사람은 싫어합니다. 자랑하고싶어 입이 근질근질거려도 자랑하는 방식이 아니라 무엇이 어떻게 바뀌었고, 너희들의 업무에 어떻게 영향을 줄 수 있는지, 그래서 개선된 것은 무었이고 행여 발생 가능한 부작용은 무었일지에 대해 공지하는 식으로 하는거죠.

커뮤니케이션 관련 또 다른 중요한 것은 나의 발전 가능성을 인지시키는 것입니다. 개발자라면 꾸준히 이런저런 새로운 것들을 공부하실텐데, 혼자서 조용히 하기 보다는 매니져와 1:1 면담 시간에 조금씩 흘리는 것입니다. 이 나라의 면담은 한국에 비하면 상당히 캐쥬얼합니다. 딱히 특정한 문제가 없을 때엔 그냥 서로의 사는 이야기만 하다 끝나는데, 이 때 내가 하고있는 공부들을 조금씩 꺼내놓는 것이죠. 한국도 그렇지만 여기도 발전적인 사람을 당연히 더 선호합니다. 그리고 만약 자신의 현재 타이틀이 junior나 intermediate 라면, 내가 그 위로 오르기 위해서 부족한 것이 무었인지 간간히 묻는 것 역시 좋습니다. 타인이 평가하는 나에대해 알게되며 진짜로 자기 성찰의 기회가 되기도 하고, 프로모션에 대한 일종의 압박이 되기도 하면서, 지속적인 발전을 추구하는 사람이라는 인상도 남길 수 있습니다. 만약 이미 senior라면 회사의 중장기 플랜을 묻는 것도 좋습니다. "지금 내가 이런걸 공부중인데, 이걸 잘 활용하면 이런저런 부분에서 우리 제품이 더 좋아질 수도 있을것 같아 참 재미있더라. 근데 우리 플랜에 이 부분에 대한 개선도 있긴 하냐? 우리 중장기 플랜은 지금 뭐냐?" 이런 식으로요. 단... 잘못 걸리면 그 신기술 관련 사내 세미나 혹은 발표를 해야 할 수도 있다는게 좀 함정입니다... ㅠㅠ

그 다음은 자기가 한 업무 성과를 잘 정리 해 두는 것입니다. 거창한 보고서 양식은 아니더라도 필요시 언제든지 찾아보고 내가 1년간 이룬 업적과 성과들은 무었이 있는지 한 눈에 보일 수 있으면 됩니다. 만약 업적 중에 요구사항에 의한 기능 구현이나 단군한 버그 수정이 아니라 회사 전체의 생산성을 올릴만한 일이나, 오랜기간 난제였던 것을 해결한 성과가 있다면 가능한 수치화 하여 정리하는 것이 좋습니다. 예를들어 "빌드 후 테스트시간이 이전엔 30분이였는데, 15분으로 개선되어 피드백 타임이 절반으로 줄었다", "자동화 테스트 커버리지가 40%였는데, 80%까지 올랐다" 같이요.

간혹 회사와 연봉 협상을 하면서 회사에서 먼저 연봉 상승 요인이 별로 없다며, 혹은 너의 성과에 걸맞는 가격이라며 선수를 칠 수도 있습니다. 심지어 다른 팀원들이 한 일들을 예시로 들면서 얘네들은 이런 큰 일들을 해 냈고, 회사 전체에 더 넓고 크게 영향을 주었지만 넌 이런 것이 없어 상대적으로 인상 요인이 적다고 이야기를 할 수도 있고요. 인상을 기대하고 테이블에 앉았지만 회사에서 회사의 논리를 펴면 당혹스러울 수 있습니다. 이럴때 사전에 정리해 둔 지난 1년간의 자신의 성장과 성과와 업적들을 수첩에서 꺼내어 하나씩 이야기 하는 것입니다. 내가 이런이런 일도 했고, 요런 저런 개선도 해서 회사 전체 생산성도 올랐고, 해결 못하던 난제들도 해쳐 나갔고, 비용도 이만큼 절감이 됐을텐데, 그래도 더 안줄래?

그 다음은 시장가격에 대한 파악입니다.
내가 이런저런 어마어마한 일을 해 냈다고 해도, 시장에서 일반적으로 허용하는 가격대라는 것이 있을 수 밖에 없기에 그 범위를 크게 벗어나기는 힘듭니다. 정말 혁신적인 일을 해 낸 경우라고 해도 보통 연봉을 올리기 보다는 그 해의 보너스만 수만불 쥐어주고 끝내는 경우가 많죠. (연봉이 오르면 그에 따른 베네핏도 같이 오르고, 연봉을 다시 깎기는 힘들기에 그 연봉이 계속 유지되는 것이라 회사 입장에서는 보너스로 주는 것을 더 선호합니다. 반대로 직원은 같은 총액이라도 보너스 보다는 연봉을 올리고 싶어하고요)
그럴 때에는 자신의 시장가격을 잘 아는 것이 중요합니다. 하지만 이게 한국에 비하면 쉽지가 않아요. 한국에서는 대략적으로 직장과 자신의 연차에 따라 연봉이 정해집니다. 한국에서 각자의 연봉을 오픈하지 않아도 xx회사의 과장이다, oo회사의 차장이다 라고 하면 연봉이 얼추 나오고, 연차가 yy년차다 라고 하면 사원/대리/과장/차장/부장 등 직급이 얼추 보입니다만, 캐나다에서는 그렇지 않다보니 내가 받아야 할 만한 수준을 짐작하기 쉽지 않습니다. 10년을 일해도 쥬니어일 수도 있고, 2-3년만에 시니어가 될 수도 있으니까요.

그래서 저는 다음 두 가지 정도를 제 레이더 망 내에 포함시킵니다.

지피지기면 백전백승이라고 하죠? 먼저 제 자신의 스킬셋에 대해 잘 정리하고 하나씩 발전 시킵니다. 나 자신에 대한 객관적인 평가는 참 쉽지 않은 것 같습니다. 그때 그때 기분에 따라 혼자 공부해서 익힌 새로운 기술에 대해 때로는 끝없는 자신감이 솓아오르기도 하고, 때로는 한없이 자신감이 무너지기도 하죠. 그래서 저는 코드 리뷰를 할 때 그들이 작성한 코드에서 오류나pitfall 이 있는지 정도만 확인하기 보다는 제가 이걸 구현했다면 어떻게 했을지 생각해보고, 그들이 구현한 코드와 제 머릿속에 있는 코드와 비교를 해 봅니다. 그러면서 배우기도 하고 내 자신의 위치에 대한 짐작을 해 보는 것이죠. 또한 리뷰를 하면서 그들이 어느정도의 난이도에 있는 어떤 일들을 얼마나 하고 있는지 역시 알 수 있기에 나중에 회사에 내가 남들보다 얼마나 더 많은 일들을 하고 있는지 이야기를 할 때 내 스스로의 기준이 되어주기도 합니다.

그 다음은 시장에서 내 가치를 아는 것입니다. 꼭 이직 할 마음이 없더라도 간간히 다른 회사를 만나보면 도움이 됩니다. linkedin 계정을 잘 다듬어두고, 현지 경력이 조금만 쌓여도 리크루터들로부터 간간히 연락이 옵니다. 그들을 전부 만나기엔 시간이 너무 부족하지만 컨택 온 회사나, 제시하는 롤에 따라 필터링을 해서 연락을 해 봅니다. 보통은 면접 전에 리크루터가 기대연봉을 묻는데, 이 때 반대로 너희의 budget range를 물어봅니다. 보통은 실제 네고를 거쳐 받을만한 수준보다 낮은 가격대가 먼저 나오긴 하지만, 그래도 일단 서류상 보이는 내 경력에 맞는 대략의 수준을 알게됩니다. 현재 내 연봉이 그 범위 이하라고 한다면 이직을 통해서건 현 직장에 요구를 해서건 올릴만한 여지가 충분히 있다는 말이 되죠. 또 그렇게 이야기가 잘 풀려 면접을 보다보면 다른 회사에서는 요즘 어떤 기술들을 어떻게 활용하는지도 보여 지금 회사에서 부족한 점이나, 내가 가진 스킬 중 부족한 것은 무엇인지도 느낄 수 있게 됩니다. 잘 되면 진짜 이직으로 이어질 수도 있는 것이고, 안되더라도 최소한 나를 과대평가 해주고 있는 지금 직장에 고마움이 생기죠 ㅎㅎ.

이렇게 평소에 준비를 해 둔 후에는 앞서 말씀드린 것 처럼 미리 귀뜸을 해 둡니다. 임금 인상보다는 긴 휴가가 더 절실하다면 자신의 남은 휴가 기간에 대한 우려를 이야기하며 넌지기 더 긴 휴가가 필요함을 어필한다거나, 베네핏을 좀 더 개선하고 싶다면 베네핏을 이야기하고, job title을 올리고 싶다면 내가 그 타이틀이 되기에 부족한 점은 무엇인지 묻는 것 같은 방식이죠.

마지막으로 일반적인 사람의 특성 상 안타깝지만 어쩔 수 없는 것인데, 똑같이 작년에 한 일들이고 비슷한 영향력을 지닌 업적이라도 가장 근래의 업적이 더 큰 인상을 남깁니다. 영화제나 각종 연말 시상식에서 연초에 개봉한 작품들보다는 연말에 개봉하여 영화제 기간 중에 폭발적 관심과 인기를 끄는 작품들이 더 많이 수상하게 되는 것과 비슷합니다. 일을 하다보면 1년 내내 자신의 에너지를 고르게 분산기키는 것이 쉽지 않습니다. 개인적인 사정이나 바이오리듬에 따라 실적 역시 오르락 내리락 하죠. 그러니 고과시즌 반년쯤 전에는 잠시 힘을 빼고 충전을 해 둔 다음에 서너달 전부터 에너지를 모아 큰 일들을 하나 둘 쳐 내면 더 좋은 인상을 남기는 것 입니다. 하지만 개인 고과만 신경써서 회사 전체의 흐름에 어긋나게 가장 중요한 시기에 혼자 느슨하게 하면 안되요. 보통 +1점보다 -1점의 영향이 훨씬더 커서 '+1 - 1'의 총점은 0이 아니라  -1 이 될 수 있으니까요.

다시 말씀드리지만, 연봉협상에서 최고의 준비는 지난 1년간 일을 잘하고 많이 하는 것입니다. 하지만 정말 잘 해왔음에도 계속 그에 걸맞는 연봉을 받지 못하고있다면 셋 중 하나입니다. 내가 스스로를 너무 과대평가하고 있다거나, 회사가 집토끼 관리에 인색한 경영 스타일을 갖고 있다거나 (실제로 그런 회사들이 적지 않아요), 아니면 내가 나의 업적을 잘 어필하지 못해서입니다. 내가 스스로를 과대평가 중 이라면 내 눈높이에 맞게 스스로를 더 발전시키거나 눈을 낮춰야하고, 회사가 인색하다면 뒤돌아보지 않고 다른 곳을 찾아 옮겨야 하고, 내가 잘 어필하지 못하고 있어서라면 내가 하고있는 일들과 나의 기여도를 꾸준히 잘 정리 해서 이야기를 해 보세요. 그리고 일종의 소극적인 정치 행위이지만, 평소이 자신의 업적을 널리 알려서 회사 내에 나의 가치를 알려두고 믿을만한 인력임을 각인시켜 두세요. 그런 경우엔 구지 연봉 협상에서 이런저런 이야기를 꺼내기 전에 회사에서 먼저 납득할 만한 수치를 제시해 줄 수 있습니다.

2018년 5월 17일 목요일

봄 맞이 작업

안녕하세요.

요즘 캐나다에도 봄이 찾아와 따스한 날들을 원없이 즐기기 시작했습니다. 아... 얼마나 기다리던 봄날인지.


봄이 오니 슬슬 몸이 바빠지기 시작합니다.


우선 거의 매일 밤마다 산책을 다닙니다.


원체 하루 종일 앉아서 일을하다보니 걷는 것을 참 좋아합니다. 작년까지만 해도 혼자 산책을 다녔는데, 올해부터는 제 아내도 저와 함께하기로 해서 더 좋네요. 매일 밤마다 1-2시간 정도는 동네 이곳 저곳을 누비며 다른 이웃들은 앞마당과 집을 어떻게 꾸몄는지 둘러보고, 서로의 일상 이야기도 하고, 아이들 이야기도 하면서 너무나도 즐거운 시간을 보내고 있습니다.


해가 지기 전에는 조금씩 조금씩 가드닝을 하느라 바쁩니다.


작년 여름에 너구리와 토끼들이 제가 손을 쓰는 속도보다 빠르게 앞뒷마당의 잔디를 다 뒤집어 놔서 반 쯤 포기 한 상태인지라 예전만큼 많은 공을 들이지는 않지만, 그래도 민들레 만큼은 용서할 수 없기에 퇴근 후에 짬이나면 앞뒷 마당에 잡초들을 뽑아댑니다.


또 조만간 집 drive way를 공사하면서 앞마당 쪽에 가든을 없앨 예정인지라 가든에 있는 꽃들과 나무들을 하루에 하나씩 뒷마당 가든으로 옮기고 있고, 뒷마당 옆쪽에 있는 텃밭 역시 drive way 공사를 하면서 포장을 할 예정이라 뒷마당 데크에 화분을 놓고 그 쪽으로 작물들을 옮겼죠.


아버지께서 저희 집에 오셨을 때 만들어 주신 텃밭이라 없애고 싶지 않았지만, 그 쪽이 뒷마당 물이 빠지는 길인데 그걸 모르고 텃밭을 만들어 뒷마당 배수가 잘 안되는 문제도 있고, 텃밭의 2/3 이상은 볓이 잘 들지않아 햇빛이 많이 필요한 작물들은 또 잘 자라지 못하는 문제들이 있었기에 과감히 넓은 텃밭을 포기하고 화분을 쓰기로 했네요.




그리고 저의 꿈 하나도 이뤘습니다. ^^


고기를 워낙 사랑하다보니 아파트에서 하우스로 이사 온 이후에는 거의 매 주 2회 이상 BBQ를 해 왔습니다. 뒷마당 데크에 BBQ 그릴용 가스관이 나와있긴 했지만, 그릴 가격이 워낙 후덜덜 해서 숯 그릴을 사용해 왔죠.


숯으로 고기를 구우면 다양한 향도 낼 수 있고, 불맛도 더 잘 살릴 수 있다지만, 제 불 조절 스킬이 미약하다보니 삼겹살을 구울 때면 기름 덕분에 불쑈를 하기도 하고, 립을 구울 때면 겉은 태우고 속은 덜 익기도 하는 등 문제도 있었고, 밖에 외출 후 돌아와 한참 배고플 때면 BBQ를 하고 싶어도 처음 숯에 불을 붙이고 숯불이 안정화 될 때 까지 시간이 오래걸려 편하게 스위치를 눌러 불을 켜 바로 사용하는 가스 그릴이 너무나도 부러웠지만 일이천 불은 족히 넘어가는 가스 그릴을 쉽사리 살 수 없었죠.


하지만 코스코에서 시즈널 상품으로 나온 제품이 있었는데, 가격도 천불 미만이였고, 사용 평가도 좋아 제 아내가 통 크게 저에게 선물을 해 주었네요.


그런데 참... Ikea로 대표되는 조립식 가구들이 이 나라에는 참 많다보니 가구를 살 때 돈내고 주문하면 끝이 아니라, 배송을 받은 후에 직접 조립을 해야하는 수고를 해야만 합니다. 물론 돈을 더 내고 조립 서비스까지 이용하면 되지만, 인건비가 비싼 나라인지라 왠만하면 직접 하는게 나아요. 그런데 가스그릴도 이 셀프 조립에는 예외가 아니였습니다.




금새 조립이 될 줄 알고 그릴 개시를 위해 아내에게 고기를 사다달라고 부탁을 한 후 조립을 시작했는데 조여야 하는 나사는 왜 그리도 많은지.... 전동드릴이 아니였다면 아마도 오른손 손목에 관절염이 걸렸을 것 같아요. 이 나라에서 편하게 살기 위해서는 전동드릴 하나 쯤은 필수인 것 같습니다.

한참을 조립하고, 나사 몇개가 부족하여 부가 기능에 필요한 나사는 다시 푸르고 필수 기능쪽으로 옮겨서 일단 완성!!!



아내가 동네의 할랄 정육점에서 사온 양념 닭다리 3개를 구워보았습니다. 저희가 무슬림은 아니지만 이 정육점의 가격과 품질이 괜찮아 종종 이용하죠.



역시 가스그릴은 참 편하더군요. 처음에 조립하느라 땀을 빼긴 했지만, 조립 완료 후에는 바로 점화! 화력도 괜찮아 점화하고 얼마 지나지 않으니 바로 조리가 가능했습니다.


다시 시작된 따스한 봄 날. 앞으로 반년 정도는 일 좀 줄여서 뇌는 쉬게하고 몸은 좀 더 바쁘게 지내보려 합니다. 누군가 추운 겨울날 캐나다에서 버티는 힘은 봄여름철의 추억이라고 하던데 정말 그런 것 같습니다.

2018년 5월 7일 월요일

백만년만에 진행한 기술 세미나

안녕하세요.

"May Forth be with you." 지난주 금요일은 May 4th, 스타워즈 데이였습니다. 스타워지 팬이라면 아시겠지만, May force be with you 대사에서 착안하여 사람들이 만들어 낸 날이지요.

그런데 GTA 지역에는 그 포스가 진짜로 찾아왔습니다. 100 Km/h 가 넘는 어마어마한 강풍이 GTA 전역에 불어닥쳐 나무가 쓰러지고, 집 담장이 무너지고, 전기가 끊기고, 집 지붕이 날아가는 등 (지붕 전체가 날아간 것은 아니고 집 지붕에 기왓장이요) 어마어마한 포스가 찾아 왔었죠. 저희 동네에도 민둥산이 되어버린 집들이 많이 보이는데, 주말 내내 roof 업체들은 전화연결이 안 될 정도로 바빴다고 합니다.
저희 집은 잠깐 몇분간 정전이 있었던 것과, 뒷마당에 트램폴린이 바람에 날려 마당 한 구석으로 밀려난 것 외에는 다행히 별다른 피혜는 없었죠.

이렇게 포스가 지나간 후 토요일, 저는 오래간만에 토론토로 상경을 했습니다.
다름이 아니라 토론토 한인 전산인 모임에서 세미나를 하기 위해서였죠.

캐나다에 와서 모임에 참석 한 이후 지금까지 많은 고수님들의 세미나도 듣고 스터디도 하고, 첫 구직 이전에는 캐나다에서 구직 시 팁이나 이력서 작성 등을 도움받기도 했고, 구직 후에는 회사생활에서 어려움을 겪는 경우나 한국 직장에서는 경험하지 못했던 연봉협상 등 민감한 주제들에 대해서도 많은 선배님들께 조언과 격려를 들으며 많은 도움을 받아오기만 했는데, 이번에 드디어 처음으로 저도 세미나 발표를 하면서 작게나마 기여를 하게 된 것입니다.

보통 세미나는 지금처럼 따뜻한 봄날에 하기 보다는 추위가 시작되는 시점에 많이 합니다. 날씨가 추운 시기엔 아무래도 야외 활동이 적어지면서 다들 개인 시간도 많이 남게되기에, 세미나 연사도 발표 준비를 할 시간적 여유가 좀 더 생기기도 하고, 참석자들 역시 평일 퇴근 후에나, 주말 오후에 딱히 다른 할 일이 없어 참석하기에 용이하기 때문이죠. 저도 사실 이 세미나를 하기위해 처음 준비했던 시기는 올해 1월인데, 번아웃에 제 몸과 마음이 시들시들 해지면서 세미나 주제와 윤곽만 잡아놓고 한참동안 손을 놓고 살다가, 때마침 신임 회장님이 선출되어 모임의 정권교체??? 도 이루어졌고, 저 역시 그 시기 즈음에 번아웃에서 벗어나 서서히 기지개를 켜면서 스스로 긴장을 주기 위해 세미나를 하게 되었습니다.

채 한달도 안된 기간 사이에 다소 급하게 일정과 장소를 잡다보니 프로젝터와 마이크 등 장비도 없으면서, 시간당 $50불이 넘어 비싸고, 룸 인원제한에는 엄격한 공공도서관 세미나 룸을 빌릴 수 밖에 없었습니다. 그런데 세미나 날자는 평일도 아닌 주말 오후였고, 날도 맑아 놀러가기 딱 좋은 날씨였죠. 설상가상으로 그 전날 GTA에 불어닥쳤던 강풍 덕에 일부 지역은 전기도 끊겼었고, 나무도 쓰러지고, 집 담장도 무너지고, 지붕이 날아간 집들도 많아서 참석률이 낮아 혹시나 회비에 적자가 발생하지는 않을까 걱정도 되었죠. 하지만 참가 신청자 중 금요일에 집이 파손되어 부득이하게 불참하신 한 분을 제외하고는 모두 참석해 주셨고, 혹시나 현장에서 참석할 수 있을까 싶어 오신 회원님들 덕분에 그나마 비어있던 자리도 채워져 덕분에 완판남이 되었죠.

2시간 강연을 촬영했던 동영상을 돌려보니 제 준비가 부족했던 부분과, 상당히 중요한 내용이라고 생각하고 준비한 것이지만, 세미나 진행도중 미처 언급하지 못하고 넘어간 것 등 참 비루한 세미나였다는 생각이 드는데, 가장 아쉬운 점은 애초에 Target Audience를 명확히 잡지 못하고 시작한 것입니다.

전산인 모임이라고는 하지만, 오픈된 모임이고, 가입과 활동에 별도의 제약도 없고 별도의 가입비도 없는 모임이기에 세미나를 진행하면 참석자의 층이 넓습니다. 이제 갓 학교에 입학을 해서 SW에 대해 하나씩 공부를 시작하신 학생들도 계시고, 한국에서 이미 커리어를 쌓을만큼 쌓은 알고보면 무림의 고수 중에 고수이시지만, 어쩔 수 없이 워크퍼밋을 위해 눈물을 머금고 학교에 재입학 하신 분들도 계시며, 이미 이민을 오셨거나 이런저런 경로로 워크퍼밋을 받으신 후 구직을 하고계신 분들도 계시고, 당연히 현재 직장을 다니고 계신 분들도 계시죠. 애초 세미나 공지를 할 때, 타깃 층을 정하고 그에 맞추어 준비를 했다면 좀 더 좋았을텐데, 동영상을 다시보니 별도의 설명없이 제 분야의 용어를 신나게 써가며 설명을 하기도 했고, 또 어떤 부분에서는 실무에 계신 분들께는 전혀 도움이 되지 못 할 만큼 기본적인 내용에 대해 쓸데없이 길고 장황하게 설명을 하기도 했더라고요.

역시 저는 무언가 직접 부딛쳐봐야 그때서야 제가 부족한 점을 뒤늦게 깨닿는 것 같네요. 준비하는 과정이 쉽지는 않았지만, 이번 경험에 아쉬운 점들이 있다보니 다음에 다시 한 번 제대로 하고싶은 욕심이 좀 생깁니다.

아무래도 다음 세미나의 target audience는 이제 막 첫 커리어를 시작하기위해 준비중이신 학생/구직자 분들이 될 것 같아요. 저도 개발 내에서 DevOps라는 분야로 옮긴 것이 1년 조금 넘은 정도인지라 내공이 많이 부족해 모임 내 고수분들 앞에선 제 미천이 탈탈 털리다 못해 영혼까지 깔끔하게 탈곡될 것이기 때문이기도 하지만, 다음 번에는 이론적인 내용보다는 실질적인 툴의 사용과 구현에 대한 내용인지라 강연식 세미나 보다는 직접 같이 해보는 스터디 방식을 생각중이기 때문입니다.
컬리지는 정말로 학교에서 배우는 것은 너무나도 턱없이 부족하기에 스스로 주제를 정해 파고들지 않으면 졸업 후 거대한 장벽을 만나기 쉬운데, 간단한 설명 + 스터디를 하게되면 새로운 기술에 대해 어떻게 접근을 해야 스스로 공부할 수 있는지 도움이 될 것 같아서요. 제가 대학생이던 시절을 생각 해 보아도 그랬던 것 같더라고요.

군입대 이전 1학년 때에는 신나게 노느라 선동렬 방어율과 수비형 포수의 방어율 사이의 학점에 머물렀다가 제대 후에 성인이 된 후 처음으로 제대로 공부를 시작했는데, 1년 정도 공부를 해도 내가 배운 내용들을 어떻게 활용할지에 대해서는 전혀 감을 잡지 못하고 살았습니다. 그러다 좋은 선배들을 만나 선배들과 함께 동아리를 만들고, 형들이 새로운 분야에 뛰어들어 공부를 할 때 같이 공부하고, 또 그 형들이 그 기술들을 활용하여 프리랜서로 일을 하거나 개인적인 프로젝트들을 구현하는 모습을 보면서 어떻게 접근하고 어떻게 시도하는지를 보고 배우며 제 시야도 많이 넓어졌고, 스스로 학습하는 것에 대해 많은 깨달음을 얻은 것이 당시에 정말 큰 도움이 되었거든요.

학생과 구직자에게는 참가비를 받지 않다보니, 참석자들이 모두 학생이 되어버리면 세미나룸 임대료는 어떻게 충당해야 할지가 조금 걱정이긴 하지만...... 일단 일을 저지르면 어떻게든 해결 되겠죠???

토론토 인근에서 재직중인 한국인 개발자, 혹은 개발 매니져 등 IT 종사자가 이미 백여명이 넘기는 하지만, 그래도 좀 더 많은 한국의 IT 종사자 분들께서 캐나다로 더 많이 진출하셔서 서로 끌어주고 밀어주기 더 좋은 환경이 되길 바랍니다.

한국의 SW 산업은 각종 법적 규제들과 사회/관습적인 제약들, 그리고 기업 문화로 인해 마치 갈라파고스 섬 처럼 동떨어진 생태계를 구성하고있고, 몇몇 분야를 제외하고는 비슷한 경제규모의 다른 나라들에 비해 상당히 뒤쳐져 있다지만, 인력들의 경우에는 훌륭한 인재들이 정말 많은 곳이거든요. 뭐... 제 이전 직장에서는 현 임직원 중에 구글에 갈 수 있는 역량의 사람은 1~2% 밖에 안된다는 자기비하적 이야기를 공식적으로 발표를 했지만, 반대로 구글 직원들 중 그 회사의 입사 시험과 면접을 통과하고 근로문화를 받아들일 수 있는 사람의 비율도 1~2% 정도일 겁니다. 각자 주어진 환경에 맞춰 진화하는 것인데... 세계 최고의 기업임을 내세우는 회사에서 자기의 임직원들의 역량이 매우 떨어지는 것 처럼 말하는 모습이라니...

그래서 더더욱 한국에 계신 훌륭하신 분들이 보다 더 공정한 대우를 받기위해 나와야 한다고도 생각합니다. 한국의 기업문화도 인재가 점점 줄어든다면, 아무래도 인재들을 좀 더 소중히 모시지 않겠어요? 비록 저는 인재는 아니고 단순한 인력이지만, 인재를 소중히 여기는 전반적인 기업/근로 문화가 자리잡히고, 인재 뿐 아니라 인력들 하나 하나 까지도 모두 소중히 여기는 환경이 된다면, 언젠가는 저도 더 이상 영어의 스트레스를 받지 않고 한국으로 돌아가 살 수도 있을 것이고요. ㅎㅎㅎ


2018년 4월 18일 수요일

Good bye my friend

어제 하루는 갑자기 회사에 가기 너무너무 힘들고 귀찮아 아침에 급히 휴가를 냈습니다.
그리고 지난 주말에 IKEA에 가서 이전에 봐 둔 가구들을 사다 하루 종일 조립하고, 주말 사이 우박이 쌓여 만들어진 얼음들 깨고 부수고 치운 덕에 오래간만에 어깨와 허리가 욱신욱신 하네요. 그런데 어깨와 허리 보다 마음이 더 아픈 일이 생겼습니다.

 가구 조립을 마치고 드라이브 웨이의 얼음을 다 치운 후 샤워를 하려는데, 페이스북 메신져에서 띠링~ 하고 새 메시지를 알려옵니다.

 "어라? 이 친구 요즘에 연락해도 답장도 없어서 전화번호도 바뀌고 페북도 끊은 줄 알았는데 왠일이지?"

  연락이 온 친구는 매우 조용하고 차분한 성격을 가진 저와 비슷한 또래의 (고교시절 이야기를 할 때 연도를 보니 3~4살 정도 많은 것으로 추정) 일본인 친구입니다. 성격이 워낙 조용하다보니 같이 어울려 놀은 기억은 딱히 없지만, 짧게나마 1년간 학교를 다니며 모든 전공 과목을 같이 들었고, 모든 과목의 팀 프로젝트를 같이 했던 친구죠. 평소에 자주 만나는 사이는 아니였지만, 제가 토론토에 살 때에는 한두달에 한 번 정도 서로 만나 커피 한잔을 하며 짧게나마 서로의 안부도 묻고 근황 이야기도 했었고, 제가 옥빌로 이사를 간 이후에는 간혹 이메일이나 페북 메신져, 전화 등을 통해 연락을 했었습니다. 그러다 반년 정도 전에 이 친구가 위니펙으로 이사를 가게 되었는데, 그 이후 한동안 연락두절 상태였죠. 사기꾼이 아니라 편하다고??? 좀 이상하게 보일 수도 있지만, 제가 다녔던 학교에는 특정국가 출신 학생이 과반수 이상인데, 그 특정국가 출신 학생들 중 다수가 그런 특징이 좀 있었습니다. 팀 프로젝트에서 각자가 해야 할 기본적인 일에 책임을 다하지 않으면서, 자신의 실력과 능력의 과대포장에는 뛰어나 쓸데없이 많은 일을 하겠노라고 commitment를 많이 합니다. 그리고 당연히 그를 지키지 못하죠. 설상가상으로 프로젝트에 문제가 생기면 뛰어난 공작능력으로 본인이 아닌 다른 사람들의 문제로 프로젝트가 산으로 가고 있다고 포장을 잘 하다보니 놀 때에는 따로 가리지 않고 다 같이 놀았어도, 프로젝트 팀을 꾸릴 때에는 저와 비슷한 문화/성향을 지닌 홍콩/대만/중국/일본 등 동아시아 국가 출신 학생들이나 우리의 형제국가인 터키 출신 학생들과 주로 했습니다. 적어도 그들은 over commitment나 블러핑은 하지 않으니까요. 특히 30대 이상 아저씨들과 주로 팀을 했는데 실력의 정도를 떠나 30대 이상인 경우 최소한의 책임감이 있어 같이 일을 함에있어 서로 불편한 일이 없었거든요.

 사실 이 친구의 성격은 저와 썩 맞는 것은 아닙니다. 더구나 안그래도 저의 영어 실력이 한참이나 부족한데 이 친구 역시 영어를 잘 못해 서로 모국어가 아닌 영어로 이야기 하다보면 대화의 맥이 끊기고 답답하기 그지 없습니다. 영어 네이티브이거나 잘하는 친구와 이야기 할 때엔 제가 개떡같이 이야기 해도 상대방이 찰떡같이 알아듣기도 하고, 제가 모르는 어휘나 표현이 나와 이해를 못하면 귀신같이 알아채고 보다 쉬운 어휘나 표현으로 rephrase를 해 주거나, 정 안되면 그 단어의 뜻을 설명 해 주어 상대방은 좀 귀찮을지언정 대화가 이어지는데 반해 이 친구와 영어로 이야기를 하다보면 서로의 모국어 억양과 발음이 달라 쉬운 단어도 서로 못알아듣기도 하고, 영어도 못하는 것들이 그 와중에 각자 자신만 아는 어휘나 표현이 있어서 서로 이해를 못하는데, 다른 동의어로 대체하여 rephrase 할 능력은 없다보니 서로 이해하지 못하고 그냥 웃으면서 넘어가는 경우도 참 많죠.
그래도 1년간 모든 전공과목들을 같이 듣고 프로젝트를 같이 하면서 같이 잘 지냈습니다. 학교에서 팀 프로젝트를 하기 위해서는 각 과목마다 마음에 맞는 친구가 2-3명 정도는 있어서 같이 팀을 꾸려야 편한데, 이 친구는 실력이 아주 뛰어나 제가 편하게 프로젝트에 얹혀 갈 수 있게 해주지는 못했지만, 적어도 다른 학생들과는 달리 성실했고, 자기 실력과 할 수 있는 일의 범위에 대해 블러핑도 안했고, 저와 나이도 얼추 비슷했던지라 계속 붙어 다녔죠.

 첫 학기가 시작되고 얼마 지나지 않아 제가 FSWP로 영주권 신청을 할 때에 저는 이 친구에게도 졸업을 기다리지 말고 FSWP 지원을 해 볼것을 권유 했었습니다. 이 친구도 어학 점수만 6.5 이상 나오면 FSWP로 지원이 가능했기 때문이죠. 그런데 이 친구는 1년이 조금 넘는 오랜 기간에 걸쳐 패스웨이를 한 후에 시험 없이 학교에 입학을 한 친구입니다. 1년넘게 패스웨이가 걸린만큼 원래 영어를 잘 하지 못하기도 했고, 한 번도 영어 시험을 본 적이 없던터라 IELTS 시험을 보는 것에 상당한 부담을 가지고 있더군요. 그래서 시험보기 무섭다며 제가 FSWP 준비를 차근차근 해 나아갈 때 차일피일 미루고 또 미뤘습니다. 그러다 그 해 가을 제 FSWP 이민 프로세스가 진행되는 것을 지켜본 이 친구는 드디어 IELTS 시험 준비를 하면서 시험 예약을 하기 시작했는데, 아직 FSWP 67점은 안되었지만 거의 그에 근접할 수준의 성적표를 받은 시점에, 그 해 SW Engineer NOC의 FSWP 티오가 마감이 되고 말았습니다. 그래도 다음 해를 위해 그 친구는 계속 시험을 치뤘지만 2015년이 되어 Express Entry에 대한 모든 것이 알려진 이후에는 사실상 FSWP 이민을 포기하고 영어 시험 준비도 중단을 했었습니다.

 결국 저는 입학 후 1년이 안되어 영주권을 받았고, 바로 회사에 나가 일을 하기 시작했지만, 이 친구는 원래 계획대로 PGWP를 위해 계속 학교를 다녀야만 했습니다. 이 친구가 하던 프로그램은 코업이 있는 프로그램이였습니다. 그 당시만 해도 대부분의 컬리지 학생들이 코업 일을 구했던 시기였습니다. 하지만, 이 친구는 코업을 구하지 못해 중간에 강제 방학을 맞이하기도 했고, 결국에는 졸업 전까지 코업을 못하여 프로그램도 논 코업 프로그램으로 변경하여 졸업을 했죠. 그렇게 졸업을 하고 이제 진짜 일을 구할 시기가 되었는데, 이 친구의 캐나다 취업운은 졸업을 해도 별로 나아지지 않았습니다. 어찌된 영문인지 제가 보기엔 이 친구보다 실력도 부족하고 영어를 더 잘하지도 않는 다른 친구들도 결국엔 어떻게든 취업을 했지만, 이 친구는 면접 과정까지 가는 것도 쉽지 않았습니다. 한 번은 저희 회사에 오픈된 포지션과 매칭이 되기에 이 친구를 추천하려 했는데 HR에 연락을 하니, 방금 전에 인터뷰 본 지원자를 채용하기로 해서 해당 포지션은 지금 close 될 것이라고 해서 인터뷰도 진행하지 못했습니다.

 2년이 조금 넘는 시간이 흐르고 흘러 힘겹게 전공 관련 일자리를 구했는데, 그 친구의 PGWP의 남은 기간은 1년이 채 안된 시점이였습니다. 이 친구가 원래 생각했던 CEC를 위해서는 (또한 다른 대부분의 이민을 위해서는) 1년 이상의 경력이 필요한데, 남은 워크퍼밋 기간을 풀로 다 채워도 1년 경력이 안나오는 상황이 된 것이죠. 그 때부터 이 친구는 저에게 종종 연락을 하기 시작했습니다. 혹시 이런 상황에서 가능한 이민 프로그램을 아는지, 그런 케이스를 본 적이 있는지 많이 물어봤었습니다. 정확한 기간은 잘 모르겠지만 아마 1-2달 정도 짧은 기간이였던 것 같은데, 이 친구는 회사를 다니면서 회사의 주정부 이민 지원 등 여러가지 가능성들에 대해 이러저리 알아 보았지만, 1년 미만으로 남은 현재의 워크퍼밋으로는 토론토에서 영주권을 받을 길이 없다는 결론을 내렸던 것 같습니다. 그리고는 어느날 갑자기 위니펙으로 날아갔죠. 위니펙에서는 6개월만 일을 하면 주정부로 이민을 할 수 있다는 말을 남기고 말이죠.

 처음 위니펙에 간 이후에는 간혹 직장은 구했는지, 이민은 계획대로 잘 진행 중인지 안부차 연락을 하면 "여긴 벌써 겨울이 시작되나봐", "토론토는 참 따뜻한 도시였어" 등 조금 다른 이야기들의 답변이 오더군요. 그러더니 어느 순간부터는 메신져로 연락을 해도 답장이 없고, 전화도 받지 않았습니다. 아마 전화는 이미 위니펙으로 넘어가면서 지역번호가 바뀌면서 번호가 변경되었을 것이라고 예상은 했고, 메신져는 페북을 끊었나 생각했죠. 그렇게 썩 친하다고 말하기는 힘들지만 저도 힘들었던 학생시절에 함께 했던, 그리고 한동안 연락이 두절되어 궁금했던 그 친구에게 오래간만에 연락이 온 것입니다.

 하지만, 이렇게 온 메시지는 그다지 긍정적이지 않은 메시지였습니다.

 "나 7월 말에 일본행 '편도' 항공권을 예약 했어"

저의 손가락들은 한동안 핸드폰 화면 위에 머물렀습니다. 그냥 일본행 항공권을 샀다고 하면

 "휴가가니? 잘 다녀와"

 "너 고향이 어디라고 했지? 맛있는 거 많이 먹고 와"

등의 인사라도 할텐데, '편도' 라는 이 한 마디가 지금 이 친구의 상황에 부정적인 모든 것을 내포하고 심하게 어두운 기운을 뿜어내고 있었습니다.
이 친구가 구지 애둘러서 '편도' 티켓을 샀다고 애둘러 말 한 상황에서 스스로 아픔을 꺼내기 전에 제가 들추고 싶지 않았습니다. 그래서 저도 애둘러서 이상한 소리들만 한동안 한 것 같아요.

 "Is it still cold in Winnipeg? Entire my village became arena due to frozen rain during last weekend."

 "We should meet once again sometime. Let's drink Sake and Biru at that time."

 "Try to visit gorgeous places before you leave. Have you been Banff?"

 "I think you must see Aurora at once."

 ...

 얼추 계산을 해보니 이 친구가 15년 여름 학기를 마치고 졸업을 했으니, 올해 8월 즈음이면 PGWP가 만료되는 것 같습니다. 그래서 작년 9월인가 10월 즈음에 위니펙으로 이사를 갔던 것이고, 현재는 당장 오늘 취업을 한다 해도 워크퍼밋 만료 전 까지 매니토바에서 6개월의 경력을 만들 수 없으니 포기를 한 것 같네요. 

어쩌다보니 오래간만에 연락을 하는데 서로 정작 하고싶은 이야기는 꺼내지도 못하고 서로 변죽만 울리는 상황에서 그냥 진심으로 하고싶은 말 한마디를 했습니다.

 "If you have a chance to come to Oakville or near to Oakville, please contact me. I would like to serve a dinner once, indeed!" 

하지만 제 말에 이 친구가 마지막으로 보낸 메시지가 더 마음아픈 말이였습니다.

 "Thank you, but I don't think I will come to Canada again."

저의 빈약간 기억력에 정확히 캐나다였는지 미국이였는지는 기억이 가물가물하지만 이 친구는 20대 때에도 이민을 위해 북미에 몇년간 머물렀던 적이 있었고 실패하여 일본으로 돌아간 경험이 있었습니다. 그리고 30대 후반에 (혹은 40대 초반) 재 도전을 했지만 40대가 된 지금 이렇게 다시 한 번 영주권을 받지 못하고 일본으로 돌아가는 상황이 되었으니, 다시는 안올 것 같다는 그의 말은 정말일 것 같네요.

 이 친구는 워낙 말이 느리고, 말주변도 별로 없지만 (처음엔 단순히 영어를 못한다고 생각했는데, 학교 영어과목 강사 중 한 분이 일본에서 오랜기간 강사 생활을 하여 일본어를 아주 잘 했는데, 그 분 말에 의하면 이 친구는 일본말도 대화의 템포가 상당히 느린 편이라고 하더라고요) 성실하고 착한 친구였는데... 무언가 질문을 던지면 10-20초 후에나 full sentence를 만들어서 대답하는 그 친구의 화법이 행여 취업 길을 막은 것은 아닐까 생각도 듭니다. 저는 영어를 참 못하지만 그래도 제가 아는 내용이면 비문이더라도 휘릭휘릭 대답은 합니다. 단, 한국말과 비슷하게 주어가 생략된 말은 매우매우 자주 하는 편이고, 시제와 단/복수도 거의 생각 안하고 마구잡이로 말하는 편이며, 심지어 수동/능동 또한 제 멋대로 바꿔 그냥 제 입에 잘 붙는 말을 해버리는 편입니다. '난 내 할 말을 내가 알아서 다 한 것으로 나의 임무를 마쳤으니 너는 니가 알아서 내 말을 이해하는 것으로 너의 임무를 다 하거라.' 라는 식으로 말이죠. 그런데 이 친구는 대화의 템포는 참 숨 넘어가게 느리지만, 이 친구가 하는 말들을 곱씹어보면 마치 성문 종합영어 예문에서 봤던 것 같은 완성형 문장을 만들어서 하거든요.

 5년 밖에 안된 저의 이민 생활이지만 간혹가다 이런저런 이유로 지인들이 각자의 모국으로 돌아갈 때면, 그다지 친하게 지낸 사람이 아니더라도 왠지 모를 허전함이 밀려오곤 하는데, 참 헤어짐이라는 것은 적응하기 쉽지 않은 이벤트 같습니다.

한국에서는 몰랐는데 이민 생활을 하면서 생긴 허전함이라고나 할까요? 그가 다시 캐나다로 올 일은 아마도 없을 것 같고, 저도 딱히 일본에 갈 것 같지도 않으니 앞으로 서로 볼 기회는 없을 것 같지만, 부디 일본에서 세번째로 다시 시작하는 그의 삶에는 어려움이 없이 잘 풀리기를 진심으로 빌어봅니다.

2018년 4월 6일 금요일

SW Developer라는 직업 - 개발자는 무슨 일을 할까?

안녕하세요.

아래 글은 제가 얼마 전에 다른 카페에 올렸던 글인데, 최근 1-2년 사이에 저에게 메일이나 행아웃 등으로 연락을 주시는 분들의 연령대가 낮아지고, 아직 개발자 커리어를 시작하기 이전에 고민을 하시면서 연락을 주시는 분들도 많아 제 블로그에도 포스팅을 합니다.

주제에는 벗어나는 이야기이지만 최근 1-2년 사이에 현재 고등학생이시거나, 대학생이신 10대 후반에서 20대 초중반이신 분들이 이민에 부쩍 관심을 가지시는게 아닌가 싶기도 합니다. 블로그를 처음 시작했던 시기만 해도 저와 비슷한 또래이거나 저보다 좀 더 형님 세대에서 연락을 많이 주셨는데, 요즘에는 오히려 30세 미만이신 분들이 더 많은 것 같네요. 미세먼지 때문인지, 아니면 좀 더 개방되고 세계화 된 환경에서 성장하셔서 더 빨리 더 넓은 곳으로 눈을 돌리시는 것인지는 모르겠지만, 요즘 메일을 보면 조금 신기하기도 합니다. 아, 어쩌면 Express Entry 이후로 나이가 차면 이민이 힘들어져서 미리 포기하시는 분들이 많아져서 그럴 수도 있겠고요.

그러면 카페에서 옮겨 온 글을 시작합니다.

===================================================================

이미 개발일을 하고 계신 분이라면 별다른 이야기도 없고 어쩌면 너무 저수준의 이야기만 풀어놓아 제 생각과 많이 다를 수도 있습니다. 하지만 어쩌겠습니까. 제가 그렇게 훌륭한 지적수준을 지니지 못했고 그냥 열심히 하는 개발자일 뿐인지라 웬만한 것은 다 단순하게 생각하고 처리하니 제 생각도 그 수준에 머물러 있는 것을요...

개발자라는 직업에 대해 생각해보면 이는 분명 전문 기술직입니다. 

일을 하기위해서는 정규교육이건 독학이건 일정 수준 이상의 학습과 경험을 갖추어야 합니다. 또한 개발자라는 직업은 지식 노동자입니다. 육체노동이라고 하면 타이핑을 하고 마우스를 컨트롤 할 때 필요한 손가락과 손목운동 정도입니다. (하지만 거북목 증후군과 터널 증후군이 빈번한 것은 비밀이에요)

그런데, 다른 지식노동 전문 기술직과는 조금 다른 것이 정규교육을 전혀 거치지 않은 사람들도 얼마든지 이 직종에 종사할 수 있으며 또 잘 할 수 있습니다. 근본적인 이론은 아무래도 학사 이상의 교육을 받는 것이 좋겠지만, 업무 자체를 처리함에 있어서는 독학으로 혼자 공부해도 별다른 무리가 없기도 합니다. 온라인에 워낙 많은 학습자료들이 있기 때문이기도 하지만, 기술 변천이 매우 빠른 분야 중 하나인지라 배운 지식을 그대로 활용하는 것 보다 더 중요한 것은 기존에 알고있는 내용을 기반으로 새로운 기술을 빨리 습득하고 활용하는 능력이기 때문이기도 합니다.

아주아주 단순하게 살기위해 노력하는 저의 머리에서는 SW 개발이라는 일을 '긴가민가의 공학' 이라고 생각합니다.
즉 true or false에 대해 계속해서 명확하게 정의하고 확인하는 과정이 무한히 반복되면서 제품이 만들어지고 작동하게 됩니다.



컴퓨터는 0과 1 외에는 아무것도 모른다는 말을 이미 들어보셨을 것입니다. 네, 양자 컴퓨터가 아직 없는 지금은 컴퓨터에서 하는 일이라고는 따지고 보면 0과 1을 처리하는 것 외에는 없습니다.  아무리 복잡한 시스템이라고 해도 이는 마찬가지입니다.

SW 공학은 다른 공학분야들에 비해 근래에 생긴 분야입니다. 그렇다보니 여기에서 만들어내는 제품들은 보통 기존 아날로그 방식의 프로세스나 물건 등을 디지털화 하여 사람보다 좀 더 빠르게 처리하도록 만들죠.
고급 개발자들은 상황이 다르겠지만, 저와같은 저랩 개발자라면 아무리 크고 복잡한 상황이라도 계속해서 단순화하고 분할하여 '긴가민가'의 논리로 모든 것을 처리할 수 있는 단계로 나누는 것만 잘해도 일을 하는데 큰 문제가 없습니다.

10년 전에 제가 했던 일을 다시한 번 떠올려 예를 들어보겠습니다.

요즘 스마트폰에서는 어떤지 모르겠는데, 예전 피쳐폰을 생각 해 보시면 지인에게 전화를 걸 때에 보통 두 가지 중에 한가지 방법으로 전화를 걸으셨을 것 같습니다.
하나는 단축 다이얼 기능으로 0-9까지 번호 중 하나를 길게 눌러서 미리 설정 해 둔 번호로 바로 전화가 걸리게 하는 것이고, 다른 하나는 일명 '초성 검색'으로 이름의 초성만을 입력하면 그 초성과 매칭되는 사람들이 리스팅 되어 사용자가 선택하여 전화를 걸 수 있게 하는 것이지요.
아, 전화번호를 그냥 통채로 외워서 전화를 걸고 계시다고요? 폰북에 들어가 ㄱ-ㅎ까지 주루룩 검색을 하신다고요? 만약 그렇다면 당신은 핸드폰 문화가 퍼지기 시작했던 90년대 말에 이미 중년에 접어드신 분들이거나, 매우 강한 아날로그 적 감성을 지닌 예외적인 분들 일 것입니다.

먼저 단축 다이얼 기능을 단순화하여 보면 이렇습니다.

핸드폰의 키패드는 매 xx millisecond마다 계속해서 사용자가 버튼을 눌렀는지 안눌렀는지 확인을 합니다.
    - 0번키 지금 눌려있니? 아니니?
    - 1번키 지금 눌려있니? 아니니?
    - 2번키 지금 눌려있니? 아니니?
     ...

예를 들어서 사용자가 1번 버튼을 누르면 눌리자마자 기계가 버튼이 눌린 것을 인식하고 동작하는 것이 아니라, 아주 짧은 시간이지만 매 xx millisecond마다 각 개별 버튼의 눌림 상태를 확인해서 눌린 것인지 아닌 것있지 알아내는 방식이지요.

버튼이 눌린 상태에서도 핸드폰은 계속해서 xx millisecond마다 각각의 버튼을 한 번 씩 돌아가면서 눌림 상태가 true인지 false인지 지속적으로 확인을 합니다.

그러다가 특정 순간에 1번 버튼의 눌림 상태가 True에서 False로 바뀌면 또 다른 긴가민가 테스트를 합니다.

    - 버튼이 눌린 후 떼어질 때 까지 시간이 1초보다 크니 아니니?

만약 1초 보다 오랜 기간동안 눌려 있었다면 이건 버튼 길게누름으로 인식을 하게되어 단축 다이얼로 동작을 하게 합니다. 만약 1초 미만으로 눌렸다면 일반 버튼 누름으로 인식을하고 단순히 화면에 1을 출력하고 끝내죠.

1초 이상 눌린 경우엔 다시 한 번 긴가민가 테스트를 진행합니다.

    - 1번 단축 다이얼이 설정이 된 적이 있는지 아닌지 긴가민가 테스트를 합니다.

기라면, 이미 등록된 번호를 가져와 전화 걸기를 합니다.

아니라면, 사용자에게 1번 단축다이얼을 등록 할 것인지 아닌지 물어보는 화면을 뿌립니다. 그리고 사용자의 입력이 Yes인지 No인지 다시 한 번 확인을 하죠.

조금은 더 복잡하지만, 한글 이름의 초성검색 기능도 따지고 보면 다 이러한 식의 긴가민가 테스트의 반복입니다. (검색속도 향상을 위해 초성들 따로 인덱싱을 하는 등의 로직이 추가되었지만, 아주아주 기본으로 보자면 그러합니다)

초성 검색은 따로 초성검색 메뉴로 들어가지 않고 그냥 전화기 메인 화면에서 숫자를 누르면 누른 숫자와 매칭되는 전화번호 검색이나 혹은 누른 숫자키에 매칭되는 한글 초성으로 검색이 됩니다.

위에 버튼 길게눌림 긴가민가 테스트를 통해 버튼 짧게 눌림을 인식했다고 가정하고...

    - 눌린 숫자와 매칭되는 한글이 자음이니 모음이니?

모음인 경우라면 이건 그냥 숫자키로 인식합니다. (중성 검색 기능은 없기에...)

이런 식의 키 입력이 지속되어 계속해서 한글 자음과 매칭되는 숫자 키가 눌렸다고 가정하면, 버튼이 눌릴 때 마다 또 이런 테스트를 합니다.

    - 지금 2글자 이상 입력을 한 것이니 아니니?

초성검색은 보통 2자 이상 입력을 할 경우에만 동작을 시작하기에 (1글자로 검색을 하려면 워낙 많은 검색 결과가 나오기에...) 이런 검사를 합니다.

만약 입력한 버튼 중에 초성과 매칭되지 않는 숫자가 섞여있다면 지금까지 입력한 숫자열은 모두 초성검색이 아닌 일반 전화번호 검색 기능으로 동작합니다. 예를들어 전화번호 뒷 4자리 검색 같은 기능 말이죠.

자, 사용자가 2글자 이상 입력을 했고, 모두 초성에 매칭되는 숫자키라면 초성검색 기능를 작동시킵니다.

초성검색을 하는 방법은 여러가지이지만, 지금은 편의상 가장 무식하지만 단순한 방법으로 설명 드립니다.

먼저 입력된 숫자키에 매칭되는 한글 자음의 조합들을 전부 만들어 냅니다.
예를들어 삼성 천지인 자판에서 4번 버튼은 ㄱ 과 ㅋ에 매칭됩니다. 그리고 5번 버튼은 ㄴ과 ㄹ에 매칭되죠.
그러면 4, 5번 버튼이 연속으로 눌렸을 경우 ㄱㄴ, ㄱㄹ, ㅋㄴ, ㅋㄹ 라는 초성의 조합이 나올 수 있습니다.
아, 쌍자음을 까먹었군요. 쌍 'ㄴ'이나 쌍 'ㄹ', 쌍 'ㅋ'은 없지만 'ㄲ'이 있으니 이 조합도 추가를 해서 ㄱㄴ, ㄱㄹ, ㅋㄴ, ㅋㄹ, ㄲㄴ, ㄲㄹ 조합이 만들어 집니다.

그 다음에는 주소록에 저장된 모든 사람의 이름들을 한 번 씩 다 확인을 합니다.

이미래
강래원
김개똥
...

이렇게 이름이 있으면 먼저 처음에 있는 '이미래' 부터 가봅니다
이미래과 이전에 만들어 둔 초성 조합인 ㄱㄴ, ㄱㄹ, ㅋㄴ, ㅋㄹ, ㄲㄴ, ㄲㄹ을 하나씩 비교 해 봅니다. 이름의 첫 글자 '이'에서 초성인 'ㅇ'을 가져옵니다.

    - 미리 만들어 둔 조합의 첫 자음과 'ㅇ'이 매칭 되니?

답은 No이니, 다른 긴가민가를 해봅니다.

    - 그 다음 이름도 있니?

그 다음에 '강래원'이 있으니 가져옵니다. 그리고 그 중 첫 글자의 초성인 'ㄱ'을 가져오죠.

    - 조합 내에 첫 글자로 'ㄱ'이 있니?

네 있습니다. 그러면 비교대상 조합군을 ㄱㄴ, ㄱㄹ, ㅋㄴ, ㅋㄹ, ㄲㄴ, ㄲㄹ 6개에서 ㄱ으로 시작하는 ㄱㄴ, ㄱㄹ 두 개로 줄여줍니다. 그리고 그 다음단계로

    - 이름에 '강'다음에 글자가 있니?

네 있죠. 그러면 그 다음 단계로 다음 글자를 가져와 그 중 초성인 'ㄹ'을 뽑아냅니다.

    - 혹시 조합 내에 두 번째 글자로 'ㄹ'이 있니?

네 조합 내에 있습니다. 축하합니다! 드디어 초성검색에 부합되는 검색결과 중 하나를 찾았습니다. 이제 이 이름은 입력한 값과 매칭되니 화면에 출력하고, 그 다음 이름을 또 가져와 하나씩 긴가민가를 해 주는 것입니다. 전화번호부의 맨 끝에 갈 때 까지요. 그렇게 하여 매칭되는 초성 조합을 가진 이름들을 모두 찾아내서 보여주는 것이지요.

이렇게 SW라는 것은 사실상 "긴가민가 테스트"를 주어진 목록과 상황 상에서 "반복" 하는 방식으로 이루어져 있습니다.

별 것 아닌 것 같지만 의외로 이련 일을 하면서 자주하는 실수로는....
첫 번째 글자 비교를 완료했으니 그 다음 글자로 넘어가야하는데, 실수로 같은 글자를 반복 비교한다거나, 이름의 첫번째 글자 자음과 만들어 둔 조합의 두번째 자음을 비교하여 매칭한다거나 식의 실수가 자주 발생하기도 합니다.
혹은, '강래원' 이름은 세 글자이지만 입력한 숫자는 2글자 뿐이기에 앞 두글자만 비교를 하고 넘어가야 하는데, 구지 세번째 글자를 비교하려고 덤비는 경우도 있지요. '원'의 'ㅇ'과 아무런 값도 없는 것 간의 비교를 하는 것이지요. 이 경우에는 비교 방식에따라, 사용하는 프로그램 언어에 따라 폰이 재부팅 될 수도 있고, 그냥 강래원은 4, 5번키 입력에 맞지 않는 것이라고 치부하고 넘어 갈 수도 있고, 아니면 잘못해서 비교를 했지만 또 잘못해서 비교한 것이 맞다고 하여 2중 오류로 최종 결과는 강래원은 4, 5번 키와 맞는 이름이라고 올바른 답을 찾을 수도 있습니다.

SW가 이세돌 9단을 바둑으로 이기기도 하고, 처음 가는 길이라도 막히지 않는 구간으로 잘 찾아 최적 구간의 길을 찾아주기도 하는 등 참으로 복잡한 일을 하는 것 같지만, 복잡한 것은 최종 완성된 제품일 뿐 세분화 하여 나눠놓고 따지고 들어가면 각각의 논리 구성은 이와같이 긴가민가 테스트를 각각 주어진 조건과 환경에 맞게 지속적으로 반복을 하는 작업입니다.

그렇다보니 복잡한 세상을 잘게 쪼개서 아주아주 단순하게 생각하는 능력이 좋다면 전문적인 고등교육을 받지 않아도 얼마든지 혼자서 할 수도 있는 일이기도 하죠. 공학이라고는 하지만 다른 공학과는 달리 높은 수준의 수학적 지식을 필요로하기 보다는 Yes/No의 논리연산에 대한 능력이 더 필요합니다. 

여기에서 오는 작은 문제가 하나 있는데, 아직 실무를 경험 해 보지 못한 학생들의 경우 1,2학년 때에는 과연 내가 배우는 것으로, 지금까지 배운 것으로 뭘 만들어 볼 수나 있으려나? 맨날 숫자 비교나 하고, 글자 비교나 하고, 그거 반복하고... 아주아주 단순한 것 밖에 만들지 못하는데, 내가 뭘 할 수 있으려나? 졸업하면 일이나 할 수 있으러냐? 코업 나가면 일이나 할 수 있으려나? 걱정을 많이 하기도 합니다.

벌써 20여년 전인데... 저도 예전에 대학생 때 그랬습니다. 학교에서 이것저것 많이 배우기도 했고, 또 혼자서 학교에서 가르치지 않는 다른 기술들도 공부하고 연습 해 보기는, 매냥 하는건 긴가민가의 반복만 하는데 어떻게 엑셀같은 프로그램을 만들고, 어떻게 핸드폰을 만들 수 있는지 도무지 감이 오지 않았죠.

하지만 엑셀이건 핸드폰이건 너무 큰 숲만 봐서 그런 것이고 그것들도 다 잘게 잘라서 보면 이렇게 지금까지 배운 것들 위주로만 구현이 된 것이니 혹 지금 SW 공학 전공을 하시는 학생들이 있다면 너무 걱정하지 말라고 이야기 해주고 싶습니다. 대신, 큰 숲을 작은 나무와 작은 나무에서도 각각의 나뭇잎 한장 한장으로 잘게 쪼개서 볼 수 있는 능력을 키워야 합니다. 자기가 배운 단순한 기술들을 조합해서 무언가 소소하게나마 의미있는 제품으로 만들어 내는 훈련을 해야합니다. 이런건 학교에서 잘 가르쳐주는 것도 아니고 가르쳐준다고 다 아는 것도 아니기에 혼자서 이것저것 많이 해보는 것이 좋지요.

추가로 말씀드리자면 사실 위에 예제는 실제 핸드폰에 구현된 코드 구조와는 사뭇 다릅니다. 앞서 말씀드린 것 처럼 구현할 수 있는 수 많은 선택지 중 가장 단순한 방법을 말씀드린 것입니다. 보통은 이런 식으로 검색을 할 경우 검색 속도의 문제가 있기에 사전에 초성 인덱싱을 미리 하는 방법등 다른 방법 등을 쓰지요. 예를들어 '김개똥'이라는 이름을 저장할 때에 초성 검색시 매칭되는 숫자 키인 '4, 4, 6'이라는 키 조합을 미리 찾아서 '김개똥'이라는 이름과 함께 저장하는 것 같은 방식이 그 중 하나라고 할 수 있습니다.
이렇게 하면 사용자가 버튼을 누를 때 마다 모든 조합을 다 찾아내고 각 조합마다 계속해서 비교하는 등의 반복된 작업을 하지 않고 사용자가 입력한 숫자키의 배열이 '4, 4, 6'과 매칭되는지의 여부만 확인하면 되니 훨씬 더 빨리 검색 결과를 얻을 수도 있죠.

이렇게 인덱싱을 하는 방법을 연구하여 남들보다 빨리, 효율적으로 검색하는 것을 찾아내는 것이 SW 개발자라는 직업을 단순 기술직이 아닌 지식 노동자로 만듭니다. 단순하게 계속해서 Yes No만 반복하다보면 아무리 빠른 컴퓨터라고 해도 입력된 데이터가 많아질 수록 점점 느려질 수 밖에 없는데, 아주아주 작고 보잘것 없는 아이디어 같지만, 전화번호를 저장할 때에 작은 계산만 하나 미리 해서 실제 사용 시에 반응속도를 향상시키는 것이지요.

또 이러한 새로운 방식으로 검색을 하지 않는다 하여도 앞서 했던 긴가민가 테스트들의 순서나 이를 반복하는 순서만 바꾸어도 성능에 큰 영향을 주기도 합니다.
제가 예전에 대학생때 후배들에게 세미나를 하면서 한 적이 있는 말인데, 만원짜리 한장과 천원짜리 한 장이 있을 때, 사람 세계에서는 어떻게하건 11,000원이지만, 컴퓨터 세상에서는 만원짜리가 앞에오고 천원 짜리가 나중에 올 경우 만 천원이지만, 천원이 앞에오고 만원이 나중에오면 천만원이 되기도 합니다.

컴퓨터 공학의 시초는 사실 수학인지라, 정말 고성능에 뛰어난 연산이 필요한 제품을 만들기 위해서는 수학적인 지식과 다양한 수학 공식들의 활용/적용 능력이 필요하기도 합니다. 하지만 저처럼 저랩 개발자들의 경우 그런거 별로 필요 없습니다. 복잡한 실제의 인간 세상을 단순화해서 네/아니요의 구조로 잘게 자를 수 있고, 계속해서 무한 반복되는 긴가민가에서 내가 확인해야 하는게 기인 것인지 아닌 것인지 헷갈리지 않을 능력만 있으면 적어도 저처럼 밥벌어 먹고 살 수는 있습니다. (그런데 종종 긴가민가의 숲에서 길을 잃고 헤메기도 합니다 ㅠㅠ)

혹시나 이쪽 분야에 새로 커리어를 시작을 고민하시는 분들이나, 전공 고민을 하시는 분들께서 만약에 제 글을 읽고 뻘써부터 머리에 쥐가나기 시작한다면 어쩌면 이 분야가 적성에 맞지 않는 것일 수 있습니다. (아니면 제 필력이 형편없어서 읽기 힘들어서 그럴 수도 있고요)

어찌되었건 저의 개똥같은 작은 생각이 고민하시는 분들께 조금이라도 도움이 될 까 싶어 몇 자 적어봅니다.


2018년 3월 8일 목요일

Work Life Balance - 무너진 워라밸 균형


2달 조금 넘는 기간동안 아무런 포스팅이 없었네요. 그 이유는 제목에서도 보여지듯 그간 저의 Work - Life Balance가 무너져 정신을 차리지 못했기 때문입니다.

어제 이 문제로 아버지와도 오랫동안 통화를 하며 제 마음을 추스리기도 해보고 스스로 정리를 다시 해 보았는데, 어찌 될 것인지는 저도 아직 잘 모르겠습니다.

사실 1월 중순 즈음에도 약 2주 가량 맥시코 칸쿤으로 휴가를 떠나면서 휴가기간 내내 스스로 현재 상황에 대한 파악과 미래에 대한 스스로의 다짐과 계획을 세워보았지만, 사람 일이 뜻대로 되지만은 않다보니 휴가복귀 후 채 1달도 되지않아 가득 충전했던 저의 삶의 에너지는 다시 고갈되었고, 저의 의지도 다시 무너져 버렸으니까요.

그래도 어제 아버지와 오랜 시간동안 통화를 하고, 또 혼자 생각을 정리하면서 이전까지는 "빨리 탈출하고싶다" 라고만 생각하고 있었지만, 조금 더 구체화 시킬 수 있었고 보다 근본적인 원인을 알아낼 수 있었습니다.

제가 다시금 정리한 저의 워라밸이 무너진 이유를 찾자면 제가 캐나다에서 다시 일을 시작했던 시기 돌아가야 할 것 같습니다.

저는 캐나다에서 일을 시작하면서부터 스스로 워라밸을 무너트린 채 시작을 했었습니다.
토론토에서 미시사가까지 출퇴근 시간에 교통체증으로 시간을 허비하는 것이 싫었고, 그 무엇보다 너무나 오래간만에 시작하게 된 개발 업무인지라 스스로에대한 자신이 없었던 시기였기에 일반적인 출근시간보다 일찍 출근을 했고, 일반적인 퇴근시간보다 늦게 퇴근을 했습니다. 처음에는 별 것 아니라고 생각했지만 훗 날 뒤돌아보니 매일매일 남들보다 2-3시간 일찍 출근해서 1-2시간 늦게 퇴근했기에 한나절 정도는 더 일을 했던 셈입니다.

그렇게 더 많은 시간을 투입한 덕분에 부족했던 실력과 지식과 경험의 간극을 많이 채울 수 있었고, 3개월 probation기간을 지남과 동시에 근무조건까지도 수정하면서 "짤릴 수도 있다" 라는 불안감은 해소되었습니다. 하지만 이사를 가기 전 까지는 러시아워 교통체증이 싫어 계속해서 이러한 패턴을 유지 했었습니다.

이 때 이미 아침 6시 경에 출근을 해서 오후 7시 경에 퇴근을 해왔기에 정상적인 밸런싱은 아니였지만, 다시금 찾은 저의 일이 너무나도 즐거웠기에 느끼지 못했었죠.

그리고 회사에 조금 더 가까운 곳으로 이사를 간 후에는 보다 정상적인 근무시간 체제를 유지 했습니다. 워낙 일찍일어나는 편이기에 보통 6시 출근, 늦어도 7시 즈음에 출근을 하였고 대신 퇴근은 보통 3시즈음 했습니다. 나중에 car pool buddy가 생긴 이후에는 8시 출근, 4시 30분 퇴근이 일상적이였죠.

하지만 제버릇 남 못준다고 매일은 일 평균으로 보자면 약 1 - 1.5시간 가량은 공부나 개인 프로젝트, 혹은 업무 업무관련된 신규 기술을 이것저것 테스트 하는데 시간을 보냈습니다. 안그래도 중간에 5년여의 커리어 공백이 있는데다 남들보다 뛰어난 두뇌를 자랑하는 것도 아니기에 롱런하기 위해서는 이렇게 해야 한다고 믿고 살았죠.

그 때에는 그래도 괜찮았습니다. 제 스스로 혼자만의 일을 하는 것이고, 언제든 조정이 가능하기도 하며, 하면 좋고 안해도 그만인 일들이였습니다.

그리고 작년 초에 팀을 옮기면서 이러한 저의 패턴에 작은 변화가 생겼습니다. 항상 고정적인 업무 영역만을 하다가 DevOps를 시작하면서 부터는 모든 것이 신세계였습니다. 항상 새로운 기술들을 접하고 새로운 언어와 새로운 개발환경에 놓였습니다. 그래서 제가 선택한 것이 새로운 것을 배우는데 투자하는 제 개인 시간을 돌려서 새로운 기술을 쓰는 회사 업무를 하는데 쓰자는 것이였죠.

덕분에 좋은 점들도 많이 있었습니다. 회사 프로젝트가 마치 제 개인 pet project처럼 느껴졌기에 애착이 가기도 했으며, 새로운 것을 배우면서 제 업무 성과까지도 덩달아 늘어나니 1석 2조였지요.

하지만 이렇게 변화된 저의 생활 패턴은 단기간에 그쳤어야 했었습니다.
저의 라이프 영역의 개인적으로 투자하는 시간에 업무라는 것이 들어오기 시작하자 일과 삶의 분리가 서서히 무너지기 시작하였고, 어느새 스프린트 플래닝 시에 제가 할 수 있는 일의 스코프를 계산할 때, 퇴근 후 일 할 작업량까지 고려하기 시작한 것이지요.

간호 개인 프로젝트들을 하려고 계획을 세운 주간이라고 해도 늘 그렇듯 사고는 예기치않게 터져서 서버 다운 등의 이슈가 생겨 긴급 대응 문제로 제 시간을 투자하거나, 스프린트 진척이 눈에띄게 더딘 것을 참지 못하고 회사 일을 해대기 시작했습니다.

그렇게 점점 늘어나는 일 욕심은 결국 개인 시간의 투자 뿐 아니라 회사 내 근무시간의 증가까지 초래하게 되었죠.

그런데, 이전에도 느낀 것이지만 사람이라는 동물이 참 재미있는 것 같습니다.
똑같은 장소인 제 집에서, 똑같은 시간인 하루에 2시간 정도, 똑같은 일인 무언가를 개발하고 디버깅하고 공부하는 것인데, 하는 일의 목적이 단순 개인의 취미와 흥미인지, 회사 업무인지에 따라 그 영향력이 다른 것 같네요.

물론 자기계발 시간에 회사업무가 들어오면서부터 일종의 obligation이 생겼기에, 그에따라 투자 시간에대한 자율성은 줄어들고, 완수 후 성과에 대한 압박이 있기에 기본적인 스트레스 레벨이 다를 수 밖에 없긴 하지만요.

이렇게 정리를 하다보니 12월 말에 떠난 이전 매니져가 더 그리워지네요.

그 친구가 회사를 떠나기 전 2-3달동안 저에게 계속 했던 말이 있습니다.

"쉬고 싶으면 아무때나 쉬어라. 휴가 안올려도 좋다."
"일을 너무 많이하기 보다는 새로운 것에 공부를 좀 해봐라. 그게 장기적으로는 너에게도 회사에도 도움이 된다."
"하고싶은 공부나, 참가하고 싶은 컨퍼런스가 있으면 언제든지 말해라. 최종 결정이야 재무팀에서 하지만 학비 보조나, 컨퍼런스 참가비 등 문제는 내가 최대한 재무팀과 싸워서 얻어낼 것이다"

그리고 회사를 떠나기 직전에도 곧 제가 휴가를 갈 것이라는 것을 알기에 이런 말도 해줬었죠.

"칸쿤 가면 거긴 진짜 천국같을꺼야. 돌아오자마자 바로 일을하지 말고, 휴가 복귀 후 1달정도는 그냥 아무것도 하지않으려고 노력해봐. 마치 칸쿤에 있을 때 처럼 말이야. 그렇게 한다고해서 네 job security가 위협받을 일은 절대 없을꺼야."

이래저래 저와 공통분모가 많다고 느꼈던 매니져인데, 그래서인지 저의 미래를 미리 내다본 듯한 이야기들이였죠.

다음 주 부터는 이제 회사와 집 간에 아주아주 강력한 firewall을 설치 해 볼까 합니다.
사실 이전 팀에서는 개발환경 자체가 집에서 일을 할  수 없는 환경이라 하고싶어도 하지 못했는데, 지금 팀은 필요시 재택근무도 적극 장려하는 조직이고, 업무 특성상 재택근무를 해도 무방하기에 마음만 먹으면 집에서 언제든지 일을 할 수 있다보니 물리적인 firewall이 없어진 상황인데, 물리적으로는 불가능해도 제 마음의 벽을 하나 세워보고자 합니다.

보다 오랫동안 행복하게 개발자로 살아남기 위해서요.

그런데... 솔직히 완벽 차단을 할 수 있을지는 솔직히 자신 없긴 하네요. 제 버릇 남 못주니까요.

2017년 12월 29일 금요일

헤어짐에 익숙해지기

타이틀을 적어두고보니 마치 연인과의 이별을 이야기하는 것 같지만, 사실은 회사생활 이야기입니다.

회사를 다니다보면 동기나 선후배, 혹은 직속 상관이 회사를 떠나는 일들을 맞이할 수 밖에 없습니다. 너무너무나도 완벽한 직장이라 turn over rate이 아무리 낮은 회사라고 해도 결국에 은퇴를 하는 사람도 있고, 자신의 적성에 도무지 맞지않아 떠나는 사람이 있으니 결국 한 번 이상은 이러한 순간을 맞이하게 되죠.

한국에서 직장을 다녔던 8년여간 저는 가깝게 지냈던 동료들과의 이별의 순간을 그다지 많이 경험하지 않았습니다. 저와는 거리가 아주 먼 전무, 부사장, 사장 급 임원이 회사를 떠나는 순간은 거의 매 해 임원인사 시즌마다 경험했지만, 저의 직속 상관이나 저의 직속 후배들, 혹은 저와 같은 팀에서 일을하는 팀원들이 떠나는 경우는 지금까지 딱 2번이 있었던 것 같네요.

제가 신입사원 때 부터 저희 소파트를 이끌던 책임님이 과도한 업무부담으로 회사를 떠난 적이 있었고, 서비스 기획자로 변신한 직후 저희 소파트를 이끌던 과장님이 다른 회사의 독일 법인장으로 스카웃되어 떠나면서 이렇게 단 2번의 이별을 경험 했었습니다.

그런데 캐나다에 와서 일을하면서보니 이러한 이별에 좀 더 익숙해져야 한다고 느껴집니다.

지금 회사에서 일을 시작한지는 고작 3년밖에 되지 않았지만, 벌써 회사 내 경력으로는 중고참 급에 해당합니다. 그 만큼 캐나다의 직장문화는 한국에 비해 turn over rate이 훨씬 높더군요. (적어도 개발자라는 직업군에 한해서는...)

오늘도 저는 회사에서 가장 신뢰하고있는 사람 중 한명을 떠나 보냈습니다.

바로 저희 팀 매니져인데, 이 친구가 회사를 그만두게 된 계기 중 일부에 대해 저의 역할이 있었기 때문에 더 각별히 응원 해 주고 싶으면서, 동시에 더 안타깝습니다.

제가 다른 팀에 속했을 때 이 친구에대한 저의 인상은 매니져가 아닌 Senior Developer였습니다. 사실 제가 현재의 팀으로 옮기기 직전까지만 해도 이 친구가 개발자라고 생각했었죠. 이렇게 착각을 하게 된 이유는 업무상 이 친구의 소속팀과 협업을 할 일이 있었는데, 누가봐도 사통팔달 시원시원하게 기술적 해답과 의견을 제시했고, 또 이 친구의 이름으로 된 커밋을 간간히 볼 수도 있었기 때문이죠.

사실 제가 이 회사에 들어오기 전에 Developer에서 Manager로 전직을 한 것인데, 개발 일에대한 애착과 열정이 넘치다보니 Manager가 되어서도 끊임없이 따로 공부하고 연구하며 새로운 기술들을 익히고 살아온 친구입니다.

이렇게 development를 좋아하는 사람들의 특징 중 하나는 자기 자신에대한 무한한 열등의식을 가지고 있다는 것인데, 워낙 좋아하는 일이고 누구보다도 잘 하고 싶어하는 일이다보니 객관적인 시각에서 자신의 seniority를 보기 보다는 주관적인 입장에서 자기보다 항상 높은 곳만을 바라보며 자신의 부족함을 책망하는 것이지요.

제 주변에도 몇몇 이런 사람이 있는데, 정말 제 기준에서는 "천재 아니야?" 싶은 분들도 같이 이야기 해보면 단순 겸손한 것이 아니라 진짜로 자기 스스로를 slow learner라고 하거나, 창의력이 부족하다고 하거나, 기술의 스펙트럼이 너무 좁다고 하거나, 지금은 몰라도 미래에 먹고살기 힘들다며 자책을 하는 경우를 많이 봤습니다.

이 친구와 1년 가까이 같이 일을 하면서 1:1 면담이나 개인적 사담을 통해 제가 왜 캐나다에 왔고, 어떻게 왔는지에 대해서도 이야기를 한 적이 있고, 그런만큼 다른 모든 조건을 떠나서 내가 개발을 하고 있다는 사실만으로도 참 고맙고 감사하고 행복하다는 이야기를 한 적이 있는데, 저의 이런 이야기가 이 친구에게 작지않은 자극이 되었다고 합니다. 그래서 일단은 혼자만의 시간을 가지면서 최근 기술 트랜드와 여러가지 관심있는 분야에 대해 공부를 하기로 결정했다고 하더군요. 그러다 만약 business opportunity를 찾으면 직접 창업을 할 수도 있고, 결국 경제적 압박이 심해지면 지금 회사로 돌아오거나 다른 회사의 일자리를 찾을 수도 있다면서 말이죠.

지금까지 만났던 매니져 중에 가장 개발자를 잘 이해하고, 가장 잘 배려하면서, 개발 일손이 부족하면 직접 일선에 뛰어들 수 있는 최고의 매니져였는데, 너무 아쉽네요.

언젠가 또 다른 인연으로 다시 만나길 바라며 그 친구도 저도 Happy New Year가 되길 바랍니다.