메뉴

캐나다 신입 개발자 취업 후기

Winnipeg101 LV 10 21-12-24 1966

2020년 12월 캐나다 내 3년 컬리지를 졸업하고 얼마 전 스타트업에 프론트엔드 엔지니어로 취업을 하였습니다. 외국으로 이직이나 이민을 준비하시는 분들이 많이 계신 것 같아 정보를 나누고자 합니다. 
 

일단 먼저 제 배경에 대해 설명 드리겠습니다.

나이: 만 31세

한국 내 학력: 고졸 (대학 중퇴)

한국 내 개발 경력: 없음

교육: 캐나다 내 3년제 컴퓨터 관련 컬리지 졸업 (한국의 전문대 해당).

인턴쉽: 교내 IT Support 4개월, 모 글로벌 기업 IT Analyst 10개월

포트폴리오: 포트폴리오 웹사이트, 2 프로젝트

구직 기간: 1개월

시작 연봉: CAD $70,000 + 스톡옵션 + 보너스

포지션: 프론트엔드 엔지니어

복지: 원격근무, 확장된 의료 보험, 맥북, 기타 디바이스 구매 비용 지원.

 

 

보시다 싶이 저는 한국에서 개발을 한 적이 없습니다. 그래서 놀란 것은 이외로 많은 개발자 분들이 캐나다 컬리지로 입학을 합니다. 많은 이유가 있지만 취업 비자가 주된 이유입니다. 캐나다 컬리지에 입학하는 다른 이유는 캐나다 기업은 대체적으로 영미권 이외의 학력이나 경력을 인정해 주지 않는다는 점입니다. 한국의 명문대를 나온다고 해도 캐나다 내 인지도가 거의 없기에 취업상 이점을 기대할 수 없습니다. 다만, 한국에서 삼성이나 IBM 등의 글로벌 대기업 경력을 가지고 계시다면 캐나다 내에서 학교를 마치지 않고도 상대적으로 쉽게 취업할 수 있다고 알고 있습니다. 

 

만약 한국에서 괜찮은 학교의 컴퓨터 관련 학과를 졸업하셨다면 컬리지에 입학하는 것보다 토론토 대학교나 워털루 대학교 등의 석사 과정을 마치는 것이 유리합니다. 이민시 더 높은 가산점을 받을 수 있고 취업시 석사를 우대하는 기업들이 많기 때문입니다.

 

영어에 관해 말씀드리자면 지속적으로 사용한다는 전제 하에 캐나다 내에서 학교를 졸업할 시점이면 의사소통으로 취업에 문제가 되는 경우는 없습니다. 

 

캐나다의 공대는 코업이라 하는 인턴쉽 과정이 필수로 있습니다. 3년제 대학의 경우 총 2학기를 지원할 수 있습니다. 보통 졸업 시 8개월의 경력을 가지게 됩니다. 4년제 대학교의 경우 최소 1년 이상의 경력을 가지며 코업의 유무는 취업에 지대한 영향을 미칩니다. 왜냐면 많은 신입 포지션이 최소 1년 이상의 소프트웨어 개발 경력을 요구하기 때문입니다. 

 

캐나다에서 2년 이상의 교육 과정을 마치면 3년 짜리 취업 비자를 발급 받을 수 있습니다. 이를 이용해서 Express Entry라고 하는 이민자 추첨 과정에 등록할 수 있습니다. 따라서 캐나다 입국 전 고용주를 찾은 경우가 아니라면 CEC (Canadian Experience Class)라고 불리는 캐나다 학교 졸업 후 취업 과정이 필수라고 할 수 있습니다. 

 

캐나다의 개발자 구직 시장에서 말하자면 신입에 해당하는 Entry Position을 찾는 것이 매우 어렵습니다. 링크드인을 보면 신입 포지션 하나에 수백명이 지원하는 경우는 예사로 있습니다. 또한 신입의 학점을 요구하는 기업이 거의 없기에 학점에만 집중한 분들은 별 이점이 없을 수 있습니다. 더불어 각국의 3-5년 사이의 개발자분들이 많이 이민을 오기 때문에 경력자들이 쥬니어 개발자로 지원하는 경우가 많고 이 중 직장을 수개월 동안 구하지 못하는 분들도 많다고 합니다. 따라서 Resume나 Cover Letter를 잘 작성하고 LinkedIn profile을 최적화 시키는 등의 많은 노력이 필요합니다. 

 

