근황 및 나름의(?) 각오

이동훈·2022년 12월 26일
0

일기장

목록 보기
7/7

Introduction

안녕하세요~ 개발자 이동훈입니다. 너무 오랜만에 글을 쓰려하니 생각만 많아지고 글로 잘 표현이 되지 않네요. 사실 요즘 개발 블로그 혹은 인생 블로그에 그다지 글을 쓰고 싶지 않아서 velog를 잘 찾지 않게 되더라구요. 글을 쓸 시간이 없다라기보다는 무언가 제 글이 허공에서 흩어지는 의미없는 외침이 되는것 같아서 의지가 생기지 않더라구요. 그러다가 친구들과 연말 송년회중 친구 중 한명이 제 블로그 재미있게 읽었는데 요즘 왜 안쓰냐고 농담을 했는데 그 말이 너무 반가웠습니다! 내 글을 읽는 사람이 있구나 ㅎㅎ. 그래서 겸사겸사(연말 + 부러졌던 손목이 많이 좋아짐) 2달동안 글을 주기적으로 써보려고 합니다. 딱 2달이라고 정한 이유는 2월 10일날 대만 여행을 가기 때문에 그 전에 목표를 딱 잡고 삶을 살아보려고 합니다. 하고 싶은것이 여러 가지가 있는데 그 중 하나가 블로그에 글 쓰기입니다!! 글을 다시 쓸수 있게 자극을 준 친구에게 고마움을 표하며 오늘은 B2C 스타트업 6개월 후기를 작성해보려고 합니다.

본문

제 글을 읽어보신 분은 아시겠지만 제거 이전 직장인 크래프트테크놀로지스(이하 크래프트)를 떠난 이유는 개발자로서 성장 욕구와 B2C 서비스에 대한 호기심이었습니다. B2B개발을 했던 크래프트에서 많은 것을 배웠지만 B2C서비스를 경험하지 않는 이상 실무에서 사용할수 없는 언어/스택들을 경험을 해보아야 개발자로서 한단계 더 성장할수 있다는게 제 믿음이었습니다. 그럼 B2C 스타트업으로 이직한 후 6개월이 지난 지금 저는 과거의 제게 어떤 말들을 해줄수 있을까요?

  1. 프로그래밍 언어는 결국 파고 드는 자가 더 잘 알 수밖에 없다. B2C서비스에서 주로 사용되는 언어가 있고 그 언어들이 업무의 일 부분이 아니면 개인시간에 깊게 공부하기 쉽지는 않습니다. 다만 언어를 만드는 단계(예를 들어 컴파일러)를 다루는게 아니라면 언어를 공부하는건 그저 열심히 공식 문서 찾아보고 파고드는 수밖에 없습니다. 물론 주변에 훌륭하신 개발자가 있다면 조금 더 쉽게 질문을 할수 있지만 결국 시간이 지나면 시간을 써서 꼼꼼하게 들여다 본 사람이 더 많이 알게 됩니다. 그리고 생각보다 한 언어를 얕게 이해하는건 오래 걸리는 작업이 아닐수 있습니다. 제가 얕게라고 포함하는 이유는 간단한 언어조차 컴파일 되기까지 이런저런 단계가 있기 때문에 일반적으로 언어로 서비스를 만드는 "사용자로써" 얉게라고 표현을 했습니다. 즉, 제 생각에 일반적으로 회사에서 요구하는 피쳐 개발을 위한 도구로서의 언어습득을 위해서는 오랜 시간이 필요하지 않습니다.

  2. 기술스택은 끊임없이 변하기 때문에 살아남기 위해서는 적응을 해야 한다. 또한 기술스택은 변하기 때문에 일정 연차를 넘어서는 연차가 실력을 나타내지는 않는다! 전, 이전 직장에서 개발자의 연차와 능력은 정비례한다고 생각했습니다. (제가 생각하는 "능력" 프로그래밍에 대한 전반적인 이해를 포함해서 알고리즘 구현, 프레임워크 지식 등 여러가지를 망라합니다). 다만 이직을 하고 알게 된 점은 일정 연차가 넘게 되면 개인이 끈임없이 노력하지 않는 한 제가 생각하는 "능력"은 크게 발전하지 않는다는 점입니다. 이는 기술스택이 빠르게 변화함에 있는데, 프레임워크들이 N년을 주기로 변하기 때문에 빠르게 다른 프레임워크에 적응하는것이 생존의 포인트이지 이미 잘 사용되지 않는 스택을 계속 파고 들어봐야 "능력" 있다고 평가받지 못하게 되는 경우가 많습니다. 그래서 연차가 많으신 "성공적인" 개발자 분들은 (물론 프로그래밍에 대한 이해가 기본이지만) 살아남은자, 즉 여러 변화에 성공적으로 적응하신 분들이라는 생각이 들었습니다.

  3. B2C 서비스에서 가치 전달이 "외부 정보 전달"에 있게 되면 외부 데이터 소스에 대해 관리 포인트가 많아지게 되며 이는 초기 스타트업 기술팀에게는 꽤 큰 부담으로 다가온다! 일반적으로 외부 데이터를 소비자에게 전달이 목적인 스타트업은 외부 데이터 소스를 여러개 연결을 하게 되는데 이 과정에서 api를 맞추는 단순 작업들이 많이 필요하기 마련입니다. 안정성 있게 서비스를 구축하게 위해서는 외부 의존성이 생기는 부분에 대해 안전장치(데이터 이중화 혹은 데이터 모니터링)가 필수적이나 초기 스타트업에서는 그런 부분을 챙길 여유는 거의 없습니다. 즉, 외부 데이터 소스가 항상 정확한 데이터를 준다는 가정을 하고 서비스를 개발하게 되는데 이는 실운영 단계에서 개발팀에게 꽤 큰 부담으로 다가오게 되고 데이터 모니터링 장치가 없으니 장애 원인을 파악하기 어렵고 해결하기도 쉽지 않습니다.

