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가 되길 바랍니다.

2017년 12월 20일 수요일

영어의 벽과 이메일

안녕하세요.

오늘은 영어와 이메일 작성에 대한 저의 이야기를 적어볼까 합니다.



한국 회사에서라도 해외 법인이나 고객, 혹은 외국인 동료와 같이 일을 해보신 분들은 아마 잘 아실 것입니다. 한국인과 함께 일을 할 때에는 이메일이나 메신져로 업무를 하는 것 보다 직접 만나서 이야기를 하거나 전화를 하는 것이 가장 빠르고 정확하고 편리하지만, 영어로 일을해야하는 상황에서는 조금 달라집니다.

영어실력에 따라 개인차가 있을 수 있지만, 저도 그렇고 제 주변에 다른 분들도 대부분 가장 두려운 것은 전화통화이며, 그 중에서도 단연 백미는 흔히 다양한 목소리들이 겹치는 상황도 발생하는 Conference Call입니다. 그 다음 기피대상은 메신져를 통한 업무이며, 그 다음으로는 화상통화, 직접 대화, 이메일의 순서입니다. 

전 저 같은 경우 영어를 잘 하지도 못하고, 체계적으로 공부를 한 적도 없다보니 상대방과 영어로 대화를 할 때에는 적어도 20% 정도는 알아듣지 못합니다. 그러니 '말' 이라는 소리 컨텐츠만 순수하게 해석하여 대화를 한다면 최소 20% 정도의 내용은 놓치게 되고, 제가 놓친 컨텐츠가 흐름상 매우 중요한 뜻일 경우 이후 오가는 대화 내용 전체를 이해하지 못하는 상황이 오기도 합니다.

하지만 똑같은 대화라 하여도 직접 만나서 하게되는 경우, 상대의 표정이나 제스쳐, 그리고 서로 대화를 주고받는 장소에서 느끼는 직감이라고 할까요? 제 5의 감각 등에 의해 제가 놓친 소리가 있다 하여도 대략적으로 그 대화의 흐름을 놓치지 않고 잡아나갈 수 있죠. 이는 일상 대화에서는 잘 적용되지 않지만 대화의 내용과 주제가 한정적인 비지니스 대화에서는 거의 대부분 적용됩니다.

화상통화를 하는 경우에는 이 제 5의 감각이 제한받게 됩니다. 또한 '말' 이라는 컨텐츠의 전달 채널인 소리가 실제 대면을 할 때 만큼 깔끔하게 전달되지 않으며, 표정/제스쳐가 전달되는 채널인 '화면'은 제한된 프레임을 통해서만 제공되기에 실제로 만났을 때 만큼 생생하게 그 것을 캐치해 내지는 못합니다.

그리고 이것이 전화가 되면, 오직 청각세포에만 의존하여 모든 컨텐츠들을 캐치 해 내어야만 하게 되기에 여간 스트레스가 아닙니다. 실제로 저 정도의 영어실력에서는 20%를 놓치면 전체 대화에서 맥을 완전히 잘못 짚어내기도 하고, 이해를 못하기도 하다보니 전화통화를 할 경우 온 우주의 기운을 제 달팽이 관에 집중해야 하지요. 그나마 비지니스 대화의 경우 사전에 Agenda가 조율 된 상태에서 전화 연결이 되어 일부 놓치는 것이 있더라도 대화 주제와 내용이 한정되어 있기에 빨라 따라잡을 수 있어서 상대적으로 용이하지만 직장 동료가 갑자기 전화해서 무언가 이야기를 하는 경우에는 너무나 어렵습니다.

메신져의 경우에는 전화통화와 같이 실시간성이 있지만 약간의 지연이 있는 실시간 대화이기에 조금은 부담이 덜합니다. 모르는 단어가 나오면 재빨리 온라인 사전을 통해 확인을 할 수도 있고요. 하지만 역시나 빠른 응답이 필요한데다, 글을 써야 한다는 점에서 어려움이 있습니다. 조금은 어눌하거나 틀린 발음일 수 있지만 말로는 할 수 있는데, 이것을 글로 옮겨 적으려면 철자를 모르는 단어들이 상당히 많기 때문이죠.

마지막으로 이메일은 상당히 귀찮은 일이지만 가장 부담은 덜합니다. 아무래도 시간적 여유가 가장 많은 채널이다보니 천천히 글을 작성하고 두번 세번 다시 검토하고 내용을 고칠 수 있기 때문입니다.

이렇게 항상 언어의 벽을 느끼고 살다보니 영어에 대한 부담이 늘 뒤따릅니다.
지금은 제가 팀을 옮겼지만, 이전 팀에서 매니져가 저에게 항상 영어공부를 좀 하라는 말을 하며 자신이 캐나다에 처음 이민왔을 때 어떤 방식으로 영어 공부했는지를 알려주며 이것저것 추천을 하기도 했습니다. 업무 관련해서는 이전 매니져와 별다른 트러블이 없었지만, 1:1 개인 면담을 할 때 마다 항상 영어 공부를 하라는 이야기를 해서 이에대한 스트레스가 이만저만이 아니였습니다.

