비전공자를 위한 IT 커리어 바이블
비전공자 출신 7년 만에 미국 대기업 개발자로 취업하기
우선 이 글을 쓰는 목적을 명확히 하겠다.
요즘같이 취업이 어렵고, 소프트웨어 직군에 대한 니즈가 높아지고 있는 가운데 선택의 기로에 서있는 많은 사람들이 있는 것으로 안다. 그리고 이러한 상황이 남일 같지 않게 느껴지고, 마치 7년 전 나의 모습과 같다고 생각했다. 아니 나보다 더 극한 상황에 있는 사람들이 많을 것이라 생각한다. 이게 맞는 길인가 아닌가 고민하고 있다면 이 글을 읽어보길 권하고 용기를 갖기 원한다. 당신도 7년 전 내 모습처럼, 기로에 서있을 때 7년 뒤 성공한 당신의 모습을 그리며 열정을 쏟기를 바란다.
거두절미하고 지금 나의 상황을 요약하자면 다음과 같다.
✔ 미국 대기업 Principal Software Engineer
✔ 완전 재택근무
✔ 억대 연봉
✔ 자율 근무
✔ 글로벌 팀과 영어로 모든 업무 처리
한마디로 말하자면, 굉장히 만족스러우며 누구나 부러워할 만한 업무 환경에서 일하고 있다. 하지만 여기까지 오는 과정은 전혀 쉽지 않았다. 장담하건대
비전공자로서 누구보다 짧은 시간 내에 훌륭한 커리어를 만들어 냈다고 생각한다.
그리고 그 녹록지 않았던 시간과 경험에 대한 공유를
나와 같은 고민을 했고 같은 길을 걸어가려고 하고 있는 다른 사람들에게 하고자 여기에 글을 적는다.
그렇다. 나는 한국외대 베트남어학과 영문학을 전공한 비전공자다.
그리고 열심히 갈고닦은 베트남어로 LG그룹의 IT 계열사에 합격하게 되었고 소프트웨어 개발에 입문하게 되었다. 여기까지 나는 운이 좋았다고 생각한다. 요즘은 코딩 캠프, 학원, 교육기관에서 돈을 내면서 혹은 적게라도 국가의 지원을 받으며 커리어 전향을 꿈꾸고 있는 사람들에 비하면 회사에서 월급 받으며 6개월간 프로그래밍 교육을 받는 것은 아주 큰 행운이었다.
하지만 그때부터 모든 고민은 시작되었다.
왜냐하면, 학교에서 컴퓨터 공학을 배우지도 않았고, 프로그래밍 스킬도 좋은 편이 아니었기 때문에 사내 프로그래밍 테스트에서 좋지 않은 결과만 있었고 겨우겨우 실제 프로젝트에 투입될 수 있는 자격을 얻었다.
겨우겨우 자격을 얻었기에 여기에서부터 첫 번째 근본적인 질문이 들었다.
나는 이 일이 내 적성과 맞을까, 잘할 수 있을까, 좋은 개발자로 성공할 수 있을까?
그리고 실제로 LG에서는 프로젝트에 투입이 되면 직접 개발을 하기보다는 외주업체를 두고 프로젝트를 관리하는 관리자 역할이었다.
이렇게 관리자 역할만 하다 보면, 나는 언제든 대체될 수 있는 부품 같은 존재가 아닌가? 나는 업무를 통해 내 개발 실력을 향상하고 싶고 잘하고 싶고 언제든 이직할 수 있는 사람이 되고 싶은데, 이대로라면 가능할까?
그래서 내가 한 선택은 첫 번째, 두 번째 질문에 대한 답을 누가 해주기를 바라기보다는 내가 답을 정하고 그대로 실행을 했다.
첫 번째로, 누구나 처음부터 잘할 수는 없다.
처음부터 아무리 좋아하는 것이라 할지라도 잘할 수 없다. 그리고 처음부터 바로 성공할 수도 없다.
그래서 나의 답은, 일단 충분한 시간과 노력 후에도 내가 잘하지 못하면 그만두기로 했다.
그래서 나는 매일 야근을 끝낸 후에 다음을 반복했다.
✔ 인터넷 개발 서적 읽기
✔ 구글링
✔ 정리
✔ 새로운 기술은 바로 읽고, 설치하고, 실행.
그리고 기존 문서작업용 노트북으로는 프로그래밍 학습이 감당이 안 돼서 거금 200만 원을 들여 맥북을 구매했다. 당시 사회 초년생 신분으로 결혼, 출산까지 하며 아내의 퇴사로 외벌이 가장이 된 상태였던지라 재정적으로 부담이 되었지만 분명 나의 미래를 바꿔줄 훌륭한 투자라고 생각하고 바로 구매했다.
모든 기술문서는 영어 원문 그대로 읽고 해석하고 실행하는 것을 반복했고 그 이유는 구글 검색 결과는 압도적으로 영어가 많고, 한국어보다 훨씬 좋은 자료들이 많았을뿐더러 장기적으로는 해외 대기업/스타트업에 취직하고 싶었기 때문이다.
그리고 영어에 대한 고집은 나중에 여러 해외 기업 면접뿐 아니라 실무 과정 속에서도 빛을 발하는 큰 요인이 되었다.
두 번째로, 나는 확신했다.
관리자로만 남아있다면 언제든 대체될 수 있는 부품이 될 것이고
그 당시 일부 무능력한 최고참 선배들을 보았을 때 그 끝이 너무 명확했다.
실무적인 능력이 하나 없이 껍데기만 남아 인정받지 못한다는 것이다.
그래서 개인적인 기술 내재화와 동시에 국내/외 할 것 없이 이직을 하기 위한 사전 작업에 돌입했다.
✔ 포트폴리오/이력서 작성
✔ 나만의 웹사이트 제작
✔ Github 프로젝트 생성
✔ Linkedin 계정 생성하고 최신 업데이트 후 무작위로 친구 추가
✔ Linkedin에서 해외 대기업/스타트업에서 요구하는 Job Requirements를 수시로 보면서 기술 트렌드 파악 후 학습
이렇게 1번과 2번 질문에 대한 답을 스스로 정한 뒤 내가 할 수 있는 것들을 하다 보니 1년 만에 클라우드 서비스와 관련된 플랫폼을 개발하는 스타트업에서 연락이 왔다. 그리고 그동안 쌓아온 내공과 실력으로 면접을 무난히 통과했고 연봉도 15% 인상 후 이직에 성공했다.
그리고 나는 해당 스타트업에서 단기 목표를 세웠다.
짧게는 1년 반, 길게는 3년간 개발 스킬을 고도화한 뒤에 해외 스타트업으로 이직하겠다는 목표를 세웠다. 그리고 개발 경력 없었음에도 IT개발자로 취업에 성공을 하게 된 후의 마인드셋은 뭐든지 할 수 있다는 생각 이었다. 그리고 그러한 마인드셋을 가질 수 있었던 가장 큰 이유는 1번과 2번을 반복하면서 생긴
내공 이었다.
특히,
새로운 기술의 습득과 적용
은 누구보다도 자신 있었다.
✔ 모르는 기술을 구글에서 검색
✔ 원문으로 Quickstart Tutorial 읽고 진행
✔ Hello World와 같은 기본적 프로그램 실행
✔ 새로운 프레임웍 적용
✔ 문득 생각나는 기능들을 구현
✔ 배포/테스트
이러한 과정은 수백 번 반복했기 때문에 나는 어느 회사를 가도 금방 새로운 언어와 기술을 습득해서 바로 적용할 준비가 되어 있었다.
새로 간 회사에서는 Full Stack Developer로 역할을 맡았다.
✔ Frontend는 Angular4+
✔ Backend는 Springboot/Spring
✔ DB는 Mysql
✔ Version Control은 Bitbucket
✔ Infra는 AWS
✔ Working Station은 Windows / Mac OS
Angular4+는 이직 후 1주일 만에 Syntax를 모두 파악 후 기존 소스코드의 구조 파악 후 모듈 개발에 바로 착수했다. Springboot/spring은 Controller, Service, DAO Layer와 Mybatis 연동 구조를 하루 만에 파악하고 모듈 개발에 착수했다. Database는 주요 테이블 정의서와 관계도를 파악했다. Version Control은 Git 기반이기 때문에 큰 무리가 없었고, AWS는 평소에 관심을 두고 HandsOn 실습을 많이 해뒀기 때문에 Console 작업과 CLI 및 인증, 권한 처리들이 어렵지 않았다.
결론적으로는 이직 후 한 달 만에 바로 모듈 개발에 착수하여 결과를 내는 퍼포먼스를 보여줄 수 있었고 동료 개발자들에게도 인정을 받을 수 있었다.
여기서 끝이 아니다.
개발자는 개발만 한다면 빛을 발하기 어렵다.
때문에 개발 이외에 스킬인 영어와 프로젝트 매니징 관점을 가지고 스타트업 회사에서도 기여하고자 했다.
해외 관계자와의 컨퍼런스콜에 적극 참여하여 개발자가 아닌 조직에 기여하는 활동을 했고, 개발에 참여 중인 프로젝트의 담당자인 Product Owner가 개발 기한을 잘 못 잡거나, 업무 협력을 잘 이끌지 못할 때마다 적극 항의하거나 조율하였고 상황을 모두가 만족스럽게 갈 수 있는 방향으로 건의하곤 했다.
그렇게 하다 보니 사람들의 신뢰를 받고 인정받게 되었고 팀에서도 큰 기여를 하는 자리에 있게 되었다.
그와 동시에 항상 끊임없이 진행했던 것들이 있다.
✔ Linkedin에서 포트폴리오 업데이트
✔ Linkedin에서 기술 트렌드 파악
✔ Linkedin에서 헤드헌터와의 연락, 그리고 해외 채용 오퍼 및 관심 기업에서 연락이 왔을 때 면접 참여
이 과정에서 다양한 회사에서 근무하는 사람들과 인터뷰를 하면서 나의 가치를 객관적으로 평가할 수 있었다.
개발자는 단순 코딩만 하는 사람이 아니라는 것도 배웠고 특히
✔ Operating System
✔ Network
✔ Data Structure & Algorithm
와 같은 Software Engineering 에 큰 덩어리에 대한Solid Understanding(기반이 잘 잡힌 이해) 가 있어야 한다는 것을 알게 되었다.
가장 기억에 남는 인터뷰는 Google Cloud 팀에서 Technical Solutions Architect 포지션 면접 과정에서 Unix/Linux Distribution OS에 대한 지식과 이해가 부족하다는 것을 피드백 받았고 즉시 부족한 부분을 학습하기 시작했다.
지금도 헤드헌터와 여러 기업의 리크루터에게 Job Offer가 오고 있고 그중에 나의 커리어에 도움이 될만한 기회들은 항상 나를 객관적으로 판단하기 위해 면접에 응하고 있다.
요즘 취업난이 심하고 4차 산업혁명이 급속화되고 있는 코로나 시대에 흔히 말하는 개발자에 대한 수요도 많고, 교육을 지원하는 기관과 부트캠프는 널리고 널렸다. 하지만, 문제는 그 수많은 개발자들 사이에서 어떻게 커리어를 관리하고 발전할 수 있는지가 가장 중요하다고 생각한다.
이러한 상황 속에서 살아남고 경쟁력 있는 개발자로 혹은 Software Engineer로 성장하고 싶으면 내가 했던 그대로 하라. 그리고 의심하지 말라. 다시 요약하면
✔ Linkedin 계정을 열고 지금까지 해온 포트폴리오를 작성한다.
✔ 포트폴리오가 없다면, 당장 Github프로젝트를 생성해서 하루에 코드 하나라도 짜서 푸시한다.
✔ 개발을 하나도 할 줄 모른다면, 당장 뭐든 공부해라.
✔ 공부할 때 영어가 장벽이면 영어도 공부하고 한 번에 이해를 못 하면 이해할 때까지 봐라.
✔ Linkedin에서 새로운 기술 트렌드를 파악하고 모르는 건 영어 원문 기술 사이트에 들어가서 튜토리얼이나 퀵스타트를 따라 해라.
✔ 이력서를 쓰고 가고 싶은 회사에 지원한다.
✔ 떨어지면 왜 떨어졌는지를 이해하고 보완한다.
✔ 현재 개발자로 일하고 있다면, 개발자가 해야 하는 업무 이외의 것도 자기 일이라고 생각하고 해라.
누구든 이렇게만 하면 7년 안에 Principal 급의 엔지니어로 성장할 것이고 미국 대기업뿐 아니라 가고 싶은 어느 회사에서 원하는 방식으로 일을 할 수 있을 것이다.
나에게 조언이나 도움이나 멘토링이 필요하다면 언제든 열려있다.
-
*이 콘텐츠의 원문은 youngstone 님의 브런치입니다. 제로베이스 미디어에서 더욱 다양한 필진의 인사이트 콘텐츠를 만나보세요.
*해당 콘텐츠의 저작권은 원문 작성자에게 있으며, 무단 전재, 복사 및 배포 등을 금지합니다.
추천 컨텐츠