레이블이 developer인 게시물을 표시합니다. 모든 게시물 표시
레이블이 developer인 게시물을 표시합니다. 모든 게시물 표시

2019년 12월 10일 화요일

컬리지 프로그램 자문위원회 활동 (Program Advisory Committee)

안녕하세요 둥이아빠입니다.

보통 컬리지에서 오는 이메일들은 동문들에게 기금모금을 하는 연락이거나, 동문파티 등등 별로 관심이 없는 내용들이라 읽어보지도 않고 휴지통으로 직행하는 편입니다. 얼마 전에도 센테니얼 컬리지에서 이메일이 한 통 왔습니다.

'Invitation for PAC member'


메일 제목도 뭔지 알 수 없는 단어인 PAC이라는 말이 적혀있어서 바로 삭제를 했었죠.

그 사실을 잊고 며칠이 지난 후 얼마 전 주문한 TV가 아직 배송이 되고있지 않아서 혹시나 스팸함이나 휴지통에 메일이 들어있지 않을까 싶어 스팸함과 휴지통을 뒤져보는데, 의도치않게 그 메일의 본문이 열렸습니다. 떡 본 김에 제사지낸다고 열린김에 잠시 읽어보는데 메일의 시작이 제가 아는 교수의 이름으로 시작하더군요.

 'XXX 가 추천을 해주어서 너를 Mobile Applications Development 학과의 PAC 멤버로 초대하고싶다.'

PAC이 뭔지도 모르겠지만, 일단 학교다닐 때 만났던 교수의 이름이 들어있기에 구글에서 PAC이 무엇인지 찾아봤습니다. 찾아보니 Program Advisory Committee의 약자로 학과 프로그램 구성 및 설계, 방향성에 대해 자문을 하는 외부 자문위원 활동이더군요.

발신인도 찾아보니 그 학과의 full-time faculty 중 한 명인데, 교수를 하고있는 사람이 메일을 보내면서 아무도 알지 못 할 PAC이라는 약어를 제목으로 쓰고, 메일 본문에 PAC이 무엇을 하는 것인지도 쓰지 않아서 이 교수가 이상한 것인지, 저를 초대 할 의욕이 전혀 없는건지, 제가 상식이 부족한 것인지 잠시 생각하게 되었네요

여하튼, 구글링을 통해 PAC이 무엇인지는 알게 되었고, 참석을 여부에 대해 고민을 시작했습니다. 모바일 어플리케이션 개발쪽을 하긴 했지만 이미 손을 놓은지 거진 3년이 다 되었고, 제가 했던 모바일은 일반적인 시장에서의 그것과는 사뭇 다르기에 잠시 고민을 하다가 모바일 분야를 떠난지 약 3년가까이 되었고, 지금은 DevOps관련 일을 주로 하는데 그래도 괜찮은 것인지와, 구체적으로 어떤 활동을 하게되는 것인지 소개를 해 달라고 답장을 보냈죠.

메일을 보내고 잠시 후 곧바로 답장이 왔는데, 한 번 시작하면 3년간 임기이며, 일년에 2회 정기회의 외에 필수적으로 참여해야하는 별도의 활동은 없는 일종의 봉사활동이라는 답이 왔습니다.

일단 안그래도 바쁜 상황인데 저를 더 힘들게 만들만큼 일이 큰 것은 아니라는 점에 마음이 놓였지만, 반대로 학과 프로그램  설계에 참여하는데 연간 2회 미팅만으로 무엇이 가능할까 싶어 형식상 존재하는 위원회일 수도 있다는 생각에 다시 한 번 망설였습니다.

그래도 언젠가 제가 충분한 실력과 자질을 쌓은 후에는 컬리지 강사를 한 번 쯤은 해보고 싶다는 생각이 항상 있었기에 일단 한 번 참석을 해 보기로 결정을 하였고, 이번 주 월요일에 첫 프로그램 자문위원회 회의에 참석을 했습니다. 졸업 후 4년간 단 한 번도 학교에 갈 일이 없었는데, 지난달 지식 더하기 정보 나누기 행사에 스피커 참석 건으로 가고 다시 한 달 만에 학교에 오니 왠지 학생때로 돌아간 것 같아 이상하더군요. 제 신분이나 일자리 등등 모든 것이 불명확하던 시절이라 그 시절이 그리운 것은 아니였고, 자주오니 많이 바뀐 캠퍼스가 다시 눈에 익기 시작하더라고요.


지난번 행사는 학교 행사라기보다는 아리랑 TV의 행사에 학교와 같이 주관을 한 것이고, 학교 전체라기 보다는 국제학생 학부에서 주관한 행사라 딱히 학교 관계자들을 만나보지 못했는데, 이번에는 컬리지 학부에서 하는 행사인지라 오래간만에 몇몇 반가운 교수들과 학과장을 만나볼 수 있었습니다.

저를 추천해 준 교수 사무실에서 10분 가량 이야기를 나눈 후, 회의실로 들어가니 저에게 메일을 보냈던 교수가 테이블 세팅을 하고 있더군요.


이번 회의 아젠다, 위원회 활동에 대한 가이드 문서 등을 읽어 볼 때만 하더라도 형식적으로 하는 활동이라는 생각이 들었는데, 지난 회의록을 읽어보니 그래도 무언가 의미있는 활동이 가능할 수도 있다는 생각이 들었습니다. 자세한 행간의 내용은 제가 알 수 없지만, 현재 학과의 커리큘럼을 읽어보면 지난 회의록에서 제안한 몇몇 사항들을과 연관된 키워드들이 보였습니다.

저를 포함한 신입 위원 3인과 기존 위원들간 자기소개를 시작으로 본격적으로 회의를 시작하였습니다.

처음에는 어떤 회의인지 몰라 적당히 눈치를 보고 있었는데, 위원들 각자 자신이 생각하는 의견들을 가감없이 내던지고 있고, 학교에서도 이를 진지하게 받아들이는 모습이 포착되어 저도 제 생각을 이야기 하기 시작했습니다. 새로운 화두를 던지거나 이야기 전환할 만큼의 영어실력은 안되기에 제 생각과 어느정도 일치하는 이야기가 나올 때, 기회를 봐서 하나씩 생각들을 던졌죠.

"1년 2학기라는 시간은 그리 긴 시간이 아니다. 학기마다 배우는 전공 5과목 중에 서로 연관성이 아주 낮은 코스가 3-4개 정도로 학생들은 매 학기마다 전혀 다른 것 3-4개 이상 배우는 것인데, 차라리 1학기에는 mobile관련 다양한 것들을 general하게 배우고, 2학기에는 몇가지 스트림을 선택할 수 있게 하여 선택적으로 특정 스킬셋에 대해 깊이있게 배우는 것이 더 좋을 것 같다."

"개인적 경험상 컬리지 졸업자들이 대졸자 대비하여 인터뷰 뿐 아니라 실무에 있어서도 상대적으로 크게 취약한 것 3가지가 있는데, 디자인패턴/설계, 테스팅, 안드로이드 activity/fragment/service 라이프사이클 관리 등과 같은 기본지식이다. 4년간 배운 학생들만큼 성취를 할 수는 없을지 몰라도 어찌보면 현업에서 가장 기본이되고 중요한 지식을 전혀 배우지 않는 것은 문제가 될 수 있다."

회의가 진행되면서 여러 이야기들이 오갔고, 현재 프로그램에서 백엔드, iOS, Android, Mobile Web 등 너무나 다양한 기술들을 배우는 것이 문제라는 것은 학교에서도 동의를 했고, 학생들 설문조사를 거쳐 두번째 학기에는 2개 혹은 3개의 스트림으로 나누는 방향에 대해 학교에서 좀 더 고민을 하기로 했습니다.
현재 파트타임 교수를 하는 일부 위원회 멤버들이 우려하는 것은 비용/난이도 등의 문제로 학생들이 스트림을 선택할 경우 90%이상 Android로 가서 스트림 운영이 불가능할 수 있다는 것인데 (과목 개설을 위한 최소 학생 수 확보가 안될 수 있기에) 그래서 학생들의 의견 수렴이 필요하다는 것이였죠.

또, 학생들에게 너무 과부하가 걸린다는 것에 학교도 동의를 하여 2020년 가을학기 부터는 프로젝트 과목에서 모든 과목에서 배운 내용을 모두 총망라한 integrated capstone project를 하고, 각 과목에서는 학기말에 별도의 프로젝트를 하지 않기로 했습니다. 여러 과목의 교수들이 같이 협동해서 코스 커리큘럼과 프로젝트를 진행해야 하기에 학교 입장에서는 좀 더 일이 많아졌겠지만, 이전에 비해서는 학생들의 로드가 줄어들 수 있기에 좋아진 것 같아요.