올해 초에  DevOps로 팀을 옮기면서도 한가지 마음에 걸리는 것이 있었는데, 그것 역시 영어였습니다. 팀 특성상 다른 개발팀들과 소통이 빈번할 수 밖에 없고, 또한 매우 중요한 부분 중 하나이기 때문이였습니다. 하지만 아이러니하게도 DevOps로 옮긴 이후에 종종 듣는 이야기는 제가 커뮤니케이션을 아주 잘한다는 말입니다. 팀을 옮기면서 따로 영어공부를 한 것도 아니고, 영어 실력이 갑자기 일취월장 한 것도 아닌데, 영어공부가 필요하다는 평가에서 커뮤니케이션을 잘한다는 평가로 바뀐 이유는 바로 소통 채녈의 변화가 큰 요인이 아닐까 생각합니다.

개발팀의 일원으로 일을 할 때에는 사실 사전 조율된 미팅이나, 이메일을 통한 공문 형태의 커뮤니케이션이 극히 드물었습니다. 주로 전화나 메신져, 혹은 그 자리에서 바로 대면 커뮤니케이션이 시작됩니다. 그렇다보니 대화의 내용이나 주제를 제가 미리 예측할 수 없고 그런만큼 듣기에 집중을 해야하며 말할 때에도 더 많은 생각을 거치게 됩니다.

하지만 DevOps에서는 공식적으로 대외 커뮤니케이션을 하는 일이 더 빈번하지만, 이메일을 통한 공지, 혹은 외부 요구사항/요청사항에 대한 대응이 그 주를 이루다보니 커뮤니케이션을 할 때에 제가 혼자만의 시간을 상대적으로 충분히 가질 수 있었고, 그런만큼 메일을 작성하거나 요청 메일에 응대를 할 때, 어떤 이야기를 할지 충분히 생각하여 작성을 하고, 작성 후에도 다시 한 번 읽어보며 수정 할 시간이 있으며, 문법의 벽에 걸려 생각이 충분히 전달되지 않는다고 느낄 시에는 스크린 캡쳐나 코드 캡쳐 혹은 flow chart 등 Visual Aids를 작성할 수도 있었습니다. 또한, 저의 필력과 영어실력, 그리고 문법이 부족하다보니 서술형으로 설명하기 보다는 최대한 bullet point로 간략화하여 설명하고, 필요시 세부적인 설명에 대해서는 주석을 통해 전달합니다.

이러한 노력들로인해 공문을 보내거나 공식적으로 온 요청에 대해 회신을 하는 메일을 작성할 때 상당한 시간 투자가 요구되기는 하지만, 성급하게 조금 잘못된 빠른 커뮤니케이션을 하는 것 보다 약간은 지연이 되더라도 오해의 여지를 남겨두지 않는 커뮤니케이션을 하는 것이 상호간 시간을 더 아낄 수 있다는 것을 이전에 경험으로 배웠거든요. 특히나 영어로 커뮤니케이션을 할 경우에 말이죠. 그래서 한글로 된 메일이나 글을 작성 할 때에는 그냥 의식의 흐름에 모든 것을 맡겨두고 줄줄줄 작성한 후에 마지막 검토라고는 수신인 리스트와 첨부파일 여부정도만 하지만, 영문 메일을 작성 할 때에는 일부러 시간을 투자하여 각종 Visual Aids도 만들고, 두세 번 다시 읽어보며 부족한 영어실력에 말도안되게 장문으로 작성된 내용은 여러 문장으로 다시 잘게 쪼개고, 그래도 스스로 자신이 없으면 bullet point로 바꾸고, 중요 내용이나 키워드에는 Bold체와 Italic체를 섞어주고 Underline이나 폰트 색을 바꿔가며 조금 틀린 문법이라도 누구나 쉽게 알아볼 수 있도록 바꾸고 또 바꿔서 보냅니다.

후회되는 과거라 할 지라도 무엇이건 결국 자신에게 도움이 된다는 제 아내의 말이 다시금 생각나는 대목인데, 한국에서 기술영업, 기획, 수출팀에서 근무 한 경험이 도움이 되더군요. 일단 기획, 기술영업을 하면서 하루에서 몇 개씩 Presentation 자료들을 만들면서 훌륭한 미적 감각을 지닌 도형을 만들어내지는 못해도 PPT나 OneNote 등을 이용해 최대한 핵심을 간추린 챠트나 도형을 만들어내는 기술을 몸으로 익혔고, 해외 사업자나 법인들과 커뮤니케이션 하면서 문장형 이메일 보다는 눈에 들어오기 쉬운 Bullet Point형 메일을 작성하는 것 또한 경험을 통해 몸에 익혔는데, 이러한 경험들이 지금 이렇게 도움이 되더군요.

또한 간혹 Thank you letter나 요청/요구를 빙자한 메일 중에는 은근히 우리 팀을 공개적으로 까면서 개선을 촉구하는 메일들이 있기도 한데, 이 경우에도 공돌이가 아닌 분야의 경험이 도움이 되었습니다.

