얼마나 짧은 시간안에 많은 게시판 페이지를 만드느냐 굉장이 중요한 평가 척도였습니다.
비전공자에 지방대에 무스펙 개발자가 할 수 있는 방법은 그것밖에 없다고 생각을 해서 국비학원에 가서 2년 준비해서 처음으로 취업이 된 SI 회사에 바로 갔습니다.
결국은 고객이 원하는 서비스를 만들어서 납품하고 다시 나와야 하고 실력을 늘리는 데에 한계를 느꼈고 빨리 다른 회사로 가야되겠다는 생각을 좀 했었고요.
결국, 신입으로 한 번, SI 회사에 다니면서 두 번 추가 지원한 끝에 자체 서비스를 하고 있는 포털 회사인 줌 인터넷으로 이직할 수 있었습니다.
자체 서비스를 하고 포털 회사 줌 인터넷으로 이직을 했을 때 경험
다 만들고 나서 모든 개발자가 모인 데서 한 세 시간 정도 코드 리뷰를 받았습니다. 그동안은 제가 만든 기능이나 화면으로 평가를 받았는데, 줌에서는 철저하게 코드만 놓고 평가하더라고요.
이 코드로 발생할 수 있는 문제가 무엇인지, 좋은 코드는 무엇인지에 관해 굉장히 집요하게 리뷰해주셨고요.
그때부터 공부하는 방향이 많이 바뀌었는데요. 화면을 빨리 만드는 건 당연히 갖춰야 할 덕목이고, 빨리 만들면서도 어떻게 하면 더 확장성 있는 구조로 개발할 수 있을지 공부하게 됐던 거 같아요.
하루 주문건이 100만 건 > 정산 시스템 5분 정도 소요 되도록 구조를 변경
제가 처음 배민에 왔을 때, 하루 주문 건이 15만 건 이었어요. 그 당시 정산 시스템 같은 경우에는 처리하는 데에 16시간 정도가 필요했어요. 한 번이라도 실패하게 되면 32시간이니까 하루가 지나가버리는 상황인 거죠. 근데 그 시스템이 원래부터 그랬던 건 아니었어요.
원래 처음 만들 때는 정산이 5분, 10분 만에 끝나는 시스템이었는데 주문이 점점 늘어나면서 15만 건이 되었을 때 16시간 정도가 소요되는 그런 시스템이 되었어요.
그럼 그걸 완전히 갈아엎어야 되는 상황이 온 거죠
그러면 새로운 기술, 새로군 구조, 새로운 그림으로 다시 만들어야 되는데 그 전에 했던 방법대로 해왔으면 해결할 수 없는 문제였던거죠
업무시간에는 당연히 현재 회사에서 써야 되는 기술들을 열심히 하는데 그 외 남는 모든 시간에는 언제 전쟁의 판도가 바뀔지 모르니까 다음에 꼭 필요한 기술들에 대해서 좀 더 많이 개인 시간에 공부를 하고 있고요.
기존의 시스템에서 사용하지 않았던 기술들을 전부 다 적용을 했었고요. 그게 안정적으로 돌아가기 위해서 더 많이 개인 시간에 공부를 했습니다.
잡담이 경쟁력이라고 해서 옆에 자리가 있으면 항상 그 옆에는 의자를 꼭 둬야 돼요.
개발을 하다가도 누가 와서 물어보면 대답을 해줘야 되거든요. 오히려 핑퐁이 더 빨리 되어서 좋았고 바로 가서 물어보고 답변 바고 바로 제일 하고.. 빠르게 피드백 받는 것이 훨씬 생산성이 좋구나라는 생각을 좀 많이 하게 됐어요.
블로그 타이틀은 저를 나타내는 가장 좋은 말"
제가 머릿속에 있는 것들 혹은 남들이 얘기했던 것들이 결국 기록하지 않으면 나중에 흐트러지더라고요. 저는 사실 세미나를 가서도 전부 다 속기사처럼 타이핑을 하고 있고, 오늘 회사에서 있었던 일도 블로그에 정리를 하고 있고, 내가 공부했던 것들 혹은 회사에서 해결했던 문제들, 내가 앞으로 하고 싶은 것들 하다못해 개인적인 잡담까지도 전부 다 기록을 하고 있어요.
그런 기록들이 계속 쌓이고 있고 그 기록들이 나중에 저를 표현하지 않을까라는 생각이 들고요.
쉬지 않고 계속해서 업무시간 외에도 개인적인 공부를 하고 있고 사이드 프로젝트를 하고 있다는 지표
제가 나중에 뒤돌아봤을 때는 "내가 그래도 꾸준히 이렇게 해오고 있다" , "앞으로도 이걸 하고 싶다" 그런 생각을 들게 만들어서 일단은 쉬지 않고 공부하게 만드는 주 원동력이었던 것 같고요.
하루에 그냥 80% 정도의 목표치만 정하고 그 정도 달성하고 나면 나머지 20%는 제 마음대로 시간을 써요. 사실 크게 스트레스 받지 않고 번아웃이 안 오는 것 같아요.
제가 생각하기에 개발 실력이 좋다라는 것에는 두 가지 유형이 있는데
첫 번째로는 사냥개와 같은 집요함이 있는 분들이 계세요.
끝까지 물고 넘어져서 결국 어떻게든 해결을 해서 결과물을 가지고 오더라구요.
두 번째는 글 잘 쓰시는 분들처럼 코드를 작성하시는 분들이 계시더라구요.
당연히 있어야 될 것들이 당연한 위치에 당연하게 있게 만들어주시는 분들이 계세요.
혼자 일하는 게 아니고 수십 명, 수백 명 같이 일하는데 그 사람만 알아볼 수 있게 작성하는 게 좋지는 않더라고요. 진짜 누구나 알 수 있게 누구나 이해할 수 있게 코드를 작성하는 사람의 수가 생각보다 많지 않더라고요.
목표라는 건 내가 경험해 본 범위 내에서 나오는 게 목표더라고요.
예전에는 목표를 정하는 걸 되게 좋아했어요. 일단은 그렇게 목표를 정하고 한 눈 팔지 않고 끝까지 달리는 게 되게 중요하다고 생각했었어요. 그렇게 달성하는 게 저한테는 성취감을 많이 주니까요.
근데 이게 생각해 보니까 목표라는 건 내가 경험해 본 범위 내에서 나오는 게 목표더라고요. 그러니까 내 경험 밖의 무언가가 벌어지려면 목표가 있으면 안 되더라고요. 왜냐면 목표를 정하면 다른 데를 안 쳐다보니까 내가 생각한 그 길 밖에 못 가더라고요.
일단 저지르는 게 되게 중요한 것 같아요.
이것저것 재면 사실 시작도 못할 때가 되게 많잖아요. 예를 들어서 1일 1커밋도 마찬가지인데 그냥 뭐 계속하지 뭐 별 의미를 안 두면 괜찮더라고요 그냥 한 번 해보자라고 하다가 1년 정도 유지되면 그때부터는 눈덩이 굴러가듯이 가만히 있어도 잘 굴러가는 것처럼 습관이 되는 거고...
다 그렇게 "그냥 한 번 해보지 뭐" 라는 마음으로 시작했던 것들이 결과적으로 좋은 성과가 있었던 것 같아요.