그리고, 원래는 2학기에만 capstone project를 했는데, 이것을 1학기부터 하는 대신에 1학기 중반정도 까지는 진짜 프로젝트를 하기 보다는 실제 현업에서 필요로 하는 지식인 테스팅, CI/CD, 디자인 패턴/설계 등등에 대한 내용들을 조금씩이라도 훑어보도록 과목 설계를 하기로 했습니다.

이와 관련해서는 회의 중 세부적으로 정하지는 않았고, 추후에 shared document를 통해 서로의 의견을 주고받은 후 결정하기로 했습니다.

다음 미팅은 거의 반년 뒤에 다시 있을텐데, 이번에 제안된 내용들 만이라도 다 반영이 된다면 확실히 이전보다는 나아질 수 있을 것 같다는 생각이 듭니다.

하지만 결국... 수업을 어떻게 설계하건, 그 누가 와서 강의를 하건, 교육에서 가장 중요한 마지막 단추는 학생인데, 과연 학생들이 얼마나 열정적으로 수업에 참여를 하고 스스로 노력을 할 것인지가 의문이긴 합니다. 공자/맹자가 와서 가르친다 한들, 학생이 아무런 의지가 없다면 무엇 하나 깨우칠 수 없으니까요.
위원회 회원들 중 컬리지를 다녀본 경험이 있는 사람은 저 뿐이라, 대학생들을 생각하고 의견들을 제시한 것일텐데, 컬리지를 다녀본 저로서는 궁극적으로 마지막에 허무해지는 것이... 

'아무리 낮게 잡아도 절반 이상의 학생들은 공부 안하고 그냥 대충 학교만 다니고 졸업장만 받을텐데... 우리가 이렇게 목에 핏대 세워가며 토론하는 열정의 절반이라도 가진 학생은 아주 드물텐데...' 

이 생각이 드는 것이죠.

그래도, 이 학과는 다른 IT분야 학과와는 달리 관련 전공 기 졸업자들이 mobile 특화된 개발을 배우기 위해 듣는 프로그램이라 하니, 제가 경험했던 컬리지 학생들과는 사뭇 다른 열정이 있으리라 믿어보고 위원회 활동에 열심히 참여 할 생각입니다.

최소한 학교측에서 위원회의 의견을 경청하고 제안을 받아들일만큼 충분히 개방적이고, 커미티 멤버들 역시 이 봉사활동을 한낱 지나가는 일 정도로 생각하지 않고 열정적으로 참여하는 만큼 열심히 활동하다보면 무언가 발전이 있을 수 있을테니까요.

2017년 4월 4일 화요일

College와 취업률 데이터, 그리고 제 체감 취업률

요즘 연이어서 저에게 문의를 주신 많은 분들께서 '취업이 잘 되는 컬리지를 가는 것이...' 라는 말씀을 하셔서 글을 올립니다.

이전에도 제 다른 포스트에 댓글이나 메일로 따로 문의주신 분들께 답장으로도 이미 나간 적이 있는 내용이긴 한데, College의 SW 학과 졸업생의 취업률에 대한 이야기입니다.

캐나다에 첫 발을 내딛기 위한 준비 하면서 컬리지를 알아보았을 때에 제가 가장 중요하게 생각하고 찾아본 데이터는 각 프로그램의 커리큘럼과 취업률 데이타입니다. 아무래도 이미 전공을 했던 분야인지라 너무나 기초적인 과목으로 커리큘럼이 되어 있으면 피하고 싶어 커리큘럼을 찾아 봤었고, 당연히 이민을 간 이후에 일을하며 돈을 벌고 살아야 하기에 가장 중요한 '취업'을 확인하지 않을 수 없었죠.

정확한 수치로는 기억이 나지 않지만, 대부분의 토론토 인근 컬리지 SW 관련 학과의 취업률 데이터는 졸업 후 6개월 이내 70%를 웃돌았던 것으로 기억합니다. 그 외에 조금 더 범위를 넓혀서 오타와나 나이아가라 등 다른 온타리오 주의 컬리지들을 찾아 보아도 낮아봐야 60-70% 정도는 되었던 것으로 기억하고요.

당시에 이 데이터는 저에게 상당히 긍정적인 요소로 작용을 했던 것이 사실입니다. 아무리 언에에서는 disadvantage가 있다고 해도 60-80%의 확률이면 충분히 스스로의 힘 만으로도 돌파해 낼 자신이 있었거든요.

이 자료는 누구나 쉽게 인터넷으로 찾을 수 있는 자료이긴 한데, 저도 처음 준비를 했을 때에는 직접 자료를 찾아 볼 생각은 하지 않았고, 유학원에 문의를 하여 자료를 받아 보았었습니다. 대부분 유학원들이 캐나다 컬리지 요강 같은 두꺼운 책이 있고, 그 책에는 각 학교/학과 별 입학시기, 입학정원, 취업률 같은 데이터들이 있었죠.

예를들어 제가 다녔던 학교의 취업률 통계 자료는 이 링크에서 찾아볼 수 있죠.




위 스크린샷은 2015년 자료 첫 장을 캡쳐한 것입니다. 저도 사실 본 포스팅을 준비하면서 처음 본 자료인데, 위 자료에서 가장 중요한 부분은 % Working Related 부분과 Available for Employment가 아닐까 생각합니다.

한국에서도 정부에서 발표하는 실업률과 취업률 수치와 실제 체감하는 정도에 차이가 많아 허수가 많다고들 이야기가 많이 나오는데, 그 원인 중 하나가 이를 계산할 때 모수가 전체를 대상으로 하지 않고 Available for Employment만을 대상으로 하기 때문이죠.

위 표에서도 볼 수 있듯, 총 6,449명의 졸업자 중 Available for employment는 2,730 명입니다. 그리고 2,730명이 취업률을 계산할 때 분모로 들어가는 숫자인데, 실제 전체 졸업자의 약 40% 수준밖에 되지 않습니다. 즉 졸업자 100명 중 10명만 취업이 되었어도 취업률 계산은 10/100으로 하지 않고 10/40으로 계산하여 25%라고 말하는 것과 같습니다.

위 테이블에서 녹색 부분에 표시된 72%라는 취업률은 캐나다에 오기 전에 보았던 수치와 상당히 유사한 수치인지라 익숙한 데이터이지만 그 옆에 Working Related의 48%는 저에게는 매우 생소한 수치입니다. 제가 컬리지를 생각하면서 받아보았던 자료에서는 절대 나온적이 없었던 과반 미만의 취업률 수치입니다.

자 그러면 실제로 제가 체감하는 컬리지 SW 학과 취업률에 대해 말씀드리고자 합니다.

다른 글과 마찬가지로 제가 경험하고 아는 캐나다 사회는 제 경험만을 기반으로 하기에 전체를 대변하기는 어려울 수 있지만, 실제 이 곳에서 생활하는 사람 중 한 명으로서 어떻게 느끼고 생각하는지를 참고하실 수는 있을 것입니다.

제가 입학을 한 시기는 2014년 1월 학기이며, 프로그램은 3년제 프로그램의 Fast-Track 과정인 Software Engineering Technology Fast-Track 과정입니다. 그리고 같은 시기에 같은 프로그램에 입학했던 친구들의 절대다수는 외국인 학생이였으며, 또 대부분이 Co-op 프로그램으로 등록을 하여 저처럼 non co-op으로 등록한 학생들은 많지 않았고, 또 non co-op으로 처음에 입학을 했어도 상당수의 학생들이 첫 학기중에 학교에 이야기 하여 Co-op으로 프로그램 변경을 했었습니다.
1월학기에 시작했던 당시 프로그램의 일정상 코업 유무와 상관없이 방학이 없이 학사계획이 잡혀있어 졸업까지 non co-op의 경우 16개월, Co-op의 경우 24개월이 걸리는 과정으로 저처럼 중간에 자퇴?를 한 경우를 제외하면 대부분 2015년 4월에서 2015년 12월 사이에 졸업을 했기에 졸업 후 지금까지는 약 1.5~2년 정도의 시간이 흘렀습니다. 같이 입학했던 친구들 중 한 명은 Software Engineering Technician Fast-Track 과정으로 8개월(2학기)만에 졸업을 했지만 총 50여명의 모수 중 1명이니 일단 예외로 하겠습니다. (참고로 그 친구는 졸업과 동시에 BlackBerry QA로 취업이 되서 월털루로 갔으며 이후로는 연락이 안되서 잘 모릅니다)

졸업 후 1.5-2년이 지난 지금 시점에서 살펴보면 졸업자의 대부분은 취업을 했습니다.

하지만 단순 취업률이 아닌 전공 관련분야 취업률을 보자면 이야기가 조금 달라지는데요, 카페나 식당, 마트 등에서 전공과 무관한 일을 하고있는 경우를 제외하고 전공 관련분야인 Software Developer, QA, Tech Support, IT 테크니션, Tech sales 등으로 취업을 한 경우는 다 합치면 21명으로 절반에 미치지 못합니다. 그리고 그 중 가장 근무여건이나 연봉 면에서 가장 나은 대우를 받는 직업군인 SW Developer (DBA 포함)로만 보자면 총 11명이 SW Developer로 현재 일을 하고 있어 25% 미만이고요.

