개발자의 습관과 커리어 | 배달의 민족 리드 개발자

rimmz·2022년 7월 7일
0

🌠 | 영감 노트

목록 보기
3/3
post-thumbnail

🔗 자료

지방대 개발 비전공자가 배달의민족 리드 개발자가 되기까지

기억보단 기록을 | 이동욱님 블로그


우아한 형제들에 오기 전까지

얼마나 짧은 시간안에 많은 게시판 페이지를 만드느냐 굉장이 중요한 평가 척도였습니다.

비전공자에 지방대에 무스펙 개발자가 할 수 있는 방법은 그것밖에 없다고 생각을 해서 국비학원에 가서 2년 준비해서 처음으로 취업이 된 SI 회사에 바로 갔습니다.

결국은 고객이 원하는 서비스를 만들어서 납품하고 다시 나와야 하고 실력을 늘리는 데에 한계를 느꼈고 빨리 다른 회사로 가야되겠다는 생각을 좀 했었고요.

  • 아침에 두시간 공부
  • 주말에도 공부 + 알고리즘 테스트
  • 부족한 전공 지식을 쌓기 위한 온라인 수업

결국, 신입으로 한 번, SI 회사에 다니면서 두 번 추가 지원한 끝에 자체 서비스를 하고 있는 포털 회사인 줌 인터넷으로 이직할 수 있었습니다.

💻 개인 파일럿 프로젝트

자체 서비스를 하고 포털 회사 줌 인터넷으로 이직을 했을 때 경험

  • 2주 동안 개인 파일럿 프로젝트로 혼자의 힘으로 질문하지 않고 서비스를 만들어 보는 과제

다 만들고 나서 모든 개발자가 모인 데서 한 세 시간 정도 코드 리뷰를 받았습니다. 그동안은 제가 만든 기능이나 화면으로 평가를 받았는데, 줌에서는 철저하게 코드만 놓고 평가하더라고요.

이 코드로 발생할 수 있는 문제가 무엇인지, 좋은 코드는 무엇인지에 관해 굉장히 집요하게 리뷰해주셨고요.

그때부터 공부하는 방향이 많이 바뀌었는데요. 화면을 빨리 만드는 건 당연히 갖춰야 할 덕목이고, 빨리 만들면서도 어떻게 하면 더 확장성 있는 구조로 개발할 수 있을지 공부하게 됐던 거 같아요.

🚚 배달의 민족에서 경험

하루 주문건이 100만 건 > 정산 시스템 5분 정도 소요 되도록 구조를 변경

  • 제가 처음 배민에 왔을 때, 하루 주문 건이 15만 건 이었어요. 그 당시 정산 시스템 같은 경우에는 처리하는 데에 16시간 정도가 필요했어요. 한 번이라도 실패하게 되면 32시간이니까 하루가 지나가버리는 상황인 거죠. 근데 그 시스템이 원래부터 그랬던 건 아니었어요.

  • 원래 처음 만들 때는 정산이 5분, 10분 만에 끝나는 시스템이었는데 주문이 점점 늘어나면서 15만 건이 되었을 때 16시간 정도가 소요되는 그런 시스템이 되었어요.

그럼 그걸 완전히 갈아엎어야 되는 상황이 온 거죠

  • 여기서 중요한 게 그때 했던 방식을 조금만 개선해서는 16시간이 10시간이 될 수는 있는데 다시 5분으로 돌아갈 수는 없거든요

그러면 새로운 기술, 새로군 구조, 새로운 그림으로 다시 만들어야 되는데 그 전에 했던 방법대로 해왔으면 해결할 수 없는 문제였던거죠

업무시간에는 당연히 현재 회사에서 써야 되는 기술들을 열심히 하는데 그 외 남는 모든 시간에는 언제 전쟁의 판도가 바뀔지 모르니까 다음에 꼭 필요한 기술들에 대해서 좀 더 많이 개인 시간에 공부를 하고 있고요.

  • 지금은 하루 주문이 100만 건이 넘는데, 100만 건이 넘는 주문을 처리하는데도 5분밖에 걸리지 않는 그런 시스템으로 완전히 구조를 바꿨어요.

기존의 시스템에서 사용하지 않았던 기술들을 전부 다 적용을 했었고요. 그게 안정적으로 돌아가기 위해서 더 많이 개인 시간에 공부를 했습니다.

💬 잡담이 경쟁력

