벚꽃 흩날리던 4월, Git과 함께 다시 시작한 나의 일
“여보세요?”
“예, 저번에 면접 보신 황의정 님이시죠? 16일부터 출근하시면 될 것 같아요. 노트북은 지참해 주세요.”
“네? 감사합니다. 준비 잘해서 16일에 뵐게요!”
저번 주 면접 본 회사에서 걸려온 전화였다. 다음 주 16일부터 출근하라는 연락이었다.
전화를 끊고 한참을 멍하니 앉아 있었다. 두근거리는 가슴을 쓸어내리며 생각했다.
‘합격인가...? 진짜 판교야? 나, 드디어 판교에 가보는 거야?’
판교가 어떤 곳인가.
대한민국의 실리콘밸리, IT 업계의 파라다이스.
그 이름만으로도 설레던 곳에서 내가 일하게 되었다니, 믿기지 않았다.
그동안 스쳐 지나가며 ‘언젠가는 나도 저기서 일해보고 싶다’고 생각만 하던 곳.
그곳으로 출근하게 되다니, 얼마나 벅찬 일인가.
하지만 기쁨도 잠시, 머릿속이 복잡해졌다.
‘그런데 무엇부터 준비해야 하지? 다들 젊은 친구들이라던데…
내가 거기서 잘 해낼 수 있을까? Vue.js를 쓴다던데, 그걸 먼저 공부해야 하나…’
판교는 나 같은 중년에게는 경계 너머의 땅 같았다.
빠르고, 젊고, 눈치 빠른 사람들의 세상.
그곳에 내가 들어간다는 건, 설렘보다 두려움이 먼저 밀려오는 일이었다.
이 일은 6개월 프리랜서 계약이었다. 웹퍼블리셔로 기업의 시스템 운영(SM) 업무를 맡는 자리다.
무엇부터 준비해야 할지 몰라 우왕좌왕하다가 유튜브 강의를 찾아 Vue.js 공부를 시작했다.
Vue는 요즘 프런트엔드 개발자들이 많이 사용하는 가볍고 빠른 자바스크립트 프레임워크다. 화면 상태가 바뀌면 자동으로 UI도 바뀌는 양방향 바인딩 기능 덕분에 복잡한 화면도 효율적으로 만들 수 있다.
컴포넌트 단위로 개발하기 때문에 유지보수에도 유리하다.
하지만 나는 이런 장점을 듣고도 실무에서 어떻게 써야 할지 전혀 감이 오지 않았다.
이건 며칠 만에 끝낼 수 있는 공부가 아니었다. 결국 유튜브를 끄고, 불안한 마음을 달래기 위해 최신 사양의 노트북을 하나를 장만했다. 배송된 노트북을 가방에 넣고 어깨에 메어보았다.
마치 새로운 아이템이 장착된 기분이었다. 그 순간, 마음이 조금 가벼워졌다.
나는 전장에 나가는 병사처럼 노트북이라는 최신무기를 어깨에 메고 전쟁터 같은 판교로 향했다.
4월의 출근 첫날. 벚꽃들도 흩날리며 나를 반겨주었다.
첫날, 보안카드가 없었던 나는 1층에서 이사님을 기다렸다.
함께 10층으로 올라가며, 팀원들과 인사를 나눴다.
대부분 20대 후반에서 30대 초반. 중년처럼 보이는 분들은 수석님 두분 뿐이었다,
나는 ‘책임’이라는 직함을 받았고, 끝자리에 배정되었다.
자리에 앉아 새로 산 최신형 노트북을 켜놓고 긴장한 채 지시를 기다렸다.
하지만 아무도 나에게 말을 걸지 않았다.
보안 계정이 없으면 아무 일도 할 수 없기 때문이었다.
계정 발급에는 일주일이 걸린다고 했다.
나는 노트북만 멍하니 바라보며 시간을 보냈다.
온몸이 근질거렸고, 입에서는 거미줄이 나올 것만 같았다.
‘아무것도 하지 않고 책상에 앉아 있는 기분이란 이런 거구나.’
그래도 괜찮다. 이 또한 곧 지나가리라.
드디어 보안카드가 나왔고, 기다리고 기다리던 첫 번째 일이 주어졌다.
글자 몇 줄을 수정하는 간단한 작업이었다.
“할 수 있다!”
코끝이 벌름거렸다.
재빨리 소스를 열고 고쳐야 할 부분을 찾아 수정 후 저장까지 완료하였다.
이것이 끝인가? 생각했지만
물론 아니다. 수정을 마친 후 펼쳐진 ‘절차의 미로’는 충격 그 자체였다.
문서 번호에 맞춰 브랜치 생성
Git으로 전체 소스 풀 다운로드
수정 후 커밋, 머지
각 서버 테스트 및 테스트 시나리오 작성
테스트 결과 비교 문서화 (각 4부 작성 후 송부)
브리핑, 소스 리뷰, 최종 회의
글자 한 줄 고치는데, 절차는 은하계만큼 방대했다.
이 낯선 프로세스에 익숙해지는 데 두 달이 걸렸다.
문서 하나를 만드는 데 몇 시간씩 걸렸고, 모든 화면을 캡처한 후에는 코드 변경 내역과 설명을 꼼꼼히 정리해야 했다.
‘왜 이렇게까지 해야 하지?’ 하는 생각도 들었다. 하지만 자세히 살펴보니 그 문서들엔 이전 선배들의 히스토리가 고스란히 담겨 있었다. 그 히스토리를 따라가며 살펴보니 각 사안에 대한 변화의 과정과 일의 연결성을 이해할 수 있었다.
'기록하지 않은 경험은, 없던 것과 같다'는 말이 실감 났다.
그리고 처음으로 모든 절차를 마치고 소스 리뷰까지 끝냈을 때 비로소 뿌듯함이 밀려왔다.
“나도 이 팀의 일원이구나.”
“이제 조금 알겠다. 이렇게 하면 되는 거구나.”
그렇게 나는, ‘팀의 프로세스에 맞춰 한 발짝씩 걸어가는 나’를 만들어가고 있었다.
그리고 나는 그곳에서 ‘Git’이라는 친구를 처음 만났다.
Git은 분산 버전 관리 시스템이다. 소스코드를 안전하게 저장하고, 여러 사람이 동시에 작업해도 충돌 없이 관리할 수 있도록 돕는다. GUI 툴인 SourceTree를 함께 사용하면 커밋 내역과 브랜치 구조를 눈으로 쉽게 파악할 수 있다. 무엇보다 Git이 매력적인 이유는 백도가 가능하다는 것이다.
실수를 해도 언제든 이전 상태로 되돌릴 수 있다. 그래서 Git을 ‘코드의 타임머신’이라고 부른다.
나는 Git을 써보고 그 유연함과 직관성에 놀랐다.
CVS, SVN, AWS CodeCommit… 다양한 도구를 거쳐봤지만 Git은 내가 어느 공간에서 어떤 작업을 하고 있는지를 가장 명확하게 보여주는 도구였다.
가끔은 이런 생각도 들었다.
‘현실에서도 이렇게 백도가 가능하면 얼마나 좋을까.’
인생의 큰 실수도, 한 줄 명령어로 되돌릴 수 있다면 말이다.
혼자 피식 웃으며 Git을 바라보았다.
그렇게 나는, Git이라는 필살기를 장착한 채 새로운 시스템과 환경에 적응해 나갔다.
어설펐지만, 나는 시작했다.
판교라는 낯선 땅에서, 하나하나 배워가며 다시 나를 세웠다.
‘잘할 수 있을까?’ 하는 두려움,
‘내가 과연 여기 어울릴 수 있을까?’ 하는 불안.
그 모든 감정을 잠시 옆에 두고 나는 매일 이렇게 중얼이며 출근했다.
"오늘 하루만 잘해보자."
그 한마디를 되뇌며 출근하던 길.
그렇게 하루하루의 버팀이 모여, 어느덧 지금까지 왔다.
"미리 편견을 갖지 말자. 그냥 해보고 판단해도 늦지 않다"
중년의 새로운 시작을 나는 오늘도 이렇게, 조용히, 그러나 힘 있게 속삭여 본다.
다음 화에서는 "협업은 함께 늦더라도, 함께 가는 것이다"라는 주제로 이야기를 이어가 보려 합니다.
혼자 빨리 가는 것보다, 함께 멀리 가는 것이 더 소중하다는 걸 팀워크 속에서 조금씩 배워갔습니다.
그럼 다음 화에서 만나요 :)