보통 이력서 100개를 지원할 경우 1 - 2개의 이력서만 서류에 통과한다고 생각하면 쉽습니다. 다만, Entry Position을 지나 경력자로 지원 지원할 경우 취업이 매우 쉬워지고 연봉도 급격히 상승하는 경향이 있습니다.

 

저의 경우 한국 내 경력도 없고 학력도 3년제라 상당히 불리한 조건에서 시작했습니다. 이를 극복하기 위해 인턴쉽과 포트폴리오 및 개인 프로젝트에 집중했습니다. 그럼에도 ATS(Applicant Tracking System)이라는 이력서 관리 시스템 때문에 개발자 경력이 1년이 안되서 통과히지 못하거나 학력이 4년제 이상 학력이 아니라 자동으로 탈락된 것이라 추정된 경우도 많았습니다. 매번 지원 할 때마다 통계 데이터를 만들어 추적해 가장 효율적인 지원 전략을 세운 후 이에 맞추어 지원해 큰 성과를 보았습니다.

 

졸업 후 한달 동안 총 80곳의 기업에 지원을 하였고 이 중 7개의 기업에 인터뷰를 통과했습니다. 다만, 인터뷰 일정이 너무 촉박하고 준비할게 많아서 그 중 조건이 가장 좋고 마음에 두는 3 곳과만 인터뷰를 진행했습니다. 이 시점까지 매일 15시간 씩 프로젝트 및 인터뷰 등을 준비하여 사실상 번아웃 된 상태라 더 많은 곳과 인터뷰를 진행할 에너지가 없었습니다. 한 곳은 잘 진행되지 못하고 다른 한 곳은 진행이 잘 되어 그곳을 선택하고 마지막 한 곳의 인터뷰는 진행하지 않았습니다. 

 

제가 지원 했던 포지션은 경력 2년 - 5 년 사이의 개발자 포지션이라 엄밀히 말해 신입이나 쥬니어를 위한 포지션은 아니었습니다. 연봉도 $70,000 - $90,000 사이라 사실 상 중급 이상의 개발자를 위한 포지션이었습니다. 다행히 스타트업의 CEO는 제 포트폴리오와 Github Repository 그리고 블로그 등을 확인했고 이로 인해 CTO와 인터뷰가 진행 되었습니다. 1차 코딩 인터뷰시 인터뷰를 잘 봤는데 피드백을 요구했을 때 커뮤니케이션은 약간 부족하지만 영어가 제 2 언어라는 곳을 고려하면 이해할 수 있는 수준이며 시니어 급에 준하는 속도의 문제 해결 능력을 보여주었다고 인상적이었다는 평가를 받았습니다. 그렇게 2차 코딩 인터뷰를 진행 할 수 있었고 이 또한 무사히 통과하게 됩니다.

 

그 후 백그라운드 체크와 레퍼런스 콜이 있었습니다. 백그라운드 체크는 신용이나 범죄 경력 등을 체크하는 터라 문제 없이 통과했고 레퍼런스 콜은 제가 이전에 일했던 곳의 관리자나 개발자들과 통화를 해 제 평판이나 능력을 등을 체크하는 과정인데 다행히 이전 인턴쉽에서 좋은 평가를 준 덕분에 무사히 취업을 할 수 있었습니다. 연봉을 협상하는 과정에서 솔직히 저는 지금 기업에서 채용해준 사실만으로 감사했습니다. 2년 이상 경력자를 요구하는 포지션에 10개월 짜리 신입을 채용한 셈이니까요. 그래서 더 올리거나 협상하지 않고 $70,000에 수용했습니다. 느낌상 $80,000 까지는 높일 수 있을 것 같았지만 실력을 증명한 후 협상을 해도 늦지 않다고 생각했습니다. 

 

공부한 기술 스텍은 다음과 같습니다