시계를 돌려서 졸업 후 반년 정도의 시점인 2016년 여름으로 돌아 가보겠습니다.

당시에는 SW Developer로 취업을 한 사람은 총 8명이고, QA 등 다른 포지션 취업자는 정확히 기억나지는 않지만 매우 소수였습니다. 제 생각에는 당시만 해도 친구들이 근무 조건이나 연봉에서 상대적으로 나쁜 대우를 받는 다른 포지션에는 지원을 잘 안했기 때문이라고도 생각합니다.

그러면 SW Developer로 취업을 한 8명의 면면을 살펴보겠습니다.

컬리지 입학 전에 모국에서 Software Developer (or DBA) 근무 경력이 있던 사람은 저를 포함하여 총 8명이지만, 저는 제대로 된 경력자는 7명이라고 생각을 합니다. '본인 주장'에 의거하여 PHP 경력이 3년 남짓 된다는 한 친구는 같이 과제나 프로젝트를 하면서 코드를 보면 3년의 경력이 거짓 주장이거나, 제대로 된 회사에서 일을 했던 경력이 아닐꺼라고 생각되기 때문입니다. PHP의 syntax는 이것저것 많이 아는 것이 확실하지만, 프로젝트 설계나, 로직 구현 수준에서는 도무지 경력자라고 믿어지지 않는 수준이였거든요. 아마 개인 웹 서비스 개발/운영 정도를 경력으로 말한 것이 아닐까 생각됩니다.

이 7명 중 6명은 졸업 후 반년 정도가 지났던 당시 시점에 Software Developer로 취업을 했습니다. 나머지 경력자 1명은 상해에서 C++ 쪽에서 경력도 10년이 넘었고, 실력도 좋은 친구였는데, 이력서를 아무리 넣어도 좀처럼 인터뷰 기회조차 잡지 못하고 있다며 힘들어하곤 했었죠.
그 외에 기존 학력은 있으나 (Fast-track 이였기에 기존 학력이 다들 있었습니다) 경력이 없었던
친구들 중에 Software Developer로 취업이 된 케이스는 단 2명입니다. 지금은 취업이 안되 고생하던 그 상해 친구도 구직에 성공을 해서 경력자들은 100% 취업을 했고, 경력이 없지만 SW Developer가 된 사람은 현재 기준 총 4명입니다.

물론 제 체감 통계에는 여러가지 구멍이 있습니다.
제가 아는 케이스들로만 예를 들자면, 당초부터 명확히 SW 개발자가 되겠다는 의지는 없었던 홍콩인 캐나다 영주권자 아저씨는 졸업 후 모국으로 돌아갔습니다. 처음 입학 후 학기초에 영주권 갱신을 위해 머무르기 위해 왔는데, 그냥 놀 수는 없어서 컬리지에 왔고, 20대 시절에 코볼 개발을 한 적이 있기에 요즘 기술이 궁금해서 왔다고 했었죠. 캐나다에서 모델로 활동하던 여자친구와 함께 살기 위해 캐나다 컬리지에 왔던 베네주엘라 친구는 졸업 후 1년정도 지났을 때, 여자친구가 주 신청자가 되어 영주권을 받은 뒤 다시 모국으로 돌아갔고요. 또, 정확한 나이는 잘 모르지만 최소 40세 이상이였던 파키스탄인 아저씨는 나이 감점때문에 자력 이민이 어렵다는 판단으로 캐나다에 이민와 개인 비지니스를 하는 친척이 사는 도시로 이동하여 그 업체의 스폰서를 받아 영주권을 받기 위해 자발적으로 전공분야 취업을 하지 않았다고 다른 친구를 통해 전해들었습니다.

이런저런 케이스들을 모두 고려한다면 제 체감 통계도 좀 더 정확해 질 수 있지만, 제가 그들 모두와 친밀하게 지내고 있는 것도 아니고, 또 지금은 건너 건너서도 연락이 닿지 않는 사람들도 있다보니 실제 취업이 되었어도 알지 못하는 케이스도 있을겁니다만, 저와 같은 학교 같은 프로그램에 같이 입학했던 친구들도 그렇고, 주변에 다른 사람들의 경험을 통해 보더라도 대략적인 느낌은 비슷합니다.

졸업 후 1년이 넘으면 전공관련 분야는 전체 졸업자 중에 절반가량이 취업을 하고, SW Developer로는 25% 가량이 취업을 합니다. 그리고 SW Developer로 취업을 한 친구들의 면면을 살펴보면 학교 재학시 "저 친구랑 팀프로젝트 같이 해야겠다" 라는 생각이 들었던, 나름 잘한다는 느낌을 받았던 친구들이기도 하고요.

그리고 "학사/석사를 받았으나 취업이 안되어 컬리지에 다시 갈 정도로 컬리지에 가면 취업이 잘된다더라" 라는 말이 있어 이에 대해서도 잠깐 말씀드립니다.

컬리지는 직업 시장을 위한 직업 학교라는 그 특성상 학교 전체를 놓고 보자면 학문 연마를 목적으로 하는 대학/대학원 대비 전반적으로 취업률이 높을 수 있습니다. 아무래도 실질적인 특정 직업을 겨냥한 학과의 졸업생이 순수학문 학과를 졸업한 졸업생 보다는 특정 직업군에 특화되어 있기에 구직 시장에서 더 유리할 수 있죠.
하지만 이는 전반적인 컬리지 vs 유니의 이야기라면 맞을 수 있지만, 대학/대학원/컬리지 졸업자, 심지어 그냥 고졸자라도 모두 같은 포지션을 두고 다투는 SW Developer라는 직업군에서는 맞는 이야기가 아닙니다.
만약 컬리지가 아닌 대학/대학원이라면 "꼭 관련분야 취업을 해야하나?", "취업률이 전부는 아니자나!" 라는 말이 맞겠지만, 직업을 위한 교육기관에서 가장 중요한 지표는 결국 졸업생들이 졸업 후 관련분야에 얼마나 정착하는가라고 생각합니다.

대학/대학원에 대한 저의 직접적인 경험은 없지만, 저희 팀에 들어오는 갓 대학/대학원을 졸업한 쥬니어 개발자들을 통해 듣는 바에 의하면 그들 역시 그 누구도 손쉽게 취직이 되지는 않지만, 제가 느끼는 컬리지 졸업생들의 취업률 수준에 비하면 훨씬 수월하다는 느낌이였습니다.

제가 생각하는 Software, Computer Science 관련 컬리지의 취업을 정리하자면 이렇습니다.

- 학교 다닐 때 잘 했던 사람들은 시간이 좀 걸리지만 결국엔 SW Developer로 취업을 한다.

- 컬리지 졸업해서 SW Developer가 되는 것은, 낙타가 바늘구멍 들어갈 만큼의 어려운 경쟁은 아니지만 졸업하면 대부분 취업되는 수준도 아니다.


- Developer가 아니라 해도 전공 관련분야/유사분야로의 취업 역시 절반 미만으로 쉽지는 않지만 많이 어렵다고 하기는 힘들다.


- SW/CS 관련 학과로 한정지어 보자면 컬리지 졸업자의 취업률은 대학/대학원 취업률보다 낮으면 낮았지 높지는 않다.


제 블로그의 다른 글에서 오직 컬리지만이 유일한 선택지는 아니라는 말씀을 드린 적이 있는데요, 간혹 "컴싸/컴공 석사를 하는 것 보다 컬리지를 가는 것이 취업에 유리할 것 같아 컬리지로 간다" 라고 생각하시는 분들이 계시다는 것은 참 안타까운 일입니다.
컬리지와 석사는 분명 그 목적성도 다르고, 입학 요건도 다르며, 졸업의 난이도 또한 차이가 나고, 학비 역시 대학원이 더 비쌉니다. 입학 요건의 문제, 시기상의 문제, 다른 환경적인 문제, 자금의 문제, 혹은 졸업시 까지 공부를 할 자신감의 문제라면 모를까 만약 취업률을 걱정하여 컬리지에 오신다면 컬리지에 실망을 하실 수도 있을 것입니다. 만에하나 컬리지에 오시면서 70%의 취업률이라는 통계만 믿고 하위 30%에만 벗어날 정도의 노력을 하며 졸업한다면 최악의 경우가 될 것이고요.

오늘 포스팅을 준비하면서 갑자기 짧게나마 같이 생활했던 컬리지 친구들이 생각나서 오래간만에 페북/페북 메신져/링크드인/문자 등으로 연락을 했네요.

2017년 2월 13일 월요일

Back to basics



지난 주말에 느낀 점이 있어서 Junior 기준 Technical 인터뷰에서 질문하는 질문 형식들에 대해 간략하게 포스팅을 남길까 합니다.