잡담이 경쟁력이라고 해서 옆에 자리가 있으면 항상 그 옆에는 의자를 꼭 둬야 돼요.

개발을 하다가도 누가 와서 물어보면 대답을 해줘야 되거든요. 오히려 핑퐁이 더 빨리 되어서 좋았고 바로 가서 물어보고 답변 바고 바로 제일 하고.. 빠르게 피드백 받는 것이 훨씬 생산성이 좋구나라는 생각을 좀 많이 하게 됐어요.


📝 기억보다는 기록을

블로그 타이틀은 저를 나타내는 가장 좋은 말"

제가 머릿속에 있는 것들 혹은 남들이 얘기했던 것들이 결국 기록하지 않으면 나중에 흐트러지더라고요. 저는 사실 세미나를 가서도 전부 다 속기사처럼 타이핑을 하고 있고, 오늘 회사에서 있었던 일도 블로그에 정리를 하고 있고, 내가 공부했던 것들 혹은 회사에서 해결했던 문제들, 내가 앞으로 하고 싶은 것들 하다못해 개인적인 잡담까지도 전부 다 기록을 하고 있어요.

그런 기록들이 계속 쌓이고 있고 그 기록들이 나중에 저를 표현하지 않을까라는 생각이 들고요.

🌱 1일 1커밋

쉬지 않고 계속해서 업무시간 외에도 개인적인 공부를 하고 있고 사이드 프로젝트를 하고 있다는 지표

제가 나중에 뒤돌아봤을 때는 "내가 그래도 꾸준히 이렇게 해오고 있다" , "앞으로도 이걸 하고 싶다" 그런 생각을 들게 만들어서 일단은 쉬지 않고 공부하게 만드는 주 원동력이었던 것 같고요.

하루에 그냥 80% 정도의 목표치만 정하고 그 정도 달성하고 나면 나머지 20%는 제 마음대로 시간을 써요. 사실 크게 스트레스 받지 않고 번아웃이 안 오는 것 같아요.

🏹 개발 실력

제가 생각하기에 개발 실력이 좋다라는 것에는 두 가지 유형이 있는데

  • 첫 번째로는 사냥개와 같은 집요함이 있는 분들이 계세요.
    끝까지 물고 넘어져서 결국 어떻게든 해결을 해서 결과물을 가지고 오더라구요.

  • 두 번째는 글 잘 쓰시는 분들처럼 코드를 작성하시는 분들이 계시더라구요.
    당연히 있어야 될 것들이 당연한 위치에 당연하게 있게 만들어주시는 분들이 계세요.

혼자 일하는 게 아니고 수십 명, 수백 명 같이 일하는데 그 사람만 알아볼 수 있게 작성하는 게 좋지는 않더라고요. 진짜 누구나 알 수 있게 누구나 이해할 수 있게 코드를 작성하는 사람의 수가 생각보다 많지 않더라고요.

🎯개발 실력

목표라는 건 내가 경험해 본 범위 내에서 나오는 게 목표더라고요.

예전에는 목표를 정하는 걸 되게 좋아했어요. 일단은 그렇게 목표를 정하고 한 눈 팔지 않고 끝까지 달리는 게 되게 중요하다고 생각했었어요. 그렇게 달성하는 게 저한테는 성취감을 많이 주니까요.

근데 이게 생각해 보니까 목표라는 건 내가 경험해 본 범위 내에서 나오는 게 목표더라고요. 그러니까 내 경험 밖의 무언가가 벌어지려면 목표가 있으면 안 되더라고요. 왜냐면 목표를 정하면 다른 데를 안 쳐다보니까 내가 생각한 그 길 밖에 못 가더라고요.

💪 한번 해 보자

일단 저지르는 게 되게 중요한 것 같아요.

이것저것 재면 사실 시작도 못할 때가 되게 많잖아요. 예를 들어서 1일 1커밋도 마찬가지인데 그냥 뭐 계속하지 뭐 별 의미를 안 두면 괜찮더라고요 그냥 한 번 해보자라고 하다가 1년 정도 유지되면 그때부터는 눈덩이 굴러가듯이 가만히 있어도 잘 굴러가는 것처럼 습관이 되는 거고...

다 그렇게 "그냥 한 번 해보지 뭐" 라는 마음으로 시작했던 것들이 결과적으로 좋은 성과가 있었던 것 같아요.

profile
#의욕넘치는#💻#✨#FE#💪🏻

0개의 댓글