비전공자의 미국 개발자 도전기
마이크로소프트에서 백엔드 엔지니어로 일한 지 4개월 정도 된 좌이현이라고 합니다.
어떻게 처음 개발을 접하게 되었나요?
저는 고등학교 2학년 때 유학을 미국으로 오게 됐어요. 입시를 준비하기에는 비교적 늦게 왔으니까 다른 친구들보다 뒤처졌다는 생각이 들더라고요. 미국에서 대학 갈 때 AP(Advanced Placement)라는 대학 수업을 미리 들을 수 있는 제도가 있어서 이 AP를 최대한 많이 들어야겠다 싶었어요. 그래서 AP 수업을 보는데 수업 중에 컴퓨터 사이언스가 있더라고요. 그때는 “HELLO WORLD”도 몰랐고, 자바가 뭔지 파이썬이 뭔지도 몰랐어요. 컴퓨터와 관련된 지식이 아예 없었던 거죠. 그래서 내가 이걸 할 수 있을까 고민하다가 이미 컴퓨터 사이언스 AP를 듣고 있는 친구한테 물어봤어요. 그런데 그 친구가 개발 완전 재밌고 수업도 쉽다고 응원을 해줘서 그 수업을 들으면서 개발을 처음 접하게 됐어요. 수업을 들어보니 적성에 너무 잘 맞고 너무 재밌더라고요.
전공을 전기공학과로 선택하게 된 이유가 있나요?
저는 스스로 문과형 인재라고 생각해서 문과 지식을 접목한 산업공학과를 지망하고 있었어요. 그래서 산업 공학과 희망하고 대학에 왔는데 영주권 문제가 있어서 휴학하고 잠시 한국에 들어와야 했어요. 휴학을 한 학기를 전제로 하고 2학기에는 다시 미국에 돌아가야 했는데, 제가 희망했던 산업공학과와 기계 공학과의 커리큘럼은 1학기에 반드시 들어야 하는 수업이 있더라고요. 그 수업을 놓치면 다음 수업을 못 듣기 때문에 1년을 더 기다려야 하는 상황인 거죠. 그 상황에서 1년을 기다리지 않아도 되는 전공이 전기밖에 없어서 전기공학과를 선택하게 됐어요.
전기공학과에서 컴퓨터공학 수업을 듣게 된 계기
제가 전기공학과를 원해서 선택했던 게 아니다 보니 저랑 맞지 않았던 것 같아요. 잘못한 게 없는 것 같은데 회로가 불타고 컴퓨터가 고장나는 걸 보면서 나는 이 길이 아니다 싶었어요. 학교가 전과하기 쉬운 시스템은 아니여서 컴퓨터 수업을 듣는 방식으로 다른 방법을 찾았죠. 컴퓨터 수업 중에서는 알고리즘을 제일 재미있게 들었어요. 그 수업을 듣고 나서 정말 컴공을 해봐야겠다고 생각을 했던 것 같아요. 제가 IQ 문제나 논리 퍼즐 같은 걸 좋아하는 편인데 그런 것들과 비슷하게 느껴지더라고요. 제가 알고리즘을 좋아해서 열심히 배우기도 했지만, 미국이 개발자를 고용할 때 알고리즘에 집중한다는 사실과도 잘 맞아떨어진 것 같아요.
졸업 후 소프트웨어 엔지니어로 바로 일하게 된 건가요?
사실 수업을 들었다고 하더라도 저는 비전공자이고, 아는 게 별로 없다는 생각이 들더라고요. 그래서 미국에서는 졸업하고 취업 준비 기간을 갖는 게 흔하지 않은데 저는 1년 정도 공백 기간이 있었어요. 부족하단 생각이 많이 들어서 1년 동안 공부하면서 준비했고, 그 후에 처음 용기를 내서 지원하기 시작할때 소프트웨어 엔지니어는 지원을 못 하겠더라고요. QA 역할을 하는 소프트웨어 테스트 엔지니어로 지원을 처음 하고, 이후에 인터뷰를 보기 시작하면서 소프트웨어 엔지니어로 지원을 해봐도 되겠다 싶어서 그 이후에는 소프트웨어 엔지니어로 지원하기 시작했어요. 그렇게 여러 회사와 인터뷰를 거쳤고, 최종적으로 마이크로소프트에서 일하기로 하게 되었어요.
알고리즘 외에 필요한 준비는 없었나요?
저는 거의 100% 알고리즘 준비만 했어요. 코딩을 잘한다기보다는 알고리즘을 잘하는 편이어서 실속이 있는 것 같진 않아요. 컴퓨터공학을 전공한 친구를 만나서 매일 같이 세 문제씩 푼 다음 설명하는 과정을 연습했어요. 그러다 30분을 봐도 모르겠는 문제가 나오면 그냥 냅다 외워 이러면서 외웠어요. 수학도 안 풀리면 그냥 외우면 되잖아요. 이해가 되면 좋고 안되면 외우는 거죠. 한국에서는 완성형 인재를 원하는 것 같지만 미국은 모르는 사람을 고용해서 가르치려고 하는 것 같아요.
출근 후 일과
해야 하는 일만 끝내면 되는 시스템이라 굉장히 자율적이에요. 요즘에는 10시 정도에 출근해서 오후 5시 반쯤 퇴근하는 것 같아요. 아침에 일어나서 오늘 재택을 해야 된다 싶으면 재택을 하고 가고 싶은 날이라면 출근하면 돼요. 그런데 저는 초반이기도 하고 배울 게 많아서 출근하는 편이에요. 아무래도 재택을 하면서 메시지로 물어보는 것보다 출근해서 옆에 앉아 있으면 물어볼 수 있는 게 좋거든요.
어떤 일을 처음에 하게 되었나요?
처음에는 프로덕트에 대한 문서를 주셔서 그 문서를 읽어보는 일부터 시작했어요. 위키 문서도 함께 읽었고요. 바로 어떤 일을 준다기보다는 처음에는 코드 베이스에 익숙해지기 위해서 고쳐야 하는 버그를 몇 개 받았어요. 그다음에는 테스트를 작성해보고, 그다음에는 첫 번째로 프로젝트를 맡아서 하게 되는 방식이에요. 그렇다고 해서 제가 혼자 하게 둔다기보다는 계속해서 알려주고 도와줘요. 그래서 정말 아무것도 모르는 사람을 데려와서 가르쳐서 하는 시스템이라는걸 다시 한번 느꼈어요.
그럼에도 힘든 점이 있다면
그냥 요즘도 힘들어요. 매일 매일 모르는 게 생기고, 이것도 모르고 저것도 모르니까 그냥 다 물어보고 있어요. 그렇게 물어보기 전에 우선 찾을 수 있는건 다 찾아보려고 해요. 내가 물어보는 이 사람들도 바쁘고 할 일이 굉장히 많은 사람들이니까 내가 찾아볼 수 있는 정보들은 모두 찾아서 다 읽어본 다음, 어떻게 물어보면 제일 효율적으로 물어볼 수 있을지 정리를 한 다음 물어보고 있어요. 생각 정리를 하고 내가 물어봐야 하는 질문을 노트에 쓴 다음 물어보는 거죠.
마이크로소프트의 개발 문화는 어떤가요?
정말 그 어떤 누구도 제가 혹시 저 이거 모르겠어요 도와주세요 라고 했을 때 바쁘다고 하는 사람이 없어요. 다들 뭘 도와줄까? 뭘 모르겠니? 라고 말해주고 한 시간씩 시간을 내서 도와주시거든요. 그런 점이 정말 감사한 것 같아요. 또 마이크로소프트를 다니면서 느낀 점 중 하나가, 이곳의 모든 분들이 엄청나게 똑똑한 사람이라는 점이에요. 모두가 고학력자이고 아이비리그를 나온 게 아니거든요. 그런데 같이 일하고 이야기하다 보면 그냥 정말 이 사람은 천재구나 이런 게 느껴져요. 그래서 너무 좋은데 내가 부족한게 느껴지면서 이 팀에서 승진을 못 하면 어떡하지 하는 걱정도 들어요.
적응하기 위해 하는 것이 있나요?
모르는 거 있으면 찾아보고 물어보는 것 말고는 딱히 없는 것 같아요. 모르는 게 너무 많아서 뭐라도 배워놓자 싶어요. 계속 정리해야 되고 또 물어본 다음 이해할 때도 정말 최선을 다해서 잘 들어야지 이해하지 아니면 이해를 못 하거든요. 그래서 정말 녹음기를 들고 다니면서 듣고 싶어요. 그런데 녹음기를 들고 다닐 수는 없으니 우선 최대한 써놓기는 하는데 나중에 보면 무슨 소리인지 모르겠을 때가 많아요…
주니어로서 일할 때 중요하게 생각하는 것
제가 처음 들어와서 매니저님에게 저한테 기대하는 게 무엇인지 물어봤어요. 그런데 매니저님이 그냥 배우기만 하라고 하시더라고요. 한 1년 정도는 우리가 솔직히 큰 기대를 하지 않는다는 식으로 얘기를 해 주셨어요. 그 이야기를 듣고 처음 일하기 시작한 사람에게 중요한 건 배우려는 마음가짐이 아닐까 생각했어요. 그런 배우려는 마음과 또 너무 방어적이지 않은 태도도 필요하다고 생각해요. 만약 제가 코드를 작성했는데 어떤 사람이 이거 별로라고 말하면 아닌데? 내 코드 최고인데? 이런 태도로 대하지 말고 코드에 대한 피드백을 받아들이는 태도가 필요한 거죠. 이 두 가지만 있으면 정말 웬만하면 괜찮을 거라고 말씀해주셔서 그대로 살고 있어요. 모르겠으면 질문하고, 어떤 게 별로라고 하면 감정적으로 대응하지 않고 이걸 별로라고 생각하는구나 받아들이려고 하죠. 점점 일하면서 찾아가는 중인 것 같아요.
회사 내에서 사람들과 교류가 많이 있나요?
마이크로소프트 사내 메신저를 보면 클럽이나 그룹이 많고, 잘 운영되고 있어요. 한국인 그룹, 음악을 좋아하는 사람들의 그룹, 어디 사는 사람들 등 정말 많거든요. 그래서 다양한 클럽에 나가면서 사람들을 다양하게 만나보려고 하고 있어요. 최근에는 제가 일하는 건물 안에 있는 사람 중 새로 입사한 사람들이 있는 그룹을 나가봤어요. 또 제가 사는 지역에서 술을 마시는 자리에도 나가봤고요. 다양하게 인맥을 만들기 좋은 것 같아요.
이현 님에게 개발이란
개발은 내가 뭘 좀 안다고 해서 절대 자부할 수 없는 그런 분야인 것 같아요. 내가 안다고 생각하더라도 그 영역보다 더 광활한 영역이 있고, 그 영역의 더 광활한 영역이 있어서 내가 뭘 안다고 자만하면 안 되는 것 같아요. 또 이제 조금 알겠다 싶으면 새로운 게 나오기도 하고요.
앞으로 이현님은…
일적으로는 제가 주니어긴 하지만 조금 더 시간이 지나면 멘티 멘토 활동을 해보고 싶어요. 미국 내에서는 여성들이 좀 더 테크에 들어올 수 있게 도움을 주는 프로그램들이 꽤 많아요. 그런데 그런 프로그램들에 마이크로소프트가 연계가 잘 되어있어요. 마이크로소프트 왔을 때 하고 싶었던 것 중 하나인데, 일하면서 경험이 쌓이면 멘토로 활동하면서 더 많은 여성을 이제 테크에 데려오고 싶어요.
또 개인적으로는 수의 관련 봉사를 하고 싶어요. 졸업 후 고민 하던 시기에 학교를 다시 가서 수의사를 할까 생각했던 적이 있어요. 제가 동물을 정말 좋아하거든요. 유튜브에서 수의사 브이로그나 동물들 영상을 보고, 강아지 고양이 말고 모든 동물을 거의 다 좋아해요. 또 동물 복지에도 관심 많아서 수의 관련 봉사를 하고 싶어요.
작업할 때 선호하는 장소
저는 오피스요. 오피스 책상에 칸막이가 없거든요. 그냥 휑 뚫려 있어서 거기 앉아 있으면 일을 안 할 수가 없어요.
취미
취미가 많은 편인데, 우선 피아노를 좋아하기도 하고 잘 치기도 해요. 어렸을 때부터 시작해서 피아노 대회도 나가고, 대학교 때 쉬기는 했지만 취직하고 다시 다니고 있어요. 또 수영을 좋아해서 스쿠버 자격증을 따기도 했어요. 그리고 춤추는 것도 좋아해요.
시간과 돈에 부여받지 않고 직업 한 가지를 더 가질 수 있다면
앞서 말한 수의사를 한번 해보고 싶어요.
개발자가 되고 싶은 사람들 이제 막 개발자로 개발을 시작한 사람들을 위해 해주고 싶은 말이 있다면?
사실 개발은 시작할 때 어려운 분야이기도 해서 비전공자라면 자신을 의심하기가 너무 쉬워요. 솔직히 저도 아직까지 제 자심을 의심하고, 부족하다는 마음이 매일 있어요. 그런데 그냥 그렇게 생각하지 말고 생각보다 잘하고 있다는 걸 다들 알았으면 좋겠어요. 생각보다 본인은 대단한 사람이고, 생각보다 개발이란 게 허들이 높지 않다. 개발자가 엄청나게 어렵고 복잡해 보여도 어차피 전공자이든 아니든 시작할 때는 아무것도 모른다는 사실은 다 똑같다고 생각해요. 거기서 얼마나 열심히 노력해서 배우냐에 따라 역량이 달라지는 거니까 절대 시작부터 두려워하지 않았으면 좋겠어요. 저도 그런 두려운 마음 때문에 준비 기간 3~4개월 정도는 한 곳도 지원하지 못했거든요. 지원하면 떨어질 것 같다는 생각이 들었어요. 그런데 막상 지원을 시작하게 되고, 인터뷰를 하다 보니 조금 더 일찍 시작하고 너무 두려워하지 않아도 된다는 생각이 들더라고요. 그러니 의심하지 말고 우선 해봤으면 좋겠어요.