GTA지역 한인 개발자 모임에서 구직자 몇 분이 모여서 취업 스터디를 같이 해 오셨는데, 그 마지막 스터디로 모의 인터뷰를 하는데, 저를 비롯한 몇 분께 interviewer 롤을 맡을 수 있는지 부탁을 하더군요. 사실 저는 Interviewer로서의 경험은 한 손에 다 꼽힐만큼 적고, Interviewee로서의 경험 역시 열손가락에 한참 부족할 만큼 적은 상황인데다, Junior로서 제대로 인터뷰를 본 것은 달랑 한번인지라 거절을 했지만, 이런저런 사유로 모바일 쪽에 다른 경력자들 께서 사정이 여의치 않다보니 제가 모의 인터뷰의 Android쪽 기술 인터뷰 Interviewee로서 참석을 하게 되었고, 그래서 기존에 경험들을 기반으로 인터뷰 질문지를 준비 했었습니다.

캐나다에서 첫 인터뷰를 하고, 처음으로 취업에 되었을 때 올린 글에도 당시에 제가 받았던 질문들에도 나와있는데, 사실 캐나다에서 이후에도 시니어 포지션으로 면접을 볼 때에도 거의 항상 나오는 질문 유형들이 있습니다. 

첫 번째 유형의 질문셋은 이 포스팅 제목에서도 감 잡으셨겠지만, 아주 fundamental하고도 기본적인 그런 질문들입니다.
두 번째 유형은 지원자의 실제 경력이나 경험을 파악하고자 하는 의도가 있는 질문들로 회사 업무에서 바로 사용하게 될 특정 skill set에 관련된 in-depth 질문들입니다.
그리고 마지막 유형은 코딩 능력과 간단한 알고리즘 이해/구현 능력을 보는 질문들입니다.

사실 인터뷰에서 질문을 하는 내용이나 틀은 각 회사마다 다 다르겠지만, 인터뷰 틀이 어느정도 잡힌 회사들이라면 보통은 이와 같은 틀 내에서 움직입니다.

첫 번째 fundamental 질문의 예를 들자면,
- Class/Interface/Abstract Class는 어떻게 다르죠? 어떨 때 어떤 것을 사용하나요?
- 오버라이딩과 오버로딩에 대해 설명 해 보시겠어요?
- xxx 키워드에 대해 설명 해 보시겠어요? 어떨 때 그걸 사용할까요? (final, static, synchronized...)
- Activity와 Service는 무엇이 다르고 무엇이 같죠?
- Android에서 Context가 무엇일까요?
- Activity와 Fragment 라이프사이클과 각각의 콜백에서 놓치면 않되는 중요한 행위들이 무었이 있고 왜 그것이 중요한지 몇가지만 설명 해 보실래요?

회사 내부 인력 사정상 피치못하게 제가 기술면접에 Interviewer로서 나가게 되었을 때에도, 회사 팀 리드들이 미리 뽑아놓았던 문제은행(?)에도 이런류의 질문은 반드시 처음에 있었고, 시니어 포지션으로 다른 회사에 면접을 볼 때에도, Junior 때 보다는 비중은 줄었지만 적어도 한 두 문제 정도는 이런 류의 질문이 꼭 나왔었습니다.

그리고 제가 Interviewer로 나가기 전에 교육 받은 내용에도 그랬고, 제가 Interviewer로서 느낀 바로도 그랬는데, 질문은 interviewee의 백그라운드에 따라 꼬리에 꼬리를 무는 방식으로 진행이 됩니다.
즉 쉬운 질문부터 시작해서 점점 난이도가 있는 질문들을 던져보며 지원한 포지션에 맞는 스킬셋에 대해 어느정도의 seniority를 갖췄는지 판단하기 위함입니다. 그리고 간단한 알고리즘 구현에 대한 코딩 시험을 거치며 1) 단순히 달달 외워가며 인터뷰만 준비한 사람인지 아닌지도 확인 해 보고, 2) 코딩 습관이 어떤 사람인지도 파악 해 보고, 3) 문제에 따라 덤으로 얼마나 꼼꼼한 사람인지도 확인 해 봅니다.

한 손으로 꼽을만큼 적은 경험이지만, 제가 Interviewer일 때에 이런 fundamental 질문들은 사실 형식적으로 던졌습니다. 당연히 답변을 할 것이라고 기대는 깔고 있었고, 실제로 제가 interviewer로 나갔을 때에는 대부분의 interviewee들이 이런 질문들에 대해 적절히 대응 했었습니다.

그 다음 질문셋은 지원한 롤에서 요구하는 기술셋에 대해 어느정도 지식과 경험이 있는지 판단하는 그런 류의 질문들입니다. 사실 하나하나 놓고보면 어려운 질문은 아니긴 하지만, 회사에 오면 당장 자주 부딛칠 수 있는 일들에 대한 내용에 대해 얼마나 경험이 있는지, 혹은 경험은 없더라도 이론적으로라도 이해하고 있는지 보는 것입니다.

예를들면 제 직전 포스팅에서 처럼, 화려한 UI 구현이 필요한 회사라면 다양한 UI 구현 Skill에 대한 질문이나, 안드로이드에서 Service/Intent Service/Thread/AsyncTask에 대한 질문, 혹은 최근 안드로이드 OS에 추가된 Run time permission이 뭔지 또 어떻게 app에서 대응해야하는지, Doze Mode는 무었인지, 또 각 app은 이를 어떻게 처리해야 하는지 같은 질문을 할 것입니다. 
저희 회사의 경우는 업무 특성상 UI가 거의 없기에 보통 묻는 질문들이 Android Fundamental과 과련된 질문들이 좀 더 많습니다. 예를들어, Looper/Handler 설명, Android에서 각 app은 어떻게 isolated된 환경에서 구동되는 것인지, Shared UID, package signing은 무엇이고 대략적으로 어떻게 동작하는 것인지, Permission Level, Out Of Memory가 무엇이고, 어떻게 하면 이를 최대한 회피할 수 있는지 등등...

그리고 Junior인 경우 (혹은 기존 경력들이 있지만 우리가 지원자에 경력에 대해 잘 감이 안잡히는 경우. eg. 찾을 수 없는 회사 경력, 전혀 모르겠는 외국 회사 경력. 정말 상품화 과제를 한 적이 있는지 잘 모르겠는 경력 등등)에는 toy project에서는 구지 필요 없지만, 상용화 프로젝트에서는 필요 한 그런 기술들을 좀 더 자주 물어봅니다. 예를들어 Android에서 Unit Test, Instrumented Unit Test는 어떻게 하는지, Proguard는 뭐고 왜 쓰는지, 그리고 이런 것들을 한 번이라도 해 본 적 있는지 등등...

이런 류의 질문셋에서 간혹 안좋은 질문들을 보는 경우도 있는데, 특정 오픈소스 혹은 유료 라이브러리에 대해 별다른 배경설명 없이 직접적으로 질문이 들어가는 경우들입니다. 사실 이런 라이브러리들은 말 그대로 각 프로젝트 성격에 따라 다른 라이브러리로 변경이 될 수도 있고, 또 그럴 때 마다 필요에 따라 reference보고 몇몇 라이브러리 도입 acceptance test를 해보면 다 알 수 있는것이라 단순히 경험의 많고 적음만 볼 수 있지 경험의 깊이를 알기에는 일반적으로 어려운 질문들이기 때문이죠. 특정 라이브러리를 직접 언급하면서도 나름 괜찮았다고 생각했던 질문이 하나 있었는데, 특정 라이브러리의 어떤 API의 입력값/출력값, 그리고 내부 동작 원리를 간단히 설명하고, 제품 요구사항을 설명하더니, 이렇게 요구사항과 API behaviour가 상이한데 어떠한 방식으로 Wrapper Layer를 구현하면 좋을까 라는 질문이였죠.

그리고 회사에 따라 퀴즈, 혹은 해커톤에 가까운 번뜩이는 아이디어나, 복잡한 알고리즘 적용을 하는 류의 문제가 있기도 합니다. 저희 회사에서도 제가 입사하기 이전에는 이런 문제들을 종종 냈다고 하는데, 이런 류의 문제는 사람이 얼마나 학술적인 혹은 수학적인 사고능력을 갖췄는지 판단하는데 도움이 되지만, 실제 업무에서 이런 이슈를 만나는 경우가 거의 없기에, 업무능력 판단에는 무의미하다는 내부 결론으로 제가 아는한 요즘에는 이런 유형의 문제는 내지 않습니다.

그리고 코딩 문제는 사실 많이 어려운 문제는 아닙니다.
간단한 소팅이나, 루프, 재귀, 자료구조나 tree traversal같은 류를 구현하는 문제들이고, 만약 문제 내에 특정 알고리즘알아야만 하는 것이라면 해당 알고리즘의 설계 원리도 미리 알려주기에 interviewee 입장에서는 이를 적절히 구현만 하면 되는 식의 문제입니다.