만약 공개적으로 까는 것이라 할 지라도 정말로 우리의 잘못이라거나, 우리가 인지하고는 있지만 일단 받아들이고 넘어간 technical debt인 경우에는 지체없이 Sorry 를 날립니다. 혹자는 북미 문화에서 Sorry를 남발할 경우 자신의 가치가 깎이는 것이고 다른 이들이 자신을 우습게 여기는 길이기에 가능한 sorry라는 말을 하지 않는 것이 좋다고 하기도 합니다.
예를들어

"Sorry for the inconvenience." -> "Thank you for your patience and understanding."

이런 식으로 돌려서 말을 하는 것이 좋다는 것이지요.

하지만 제 성격의 문제인지, 그냥 습관인지는 몰라도 이런 문장 작성을 쉽게 받아들이지 못하기에 그냥 기존 습관대로 Sorry를 날립니다. 다행히도 아직까지 저를 우습게 여기는 사람은 없는 것 같기도 하고요.

하지만 이렇게 다른 메시지를 빙자하여 돌려까기를 하는 정치적인 메일을 보내는 사람들의 경우 열에 여섯 일곱은 근본적인 잘못과 오류가 자신에게 있기에 이를 덮고 우리쪽 잘못으로 물타기를 하기 위해 보내는 경우가 많이 있습니다. 이런 케이스에도 역시 한국에서 개발을 떠나 근무했던 경험들이 도움이 되었습니다.

제 경험상 이런 정도의 메일을 보내는 사람이라면 상당한 전투력을 이미 가지고 있거나 이미 코너에 몰린 상황이라 뭐든 보이면 다 물고 뜯을 자세가 되이있는 경우인지라, 만에하나 나의 잘못이 정말로 하나도 없는 상황이라고 해도 이성적/논리적/이론적/기술적으로 시시비비를 가리려들면 영어도 딸리고, 언어적 기술도 부족한 제가 공개적으로 넉다운 될 가능성이 매우 높으며, 아무리 잘 싸워봐야 양쪽 모두 거지꼴이 되는 진흙탕 싸움이 되기 십상입니다.

그래서 이런 메일에도 영혼은 없지만 일단 Sorry를 날립니다. 하지만 단순한 사과 레터가 아닌 약간의 정치적인 메시지를 섞어서 보냅니다.
정치적인 메시지란 여러가지 케이스들이 있을텐데, 예를들면 이렇습니다.
사과를 하고, 시비를 건 당사자의 실수나 오류에대해서는 직접적인 언급을 최대한 자제합니다. 대신, 그들이 범하고 있는 큰 실수나 오류, 혹은 그들 제품의 문제점을 보여 줄 수 있는 실측 데이터를 첨부하고 메일을 주의깊게 읽을 경우 그들의 잘못이라는 것을 해석 할 만한 다른 비교 데이터, 혹은 데이터에 대한 해석 등을 추가합니다.

정말 정치질을 잘하는 사람들의 경우 이런 정치적인 답장을 받으면 그냥 거기에서 싸움을 중단하고 자신의 단점을 감추기 위해 공격할 다른 쉬운 대상을 찾습니다. 정치질과는 보통 무관하더라도 제 메일의 뜻을 이해 할 만한 사람이라면 자신의 내재적 문제점에 대해 자각하고 더 이상 저희 쪽을 물어뜯지는 않죠.
제 레터를 그냥 말 그대로 사과의 뜻으로 받아들이는 경우도 있기는 한데, 이 경우에는 정말 답이 없습니다. 적당한 무시와 함께 저 역시 본격적인 반격을 할 수 밖에 없는데, 이러한 본격적인 반격은 제가 아니더라도 팀 내에 대부분의 개발자들이 아주 좋아하는 Technical debate인지라 영어가 딸리는 제가 빠져도 다른 동료들이 주저없이 콜로세움으로 뛰어들기에 제 입장에서 더 이상 부담 될 일은 없죠.

이렇다보니 저는 "매니징"을 하는게 싫고 "개발"을 하는게 좋아서 캐나다 이민까지 왔는데, 회사에서 매니져 롤에 대해 저에게 말을 꺼내게 되는 상황을 맞이하기도 했네요.
만약 제가 더 나이가 들어서 정말로 제 머리와 체력으로는 기술을 따라가기 어렵게 되었고, 이메일 뿐 아니라 말하기와 듣기도 잘하게 된 상황이라면 고려 할 수도 있는 제안이겠지만, 지금 저의 열정과 영어실력을 고려하면 전혀 고려할 대상이 아니지요.
또, 지금 이메일을 비교적 잘 쓰고는 있다지만 공식적인 이메일 커뮤니케이션을 밥먹듯 해야하는 상황이라면 지금과 같이 한타 한타 공들여서 이메일을 작성할 수도 없기에 저의 미천한 영어실력과 필력, 부족한 지식과 얕은 안목이 금방 드러날 수 밖에 없기에, 딱 지금 수준이 적당한 것 같습니다.