테슬라 인턴 12주차

회고

by 지오

딱 일주일이다. 업무 이메일, 코드 베이스, 회사 건물 출입까지 - 모든 권한이 정지되기까지.


다음 주, 13주간의 인턴십을 정리해 부서 앞에서 발표할 날이 다가온다. 그렇게 원치 않았던, 그러나 피할 수 없는 인턴십 회고가 시작된다.


내 인턴십은 조금은 기이하게 시작된다. 첫 출근 날, 마중 나온 건 팀의 유일한 프론트엔드 엔지니어이자, 일주일 뒤면 팀을 떠나는 인턴이었다. 그가 떠난 자리에, 나는 빈틈없이 들어섰다. 그리고 온보딩조차 마치기 전에, 팀의 유일한 프론트엔드 개발자가 되어버렸다. 그 주 모든 프론트엔드 업무가 내게 쏟아졌고, 입사 사흘째, 내 첫 코드는 테슬라 공식 웹사이트에 배포되었다.


내가 몸담은 팀은 테슬라 메인 웹사이트에서 에너지 제품 주문 과정을 맡고 있다. 가정용 배터리, 태양광 패널, 태양광 지붕 등 친환경 제품을 고르고 상담을 예약하고 주문을 확정하는 과정까지, 모든 흐름이 여기에서 시작된다.


공식 웹사이트를 관리하는 팀이니, 친구나 가족에게 내가 한 일을 NDA와 (비밀유지서약) 상관없이 자랑할 수 있다는 점도 꽤 괜찮았다. 실제로, 내가 처음부터 끝까지 혼자 만든 새 웹페이지가 있다. 한 번 방문해 보길.

www.tesla.com/energy-savings



How are you? I'm fine, thank you.

한국인이라면 누구나 학교나 학원에서 외웠을 기본적인 문장이다. 하지만 늘 마음 한편에는 의문이 있었다. ‘과연 이 말이 미국인들이 일상에서 실제로 쓰는 말일까?’ 수많은 ‘실전 회화 영어’ 광고 속 문구들을 볼 때마다, 실제 회화에서 쓰이는지를 확인할 길이 없어 답답했다.


테슬라는 나의 첫 커리어다. 그전까지는 개인 프로젝트와 학교 연구 조교 일을 오가며 경험을 쌓았다. 웹 개발을 본격적으로 공부한 건 2023년 1월, 고등학교 마지막 학기 때였다. 아무것도 모르는 상태에서 유튜브에 올라온 7시간짜리 Node.js 강의를 틀어놓고, 금발 개발자가 친절히 설명하는 코드를 따라 쳤다. 모르는 단어가 나오면 검색해서 종이에 빼곡히 적었다. 자바스크립트라는 언어도 잘 몰랐지만, MERN 스택 개발 강의까지 무작정 따라 했다. (알파벳도 겨우 알던 내가 고급 영문 수업을 듣는 셈이었다.)


하지만 이 방식에는 한 가지 한계가 있었다. 처음 보는 개념이나 이해하기 어려운 부분이 나와도, 물어볼 사람이 없었다. 고등학교는 워낙 작은 학교라 그렇다 쳐도, 대학교에서도 그럴 줄은 몰랐다. 연구 중심의 학교다 보니 CS 선배들은 네트워크, 시스템, AI 쪽으로 커리어를 잡았다. 생각보다 웹 개발을 준비하는 전공자는 많지 않았다.


2학년이 되었을 때 멘토 부재가 크게 다가왔다. 한인 학생회 개발팀에 새로운 멤버들이 들어왔을 때였다. 잠깐 배경을 설명하자면, 내가 처음 학생회에 들어갔을 때 학생회 공식 웹사이트 개발 계획이 있었다. 그 계획을 밀어붙이던 96년생 CS 선배가 나를 발견했고, 우리는 프로젝트를 시작했다. 몇 달 뒤 웹사이트를 성공적으로 론칭했고, 학생회에 ‘웹사이트 개발팀’이라는 부서가 새로 생겼다.


새로 들어온 멤버들은 개발 경험이 전혀 없었다. 대신 “웹 개발을 해보고 싶다”는 열정 하나면 됐다. 나는 신입 부원들을 위해 온보딩 세션을 준비했다. 아주 기초적인 개념부터, 비밀 댓글 같은 작은 실전 프로젝트까지.


이제 와 말하지만, 그때 꽤 부담스러웠다. 슬라이드를 준비해 개념을 설명하면서도, 내가 아는 게 정말 ‘정석’인지 확신이 없었다. 학생회 웹사이트에 사용한 Next.js 프레임워크에 대해 “왜 이걸 쓰냐”는 질문을 받았을 때, 사실 근거 있는 대답은 못 했다. “요즘 가장 MZ스러운 최신 프레임워크라서”라며 웃어넘겼다. (테슬라에서도 쓰니 완전히 틀린 말은 아니었던 걸로)


신입들에게 내 말은 절대적이었다. 의심조차 불가능할 만큼 지식 격차가 컸다. 내가 작성해 둔 오래된 코드베이스엔 지금 보면 끔찍한 수준의 코드도 있었다. 그걸 신입들이 봤을 거라 생각하면 부끄럽다.