코딩 문제에서는 당연히 이 사람이 알려준 알고리즘을 제대로 구현하는가를 먼저 봅니다. 그리고 구현해 냈다면, 이 사람의 코딩 습관이나 스타일도 간략하게 확인 합니다. 문제 성향에 따라 이 사람이 주어진 요구조건에 맞는 절절하고 효율적인 자료구조형태나 설계를 했는지도 보기도 하고요. Junior 면접 때에는 특히나 일부러 HashSet(or HashMap)을 쓰는 것이 딱 맞는 문제나, 중복 키/값이 반드시 있을 수 밖에 없기에, 혹은 잦은 sorting이 필요하기에 무조건 쓸 수 없지만 왠지 Hash를 써야만 할 것 처럼 첫 인상을 주는 문제 유형을 만들어서 내기도 합니다. Hash의 유혹에 전혀 흔들리지 않는 것 같으면, "여기 이거 HashSet 쓰면 안될까?" 라고 일부러 질문을 던지기도 하고요.
그리고 앞선 질문들과 코딩 문제를 잘 소화해 냈다면 기존 문제에서 확장을 해보거나, 우리 내부적으로 봤을 때 조금 더 어려운 난이도의 문제를 한두개 더 내기도 합니다.

예를들어 3/6/9 게임하고 비슷한 Fizz Buzz라는 게임이 있습니다.
차례대로 숫자를 말하되 3의 배수라면 숫자 대신 Fizz가, 5의 배수라면 Buzz를 말해야 하고, 3과 5의 공배수라면 FizzBuzz를 말해야 하는 게임입니다.
그러면 첫번째 난이도 문제로 1~n까지 FizzBuzz 게임 룰로 stdout 출력하는 프로그램을 짜보게 합니다.
두번째로는 배수 뿐 아니라 그 수의 첫번째 자리수 혹은 마지막 자리수의 숫자가 3이면 Fizz 5면 Buzz가 나오는 것으로 확장하여 수정을 요구합니다.
마지막으로는 자릿수에 상관없이 3이 들어가는 숫자는 다 Fizz, 5가 하나라도 들어가면 Buzz 나오는 것으로 수정을 요구하죠.

그래서 제가 이번 스터디 용으로 준비한 질문지 역시 위에 언급한 내용들로 준비를 해갔는데, 예상치 못한 변수로 인해 사실 첫번째 Fundamental 질문 이외의 질문은 거의 하지 못했습니다.

우선 참석자들의 데모그래픽을 보자면 대부분 캐나다로 오시기 이전에는 SW Developer 경력과 학력이 보통 없으셨고, 있더라도 10~20여년 전 경력인 분들이셨기에, 사실상 캐나다 컬리지를 통해 SW 관련 공부를 처음 하시거나 새로 하신 분들이셨습니다. 그래도 학교 재학도중 매 코옵 학기마다 코옵 쟙을 잘 구해 경력을 이미 어느정도 만드셨거나, 포트폴리오로 쓸 만한 수준의 App을 이미 개발하여 올리신 분들도 있었죠.

하지만, 저로서는 처음 접한 경험이긴 한데, 면접 시작부분에 묻게되는 Fundamental 질문에서 열에 아홉은 대부분 답변을 하지 못하였습니다. 단순한 언어의 장벽으로 제대로 설명이 못된 것이 아니라 OOP의 기본 철학에 대한 이해가 없다는 것을 느꼈죠. 제가 다른 포스팅들에서도 틈이 날 때 마다 캐나다 컬리지의 실망스러운 학업 수준에 대해 언급을 했었는데, 이번에 구직 스터디에 참석을 하면서 이러한 문제가 단순히 제가 다녔던 컬리지만의 문제는 아닐것 같다고 다시한번 느끼게 되었습니다.
워낙 컬리지에서 배우는 SW는 기본적인 이론에 대해 충분한 생각과 학습을 하기 보다는 일단 IDE 띄워서 메인 메소드 만들고 커맨드 창이건 UI로건 뭔가 빨리 보여주는 것만 배우다보니 아주 기본적인 개념에 대한 학습과 이해가 부족할 수 밖에 없는 것이이라 생각합니다.

아무래도 인터뷰의 서두에 Fundamental 질문에서부터 꽉 막히다보니, 이후 참석자의 seniority level이나 경험을 확인하기 위해 파고들어가는 인터뷰가 진행될 수 없었던 것입니다. 그리고 당시 제가 느꼈던 솔직한 심정은 이후 코딩 테스트에서 잘 동작하는 코드를 만드신 분들 역시 썩 좋은 느낌이 아니였고, 만약 이것이 진짜 인터뷰라 인터뷰 결과를 보고해야만 한다면 저는 부정적인 피드백을 남겼을 것 같았습니다.

Back to basics. 언제나/누구에게나 중요한 일이긴 한데, 혹시나 컬리지를 통해 개발자가 되신 분이라면, 워낙 이 basic fundamental을 건너띄는 컬리지들이많다보니, 더욱 더 중요할 수 있다고 느꼈습니다.

아, 마지막으로 첨언을 하자면, Junior 포지션의 인터뷰에서는 사실 모든 질문에 답변을 받을 수 있을 것이라는 기대를 사실 않습니다. 하지만 Fundamental 관련된 질문들에 대해서는 지원자가 명확하게 컨셉을 잡고 있거나, 아니면 그렇다고 느껴지는 수준을 (말로 풀어서 각각의 개념 설명은 잘 못하지만, 어떤 경우에 어떻게 사용해야 하는지 잘 알고있는 경우) 기대합니다. 어차피 개인 프로젝트에서는 고려 할 일이 적거나 없는 실무 경험기반 지식들은 와서 하나씩 스스로 배울 수 있다고 생각하니까요. 

당연히 모든 질문에 정확한 대답을 한다면 좋겠지만, 그렇지 않더라도, 강한 fundamental 지식을 보였고, 코딩 능력도 부족함이 없었다면 인터뷰 후 좋은 피드백을 줍니다. 적어도 Junior로서 기대 할 만한 능력을 보인 지원자이기 때문이죠. 반대로 다른 질문들은 다 대답을 했지만, fundamental 질문에 대해 적절히 대응을 하지 못한 지원자인 경우에는, 저희 회사는 일단 그런 지원자는 선발하지 않는 것으로 공감대가 있습니다. 손기술만 있는 Coding Monkey를 채용하면 근본에서부터 잘못된 설계로 인해 잠재적으로 더 큰 문제를 만들어 나아 갈 위험이 크기 때문입니다.

2015년 11월 29일 일요일

[FAQ] 캐나다 SW 개발자 이민 어떻게 가나요? 취업은 어떻게 하나요? 등등

약 한 달 만에 술을 한잔 마셨더니 잠도 안오고 속도 부대껴서 오래간만에 다시 글을 남깁니다.

SW 프로그래머의 캐나다 이민이나 취업과 관련해서 많은 분들이 문의를 주시고 저도 최대한 답변을 드리지만, 아무래도 개인적으로 민감한 부분일 수 있는 이야기인지라 댓글 보다는 메일로 문의를 주시는 경우가 대부분 입니다.

그렇다 보니 중복되는 질문 내용들이 많아서 이렇게 정리를 해 봅니다.

1. 생활비는 얼마나 드나요?

생활비는 지역별/개인별 편차가 크지만, 제 실제 생활비 기준으로 말씀드립니다.

저는 당시 유치원 아이 둘을 데리고 토론토에서 생활했고, 토론토 내에서 이민자들과 한인들이 밀집된 지역 중 하나인 North York 이라고 불리는 동네에서 2베드 아파트를 렌트해서 살았습니다.
좀 더 정확히 하자면 토론토 지하철 역 Bayview역 부근입니다.

생활비는 월 $2,500 ~ $3,000 정도 필요로 했습니다.
고정비 위주로 월 생활비를 break down하면 아래와 같습니다.


2베드 아파트 월세 $1,560 (고정)
전기세 $58 (사용량에 따라 과금되지만,
이 금액 이상/이하로 나온 적이 없네요)
교통카드 $108 (TTC Post-secondary student 월 정액권)
인터넷 $66 (Teksavvy인터넷 $58 + 세금 13%,
월 300GB 요금제)
핸드폰 $111 (Fido $49 + 세금 13%,
통화 월300분 + 문자 무제한 + 데이터 750MB 요금제 )
   
토론토 물가가 한국보다 크게 높지는 않다고 생각하지만, 고정비 항목들을 보면 한국보다 많이 비싸기는 합니다.
특히 자가 소유를 하지 않는다면 월세를 내야만 하는데, 한국만의 독특한 문화인 전세 문화에 익숙한 우리들에게는 너무나도 안타까운 지출이죠. 그리고 핸드폰 통신 요금이나 인터넷 요금 역시 한국보다 많이 비싼 편입니다. 그나마 저는 두 가지 모두 major사업자를 사용하지 않고 있기에 저렴한 편입니다.