ASP.NET Core, Java/Java EE, JavaScript, TypeScript, HTML, CSS, SASS, Styled-Component, React.js, Redux.js, Next.js, Express.js, IBM DB2, PostgreSQL, MySQL, MongoDB, Redis, Linux, Windows Server, Bash, PowerShell, AWS, GCP, Kubernate, Docker, etcs...,

 

캐나다 2/3년제 학교의 교육 수준은 솔직히 낮아 학교 공부 대신 개인 공부에 집중했습니다. 처음 입학 후 1년 반 동안은 매너리즘에 빠져 시험 전 벼락치기만 하는 수준이라 코딩 실력이 별 볼일이 없었으나 오픈소스 프로젝트에 우연한 기회로 참여하게 되어 프로그래밍에 흥미를 되찾아 열심히 배우기 시작했습니다. 

 

만약 프로그래밍을 처음 공부하신다면 어떻게 배웠는지 궁금하실텐데요. 저는 선형적 학습과 비선형적 학습을 병행했습니다. 선형적 학습으로 전체적인 흐름을 이해하려고 노력했고 호기심에 기반해 비선형적 학습을 이루었습니다.

 

다양한 미디어를 활용하였는데 해당 기술의 문서, Udemy 강좌, Blog post, 그리고 책을 모두 활용한 방법이었습니다. 더불어, 암기는 지양하고 이해를 지향하는 학습에 중점을 두었습니다. 매번 새로운 기술이 나오기 때문에 모든 걸 외우는 것 애초 불가능 하며 자주 사용하는 기술이라면 외우지 않아도 자연히 기억하게 됩니다. 실제 개발 환경에서 구글을 통해 원하는 정보를 언제나 찾을 수 있기에 별 의미가 없다고 생각했습니다. 따라서 전체 기술이 사용된 맥락이나 배경 그리고 다른 기술과의 비교 및 기술의 메커니즘을 이해하는데 중점을 두었습니다.

 

또한 언어나 프레임워크를 넘어 공통적인 패턴이 있고 Best Practices가 있음을 인지하고 이에 중점을 두었습니다. 튜토리얼을 따라 하기 보다는 튜토리얼을 이해한 후 별도의 프로젝트를 만드는 형식으로 기술을 익혔고 최대한 실제 개발 환경이나 비지니스 로직에 근접하게 하려고 했습니다. 호기심이 많은 편이라 강의나 책 등에 상당히 많은 돈을 사용했습니다. 50개 이상의 강의를 구매했고 80권 가량의 프로그래밍 서적을 구매했습니다.

 

애초 모든 내용을 보는 것은 불가능 하기에 궁금증이 생길 때마다 레퍼런스 용으로 사용했습니다. 블로그의 경우 잘못된 내용이 올라오는 경우가 많아 무비판적으로 받아들이면 위험하지만 Medium과 같은 플랫폼은 토론이 활성화 되어 있어 다양한 의견이나 관점을 배우기 좋았습니다. 특히나 오랜 경험을 가진 개발자 분들의 조언은 큰 도움이 되었습니다.

 

프로젝트는 비지니스 로직을 익힐 수 있는 것과 보다 근간 기술의 원리를 익힐 수 있는 것을 각각 만드는 방식으로 했습니다. 예를 들어, 프로젝트 중 하나는 당근마켓과 비슷한 비지니스 로직을 지닌 E-Commerce 웹 앱이었고 다른 것들은 Sorting algorithm visualizer와 compiler처럼 저의 컴퓨터 공학 지식을 보여줄 수 있는 것을 선택했습니다. 

 

신입으로 좋은 조건에서 시작한다고 생각합니다만 저는 단지 운이 좋았기 때문이라고 생각합니다. 한국에 계신 많은 뛰어난 개발자분들이 단지 한국에 있다는 이유만으로 좋은 기회를 잡지 못하는 것은 안타깝다고 생각됩니다. 만약 프로그래밍을 배우시거나 혹은 캐나다로 이직을 고민 중이셨다면 이 글이 도움이 되었으면 합니다. 관련 질문을 남겨 주시면 답변해드리도록 하겠습니다.

태그 : https://okky.kr/article/913130
댓글
SwLV 123-03-22
안녕하세요, 진로고민중입니다. 혹시 카톡이나 이메일로 질문가능할까요?ㅠㅠ