코드 리뷰도 마찬가지였다. “Best Practice는 이렇게 하는 거야”라며 변수 이름은 ‘count’가 아니라 ‘commentCount’처럼 구체적으로 써야 한다고, 긴 코드는 여러 파일로 나눠야 한다고 말했다. 하지만 곰곰이 생각해 보면, 내가 어떻게 그게 최선이라고 확신할 수 있었을까? 누군가 명확히 ‘이 방법이 최고다’라고 알려준 적도 없고, 더 경험 많은 개발자의 완성도 높은 코드를 본 적도 없었다.



이번 인턴십에서 가장 바란 건 내 실력을 객관적으로 검증받는 것이다. 흔한 F1 비자 국제학생 목표인 정규직 전환 오퍼에는 관심이 없다. 3학년이 되어가고, 10월엔 군 입대가 예정되어 있기 때문이다. 내게 중요한 건, 지금껏 쌓아온 역량이 더 넓은 세계에서도 통하는지 확인하는 일이다.


한때는 멘토가 없어 답답했다. 테슬라 인턴십 내내, 우리 프론트엔드 파트엔 나와 외부 계약직 개발자 단 두 명뿐이었다. 시니어 소프트웨어 엔지니어는 없고, 매니저 한 명이 있었다. 인턴십 중반까지만 해도 매니저와의 커피챗마다, 멘토십에 대한 아쉬움을 이야기했다.


그러나 어느 순간, 일이 완전히 익숙해졌다는 확신이 들었다. 코드베이스를 이해한 것도 있지만, 그보다 더 큰 변화는 비즈니스 로직을 자연스럽게 파악했다는 점이었다. 영어도 고등학교 시절처럼 편안해졌고, 팀원들과 소통하는 게 훨씬 자연스러워졌다. 급하지 않고 마음에 여유가 생겨, 일을 대하는 태도도 한결 차분해졌다.


작은 에피소드를 하나 들자면, 그 시점까지 나는 내가 해야 할 작업을 기록하거나 할당하는 시스템을 직접 관리하는 것을 주저했다. 보통은 프로젝트 매니저나 팀장이 업무를 정리하고 할당해 주기 마련이니까. 그런데 어느 순간, 내가 직접 업무 항목을 만들어 팀에 공유하는 게 전혀 문제가 되지 않는다는 걸 몸으로 느꼈다. 그때서야 정말 ‘내 일’이 되었다는 느낌이 들었다.


아이러니하게도, 시니어라고 해서 나보다 더 깔끔한 코드를 짜는 것은 아니었다. 경력만 오래된 사람도 있었고, 조직 내 정치로 자리 잡은 경우도 있었다. 대부분은 오히려 소프트 스킬이나 시스템 전반에 대한 이해가 깊었다. 하지만 내가 진정으로 원했던 건 내 코드의 퀄리티를 높이는 방법이었다.


그러다 보니 어느새 멘토가 필요 없는 순간에 도달했다. 매니저의 코드 리뷰에서 구현 자체에 대한 지적은 거의 사라졌다. 남는 건 ‘이런 예외 상황도 처리가 되는 건지’나 ‘이 기능을 추가하는 것에 대해선 어떻게 생각하냐’ 같은, 코드의 질이 아니라 사용자 경험의 디테일을 다루는 피드백뿐이었다.


이번 주 수요일, 매니저와의 면담에서 성과 평가 결과를 들었다. 평가 항목은 크게 두 가지였는데, 하나는 ‘기술적 완성도(Technical Excellence)’, 다른 하나는 ‘소프트 스킬(Soft Skill)’. 기술 항목에서 나는 5단계 중 4단계, ‘기대 이상(Exceeds Expectations)’을 받았다. 부정적인 피드백은 없었고, 오히려 이렇게 말했다.


“만약 당신이 졸업 학기였다면, 우리는 주저 없이 정직원으로 채용했을 겁니다.”


사실, 스스로를 바라보고 평가하는 일은 쉽지 않다. 내 안에는 종종 불안과 의심이 찾아와, 내가 이룬 성취를 제대로 인정하지 못하게 만들었다. 하지만 외부의 객관적인 시선이 주어졌을 때, 비로소 나는 내가 어디쯤 서 있는지 알게 되었다. 그 순간은 마치 어둠 속에서 갑자기 빛이 들어오는 것처럼, 나 자신을 받아들이는 중요한 계기가 되었다.


헤르만 헤세는 『데미안』에서 이렇게 썼다.

“진정한 자신을 찾는 일은 마치 어둠 속에서 길을 더듬어 찾는 것과 같다.”

내가 경험한 13주 인턴십은 그래서 특별했다. 힘겨웠던 과정이라기보다, 오랜 시간 혼자 공부해 온 내 실력이 드디어 객관적인 평가를 받았다는 사실이 큰 의미였다. 누군가 내게 “당신이 졸업한다면 정직원으로 뽑았을 것”이라 말했을 때, 그건 단순한 칭찬을 넘어 나 자신에 대한 인정이었다.


그리고 그 인정은 앞으로 나아갈 길에 든든한 밑거름이 될 것이다.

작가의 이전글테슬라 인턴 11주차