렌트비가 총 생활비의 절반이 조금 넘을 정도로 큰 비중을 차지하지만, 2베드 아파트가 사실 어마어마한 집도 아니고, 말 그대로 그냥 방 2개인 아파트입니다. 면적으로 따졌을 때엔 한국의 28평 정도 되고요. 위 렌트비는 아파트 유닛 렌트비만 포함시킨 것이고, 영주권 받고 차량을 구입한 이후에는 자동차 주차장 렌트비 월 $98, 자동차 보험료 월 $290이 추가로 나갔습니다.

1베드 아파트로 가거나, 한국의 원룸인 베첼러/스튜디오로 가게 되면 더 저렴해질 수 있지만, 가격이 크게 다운되지는 않습니다. 참고로 제가 살았던 아파트의 1베드 월세는 당시 $1,300 이였습니다.

주거비 항목은 지역별 편차가 큽니다.
토론토 다운타운 지역에서 아파트/콘도 2베드에 주차장 차량 1대 까지 포함시키면 주거 관련 고정비용만 월 $2,500 ~ $3,000 정도는 필요합니다.
그러니 생각하시는 거주지 주변의 콘도 렌트 가격을 http://www.mls.ca 에서 검색해 보시는 것이 정확합니다.

그리고 보통 콘도보다 아파트가 더 저렴합니다. 콘도는 한국의 아파트와 비슷한 개념으로 보시면 되고, 아파트는 회사에서 소유권을 가지고 렌트 사업을 하는 일종의 임대주택이라고 보시면 됩니다.
콘도는 보통 건물도 더 새 것이고, 개인 소유 주택이라 내부 인테리어도 더 깔끔한 편이고, 공동 관리되는 아파트 헬스장이나 수영장 등 부대시설도 더 좋습니다.
이 링크는 제가 살던 아파트 주변 동네의 2베드 콘도 시세 링크인데, 제가 살던 아파트 대비 콘도들의 렌트비가 월 $200~400 정도 더 비싸네요.

아파트의 경우 mls.ca에 매물이 등록되지 않습니다. 각 아파트 홈페이지나 키지지 같은 온라인 상거래 사이트를 통해 매물이 오픈되니 따로 검색을 해보셔야 합니다. 따로 부동산을 통해 거래가 되지 않기 때문에 본인 스스로 많이 검색해 보시고 연락을 많이 해보셔야 합니다.

마지막으로 제가 적어 둔 월 고정비 항목만 약 $2,000 정도 됩니다.
그러면... 식비/의류비/문화비 등등 비용이 월 $500-1,000 정도만 썼다는 결론이죠.

누군가 이 돈으로 살만 합니까? 라고 물으신다면, 장기간이 아니라면 견딜만 합니다 라고 답변드립니다.

일단 저나 제 와이프 옷에 관심이 전혀 없습니다. 아이들 옷가지는 한국이 싸다고 해서, 그리고 퇴직 전에 회사 복지 포인트 소멸이 필요해서 한국에서 엄청 사가지고 들어왔습니다.
외식은 거의 없었습니다. 아이들이 지나가다 아이스크림 트럭에서 아이스크림을 먹고싶다고 할 때에도 예전같으면 아무 고민 없이 하나씩 사줬겠지만, 망설이고 고민하고 메뉴별 가격 비교를 할 수 밖에 없었습니다.

외식은 거의 안했습니다. 식료품 가격은 한국보다 오히려 저렴하거나 비슷하지만, 인건비가 붙는 서비스 비용은 매우 높거든요. 외식을 하더라도 한국 식당에서 주로 했습니다. 이유는 모르겠지만, 한식 가격이 현지 음식 가격보다 저렴합니다. 아무래도 팁 15% 정도가 더 붙으니 패스트푸드보다는 비싸지만, 그래도 다른 음식들에 비해서는 저렴합니다. (eg. 갈비탕 한 그릇 $11 + 세금 %13 + 팁 %15)

다행히 1년 이렇게 생활을 하고 일을 시작해서 다시 소비를 늘렸지만, 이런 소비생활을 몇 년 더 지속했다면 제 스스로도 힘들기도 하고, 아이들에게 너무 미안했을 것 같네요.


2. 한국에서 캐나다 취업을 미리 할 수 있을까요?

시골 호텔이나 식당/공장 등등에서 이민을 전제로 사전 고용되서 오는 경우도 있다고는 들었지만, 제가 경험한 분야가 아니고, 제가 유일하게 아는 분야인 SW 개발자 기준으로 말씀드립니다. 

전혀 없다고는 말씀 못드리지만, 어렵습니다.
보통 이런 질문을 하시는 경우 열에 아홉은 아직 캐나다에서 근로를 할 수 있는 워크퍼밋이 없으신 분들인데, 워크퍼밋 없이 취업을 먼저 하기란 쉽지 않습니다.
이미 영주권이나 워크퍼밋이 있는 상태라 하여도, 결국에는 대면 인터뷰를 하는 것이 보통인지라 한국에 계신 상황이라면 여기서 또 다시 문제가 생길 수 있죠.

전혀 없다고는 말씀 못드리는 이유는, 실제로 이렇게 오시는 분들도 분명 계십니다. 
리눅스 커널 패치 커밋 등 오픈소스 활동을 활발히 하시는 개발자 분들 중에는 간혹 미국이나 캐나다 독일 일본 중국 등등 각지에서 먼저 연락이 오는 경우도 있습니다. 이런 경우에는 회사에서 먼저 연락을 주고 본인이 같이 일 할 의향이 있다고 하면 회사에서 왕복 항공권과 숙박까지 제공하며 인터뷰를 진행하기도 합니다. 그런데 제 주변 선후배 분들을 보면 캐나다 보다는 미국이나 독일에서 초청을 받고 가시는 분들이 많네요.

몇 년 전에는 제가 다니는 회사도 해외에서 비자 스폰서 까지 하면서 인력을 데려오기도 했는데, 요즘 워낙 이 조건이 까다롭다보니 취업 비자와 관련된 항목은 임직원 개개인이 각자 해결해야 하는 것으로 하고 있습니다.


3. 영어는 어느정도 해야만 하나요?

오픈소스 활동을 하신 경험이 있으신 분이라면 좀 더 설명이 쉬울 것 같네요.
우리가 잘 모르는 마케팅/경영/리더쉽 이런 분야 말고, 기술 분야의 스피치를 들었을 때 어떤 내용인지, 이 기술의 핵심이 무엇인지 알아들을 수 있을 정도면 일단 리스닝은 통과입니다.

스피킹은 위에서 행해진 스피치를 똑같이 할 수 있는 수준은 아니더라도, 핵심 내용만을 간추려서 2~3분 정도 설명할 수 있을 수준이면 됩니다.

회사마다 조금씩 차이는 있지만, 회사에 와서 보면 프로그래머 중에는 캐나다 국적을 갖고 태어난 순수 캐네디언의 비중이 낮습니다.
오히려 순수 캐네디언 보다 2세 3세 포함 중국인이나 인도인 비중이 높은 경우도 많아요.
제가 속한 팀만 해도 우크라이나, 말레이시아, 중국, 홍콩, 대만, 아일랜드, 인도에서 온 친구들이 각 1명 씩 있고, 저 포함 한국인 2명, 이란 2명, 러시아 2명이며, 태생적 캐나다 국적을 지닌 순수 캐네디언 친구는 단 2명 뿐입니다.

그렇다 보니 다양한 악센트와 발음이 혼재 된 상황이고 어느 정도는 서로 이해하며 듣고 말하며 일합니다.

영어를 정말 잘 하시는 분이 아니라면, 영어는 너무 잘하려고 하지 말고 잘하는 척 하지 않는 것이 더 좋습니다. 그냥 단문 형태로 말하더라도 명확하게 의사전달을 하는 것이 효율적이고 효과적입니다. 발음도 부정확하고 악센트도 맞지 않고, 문장 구조도 정확하지 않으면서 명사절, 형용사절 등등 복문 형태로 다양한 미사여구와 수식어를 붙이면 상대방이 잘 알아듣지도 못하고, 영어를 잘 한다고 생각하지도 않습니다.


4. 취업은 잘 되나요?

다른 직종에 비해 비교적 잘 됩니다.

프로그래머 전반을 두고 보면 아직 수요 대비 공급이 부족한 직종인지라 취업은 잘 되는 편입니다.
하지만 캐나다 사회 전반적 특성상 경력이 전무한 인력에 대해서는 어지간해서는 채용이 이루어지지 않고 적어도 1년이라도 실무 경력이 있는 사람들 위주로 채용이 이루어집니다. Monster, Indeed 등을 통해 job posting이 많이 되는데, 찾아 보시면 아시겠지만, requirements에 보통 2년 이상의 경력을 요구사항으로 올려둡니다.