그래서?

위와 같은 점들을 새로 알게 된 지금, 저는 과연 개발자로서 성장 했을까요? 솔직히 이 점에 대해서는 명확하게 "그렇다"라고 대답하기 어려울것 같습니다. 제가 좋은 개발자의 덕목에 포함하는 가장 큰 점인 "프로그래밍에 대한 깊은 이해"의 부분에서 금년에 개인공부를 소홀히 한 면이 있어서 원하는 만큼 성장을 하지 못한것 같습니다. 그러나 긍정적으로 보자면 궁금했던 B2C서비스에 대해서는 충분히 경험을 했고 제가 보지 못했던 세상을 보았다는 점에서는 만족스러운 6개월이었습니다.
부족한 부분은 채워야 하기 때문에 앞으로의 2달동안 열심히 블로그도 쓰고 공부도 해볼 생각입니다. 개발 공부는 가능하면 무조건 블로그에 올리려고 노력할테니 많은 관심 부탁드리겠습니다 ㅎㅎ(저는 관종이 틀림 없습니다....!)
마지막으로 최근에 재밌게 본 영상을 남깁니다 https://www.youtube.com/watch?v=9vJRopau0g0&ab_channel=TEDxTalks
(요즘 여자친구랑 이야기를 하면서 깨달은 사실은 직업으로서의 개발자의 최고의 장점 중 하나는 실패가 가능한 직업이라는 점입니다. 생명을 살리는 직업의 경우 배우기 위해 "실패"라는 것이 사람의 생명과 직결되므로 어려운 반면 개발자의 경우 실패가 용납되고 이를 바탕으로 지식을 쌓을수 있다는 장점이 매우 크게 다가오더라구요...!)

profile
개발이 어려운 개발자

0개의 댓글