첫 직장을 구하기는 쉽지 않을 수 있지만, 캐나다 내에서 커리어를 일단 시작 한 이후로는 크게 어렵지 않습니다.


5. 한국 경력이 인정 되나요?

네, 인정됩니다.
본인의 경력과 구인 공고의 job description에 나온 요구사항과 잘 맞는다면 인정 됩니다.
그 경력사항을 이력서와 커버레터에 잘 표현하고, 그 경력에 맞는 실력을 interview나 test에서 보여주면 됩니다.

사실 경력이란게... 한국에서는 연차에 따라 직급이나 연봉이 다르지만, 여기에서는 연차와 무관하게 실력에 따라 다릅니다. 즉, 경력 8년이면 연봉 얼마... 라고 말하기 보다는 경력 8년 정도에 보통 가지게 되는 연륜과 실력이 있을 때 연봉 얼마, 라고 말하는 것이 더 맞겠죠.

여기에서는 프로그래머 20년을 해도 실력과 지식이 시니어에 상응하는 수준이 되지 않으면 시니어 개발자가 되지 못합니다. 반면 경력 3~4년차인 개발자라도 실력과 지식이 시니어에 상응하는 수준이라면 시니어 개발자가 됩니다. "경력은 8년차인데, 코딩은 잘 못해요...", "경력은 10년차인데, 5년 전부터는 프로젝트 관리만 해서 코딩은 잘..." 이런 경우가 아니라면 경력 인정 받을 수 있습니다.

우리 회사의 우리 팀 내 리드 롤을 가진 개발자가 총 3인데, 그 중 둘은 경력 20년 가까이 된 친구들이지만, 나머지 한 명은 학교 졸업하고 일 하기 시작한지 이제 5년이 채 안되었습니다. 그나마 우리 회사로 온 것은 2년정도 되었죠. 하지만 누구나 인정 할 만한 인사이트와 실력을 지녔기에 지금은 리드 엔지니어 역할을 하고 있습니다.

시니어 레벨까지는 필요없어서 Junior나 Intermediate급으로 일하고 싶은데, job requirements를 채우는 용도로만 사용한다면, 더더욱 인정 됩니다. 다만 여기서도 면접 때 그 경력에 기대했던 실력과 다른 모습을 보인다면, 안되겠죠.


6. 나이가 많은데... 취업에 문제 없을까요?

100% 문제 없다고는 말씀 못드리지만, 한국 사회와 비교한다면 거의 문제가 없다고 봅니다.

일단 캐나다 이력서에는 나이가 없습니다. 사진도 없습니다.
나이는 오로지 대면 인터뷰 시 얼굴만 보고 가늠 할 수 있습니다. 그런데 그나마도 다른 인종의 연령은 서로 잘 추측을 못하기에 잘 못맞춥니다.

그리고 앞서 말씀드린대로 실력이 뒷받침 되지 않으면 10년을 일하건, 20년을 일하건 쥬니어로 남는 것이 이 사회입니다. 40대에도 쥬니어로 이직하곤 합니다.

정 나이가 걸림돌이 될 것 같으면 이력서를 조금 조정 하셔도 됩니다.
예를들어 캐나다에서 다시 학교를 다닌다면 20년 전 졸업한 한국 대학교 내용을 제외하거나, 오래 전 경력 사항은 기재하지 않는 등의 방법으로 말이죠.


7. 인종차별은 없나요?

없습니다. 위에 팀 구성을 보셔도 아시겠지만 워낙 다양한 사람들이 모여서 일합니다. 그러니 차별이 있기 힘들죠. 직장내가 아닌 사회적 인종차별은 어느 정도는 있을 수 밖에 없습니다. 캐나다가 이민자로 구성된 국가라고는 하지만, 인구 구성상/사회 계층 상 백인들이 절대다수를 차지합니다. 다수가 소수를 차별하는 것은 아무리 교육을 잘 된 사회라 해도 없을 수는 없죠. 하지만 사회/문화적으로 인종차별이 만연한 것이 아니라 아주 가끔 만나게 되는 몇몇 똘아이들로 인해 차별적 언행에 피해를 보는 수준입니다. 

직장 내에서도 어느정도 유리천정이 있을 수 있습니다. 하지만 저같은 경우 평생 개발직을 할 생각인지라 메니져나 VP로 올라갈 마음이 없어 그다지 문제가 안되네요. 지금은 다른 회사로 떠나긴 했지만 얼마 전 까지만 해도 저희 팀 내에서 리드 시니어 엔지니어는 중국 친구였습니다. 지금 그 친구가 떠난 이후로는 사실상 공석이죠.

한국에서 외국인들이 받는 다양하고 혹독한 인종차별에 비한다면 여긴 천국이죠.


8. 학력이 중요한가요?

졸업 예정자, 혹은 갓 졸업한 초년생 입장에서 중요할 수 밖에 없습니다.
고용주입장에서 바라본다면, 좋은 대학교를 졸업한 친구가 일반 공립 컬리지를 졸업한 친구보다 더 실력이 뛰어날 수 있다는 기대치를 가지는 것은 상당히 합리적인 판단일 것입니다.
그래서 인턴/코옵 포지션들은 public open되기 보다는 몇몇 학교 구인 게시판을 통해서만 오픈되기에 좋은 학교를 다니고 있고, 졸업을 했다면 남들보다 양질의 포지션에 접근할 수 있는 기회가 좀 더 많이 주어질 수 있습니다. Public Open된 포지션에 지원을 했다고 하여도, 당연히 앞에서 말씀드린 고용주의 합리적 판단 덕분에 합격할 확률이 더 높을 수 밖에 없고요.

하지만 일단 커리어를 시작한 이후 경력자가 된다면 학력보다 중요한 것은 경력입니다. 어떤 회사에서 무슨 일을 하면서 살아왔고 어떠한 성과를 보였는지가 가장 중요합니다.


9. 자동차는 꼭 필요한가요?

어디에 사는지에 따라 다를 것 같네요.

제가 지금 사는 동네에서는 차가 반드시 필요합니다.
동서남북을 둘러봐도 걸어서 갈 수 있는 거리 내에 다니는 대중교통이라고는 단 하나의 버스노선 뿐이고, 그나마도 40분 배차간격입니다. 승용차로 10분이면 갈 거리이지만 이 버스를 타면 25분 정도 걸리더군요.

토론토에 살 때에는 꼭 필요하지는 않았습니다. 여름철에 놀러다닐 때에만 zipcar를 통해 차를 빌려서 쓰곤 했죠.

서울보다는 많이 뒤떨어지지만, 그래도 토론토는 캐나다 내에서는 가장 대중교통이 발전된 도시입니다.
매트로 월 정액권만 있으면 토론토 내에서는 어디든지 갈 만 합니다.
차가 없어서 가장 불편했던 것은 한국 슈퍼 장보기와 코스코 장보기 두 가지 였습니다.

한국 슈퍼는 그리 멀지 않은 곳에 위치했지만, 버스를 2번이나 갈아타야 했기에 차로 10분 거리였지만, 버스를 타면 30분 이상 걸렸습니다. 베낭과 양손 가득히 4인 가족이 일주일 동안 먹을 양식을 사오는 것이 춥고 길이 미끄러운 겨울 철에는 쉽지 않은 일이였죠.

하지만 한인들이 많이 거주하는 지역이다보니 제가 살던 아파트 앞집과 윗집이 한국 가정이였고, 나중에는 그 집들에서 장을 보실 때 마다 저희를 태워다 주셔서 편하게 장을 볼 수 있었습니다.

차가 있으면 확실히 편하기는 하지만... 월 $400 정도 고정비 지출이 늘어나기에 영주권 받고 일하게 될 때 까지 차량 보유는 미루었습니다. (아파트 주차장 약 $100 + 자동차 보험료 약 $300)

참고로 제가 학교를 다닐 때에는 집에서 학교까지 거리가 약 14Km정도였는데, 3월 말-11월 초에는 거진 대부분 자전거를 타고 다녀서 매트로 패스를 사지 않았습니다.

집에서 학교까지 거리는 약 14Km정도로 그다지 먼 거리는 아니였고, 중간에 Rocket 라인(큰 길에서만 정차하는 급행 버스)을 타고 가지만, 버스로 통학 시 편도 50~70분 정도 걸렸습니다. 하지만 자전거를 타고 가면 40~45분 정도 걸려 오히려 시간이 절약되었고 월 100불이 넘는 교통카드 비용 또한 아낄 수 있었죠. 가끔 등하교 시 타이어가 펑크나거나 체인이 빠지는 일들이 있어서 고생한 것 빼면 운동도 하고 돈과 시간을 아껴서 좋았습니다.


10. 학교는 어디가 좋은가요?

이건 저도 잘 모릅니다.
다만 여기 애들과 이야기 해 보아도 그렇고, 공립 컬리지라면 다 거기서 거기입니다. 특별히 좋을 것도 나쁠 것도 없죠.

공대 학부과정으로는 캐나다 내에서는 University of Waterloo가 알아주긴 합니다. 나머지는 그냥 보통 학교 네임벨류 따라 가는 것 같고요.






자주 질문하시는 내용들 중 기억나는 것만 먼저 적어 보았습니다.
나중에 FAQ에 추가될 만한 내용들이 있다면 또 올리겠습니다.









2015년 1월 5일 월요일

기술이민(FSWP)? 경험이민(CEC)?

캐나다 컬리지에 입학하는 이유는 결국 학교 졸업만 하면 발급되는 3년 짜리 캐나다 Work Permit을 받아 캐나다에서 Software Engineer로 일하기 위함이였고, 3년 근무 후 삶을 고려했을 때는 안정적으로 합법적인 노동자가 되기 위해 고용주의 LMO가 필요없는 영주권자의 신분을 갖추는 것이 필요했습니다. 그래서 간간히 틈이 날 때 마다 캐나다의 영주권을 받을 수 있는 여러가지 방법들과 그 프로세스에 대해 정보를 모았고 확인 해 보았습니다.

BC나 ON주에서는 받지 않는 주정부 이민을 제외하고 제가 지원 가능한 이민 프로그램은 연방정부 기술이민 (FSWP)와 캐나다 경험이민 (CEC) 이 두 가지로 판단되었습니다.
하지만 FSWP의 경우 각 직업군별 연간 지원 가능 최대 인원이 300명으로 매우 제한적이였으며, 더욱 더 놀라운 것은 5월에 2013년도 지원자 CAP이 초기화 되었음에도 제가 확인한 6월 말에 이미 소프트웨어 직업군의 경우 그 CAP이 다 차버려 지원조차 할 수 없는 상황이였다는 것이였죠.

결국 2014년도 5월에 CAP이 다시 갱신된 이후 지원하는 것인데, 일반적으로 기술이민 지원 시 지원에서부터 영주권 발급 (혹은 거절)까지 18개월 이상 소요되는 프로세스라고 하니 2016년에나 캐나다로 건너갈 수 있다는 말이고, 저에게는 더 이상 현재의 자리를 지키고 살아갈 인내심이 없었던 상황이였습니다. 사실 그 뿐만 아니라 실질적인 Software 개발 업무에서 손을 뗀지 이미 4년정도 지난 상황이였기에 제 스스로 생각하기에 현업 엔지니어로의 복귀를 위해서는 갱생 프로그램을 거쳐 엔지니어로서의 감을 다시 찾아야 할 것 같다고 느꼈었죠.

그래서 결정 한 것이 학교를 다니고 졸업 후 3년 워크 퍼밋을 받고, 이후 1년 이상 Full Time Job 으로 일 한 후에 영주권을 신청하는 CEC프로그램이였습니다. 그리고 CEC를 목표로 학교에 다닌다 하여도 현재 제 이민 신청 점수를 계산해 보면, IELTS점수만 어느정도 받쳐준다면 충분히 FSWP을 준비할 수 있는 상황이였기에 학교를 다니면서 2014년도 5월에 FSWP를 노려볼 수도 있었죠.

CEC신청 조건에는 사실 학교를 다녀야 한다는 것은 없지만, 보통 저와 같이 학교로부터 그 첫 단추를 끼우는 분들이 많은 이유는 Post Graduate Work Permit(PGWP) 때문입니다. 일반적으로 외국인이 캐나다에서 합법적으로 근무할 수 있는 Work Permit을 발급받기 위해서는 고용주로 부터 고용의사가 선행되어야 하고 고용주는 피고용자에게 LMO라는 것을 발급 해 주어야 합니다. 제가 쥬커버그쯤 되는 인물도 아니고 현직에서 손을 뗀 지 4년정도 지난 개발자인데 현실적으로 캐나다의 어떤 회사에서라도 귀찮게 LMO를 발급하면서 까지 저를 고용하려 들지 않을 것은 명약관화 한 사실이기에 시간과 돈이 조금 들더라고 컬리지과정 졸업 후 PGWP를 통해 Work Permit을 받는 것이 어쩌면 가장 손쉬운 방법이겠죠. 뭐... 찾아보면 각종 이민 브로커들이 이천만원만 내면 LMO를 발급해줄테니 캐나다로 이민을 갈 수 있다... 라고 말하는 곳이 간혹 있지만, 말 그대로 불법 내지는 편법 행위이며, 돈내고 근무한다는 것 자체가 상식적으로 맞지 않고, LMO특성상 LMO발급 고용주가 피고용주를 해고할 경우 Work Permit역시 날아가는 것이라 고용주가 슈퍼절대 갑! 입장이 되는 상황이라 그러한 선택은 절대로 하지 않았죠.

그렇게 일차 목표는 졸업 -> 취업 -> 1년 경력 후 CEC를 통한 영주권 획득 으로 잡았고, 혹시나 2014년도에 발표될 이민법 개정안에서 법과 제 조건이 허락 할 경우 입학 -> 5월에 FSWP지원 -> 영주권 획득으로 해 보기로 마음을 먹고 캐나다로 건너오게 되었습니다.

당시에만 해도 FSWP는 보통 18개월 이상 걸리는 프로세스고, CEC의 경우 짧으면 수 개월, 길어도 일년 이내에 발급된다고 하였기에 어느쪽으로 이민을 진행하건 최종 영주권 수령 시기는 비슷할 것으로 예상했습니다. 하지만 2008년부터 여러 주요 이민 국가들을 모니터링 해 본 결과 이민법이라는 것이 그 특성상 수요자(이민을 받는 국가)의 노동력 수요 상황과 외국인 노동자, 유입자에 대한 국민들의 여론 등에 따라 언제든지 얼마든지 변경될 수 있다는 것을 알게 되었기에, 최종 영주권을 받는 시기가 문제가 아니라, 어떠한 프로그램이 더 빨리 영주권 신청을 할 수 있는가가 더 중요한 요소였습니다.

결국 2014년 5월 NOC별 영주권 신청 CAP이 갱신되었습니다.
단순히 갱신된 수준이 아니라 직업군별 300명 제한이였던 CAP이 1,000명으로 확대되었고, 기존에는  NOC 2174, Computer programmers and interactive media developers만 이민 신청 대상 직업군이였는데, NOC 2173 Software engineers and designers까지 이민 신청 대상 직업군에 포함되어 제가 지원할 수 있는 직업군의 cap이 순식간에 300명에서 2,000명으로 늘어나게 된 것입니다.
이미 5월 이전에 모든 서류 준비와 IELTS General시험 점수를 확보 해 둔 후, 5월 말에 NOC 2173으로 무사히 FSWP지원을 하게 되었고, 예상외로 영주권 심사가 빨리 진행되어 12월 영주권 발급까지 가게 되었습니다.

운 좋게 몇 가지 상황에서 한 선택이 잘 들어맞았는데, 만약 이민 신청을 위해 IELTS General 시험을 보는 것이 너무 귀찮고, 별도의 수속비가 아깝다고 FSWP를 지원하지 않았다면 지금쯤 매우 답답한 상황이였을 것 같습니다. 앞서 말씀드린 것 처럼 학교 졸업 후 CEC의 최대 장점이 LMO가 필요없다는 것이였는데, 2015년 1월부터 Express Entry라는 제도가 시행되면서 처음 이민 신청자 풀에서 이민 심사가 진행되는 대상자로 선정될 때 반영되는 점수의 절반이 LMIA라는 LMO의 같은 뜻 다른이름이 차지하게 됨으로써 일자리를 구할 때,  LMO발급이 가능한지 여부를 확인해야 하는 문제가 발생하여 여간 문제가 아닐 수 없게 되어버렸습니다.

현재 Express Entry가 시행되고 앞으로도 시장 여건에 따라 캐나다 뿐 아니라 다른 나라들 역시 이민법과 그 조건이 계속 변경될 것입니다. 이민을 가겠다는 목표가 있는 분이고 현재 해당 국가에서 요구하는 조건을 본인이 충분히 충족시킬 수 있다면, 이러한 조건과 프로세스는 항상 변경된다는 것을 염두해 두시고 가능할 때 신청하는 것이 최선이라고 말씀드리고 싶습니다. 아울러 경력/학력/재산/소득/가족관계 등 크게 변동이 없고 언제든 원하면 수 일 혹은 수 주 내로 준비할 수 있는 서류들 외에, 어학점수 등 준비에 시간과 노력이 필요한 분야는 미리미리 준비해서 언제든 필요시 즉각 출동가능하도록 하시는 것이 바람직하다고 말씀디리고 싶네요.

이제는 영주권도 받았겠다... 학생 신분이였지만 캐나다에 처음 와서 집 구하고, 이삿짐 보내고 등등 랜딩 절차를 뒤돌아 보겠습니다.