스타트업에서 경험한 모든 것에 대한 회고

버들·2023년 9월 4일
0

Experience

목록 보기
1/5
post-thumbnail

오랫만입니다

약 두 달 좀 안되게 블로그를 작성하지 않았던 것 같다.
변명 아닌 변명을 해보자면 좀.. "응, 바빴다!"
약 5개월의 구직 기간을 가진 것이 빛을 본 것 마냥, 좋은 기회를 얻게 되었고, 좋은 곳에 취직을 하게 되었다.
생각보다 내게 주어진 책임이 막중했으며, 그것을 지키기 위해 모자란 실력을 빠르게 성장시키기 바빠서 다른 일을 쳐다볼 생각조차 못하였다.
(물론 이 뿐만이 아니라, 이사에 예비군에 집 계약 건에 대한 크고 작은 문제들이 많이 발생한 것도 원인이기도 하다.)

무튼 이번 포스트는 약 2개월 간의 초기 스타트업에서 경험했던 모든 것을 정리해보는 회고글을 작성하려고 한다.

아, 그리고 이 참에 회고 관련 포스트들을 따로 그룹을 지어 관리를 하고 싶은데, 유머러스한 이름이 떠오르지 않아서 고민이다. 댓글로 추천을 받아요!


초기 스타트업에 도전하다

나도 스타트업에 대한 정보는 2년전에 위의 드라마를 통해서 알게 되었다. 이때는 그냥 개발자의 삶을 다룬 이야기였거니 생각하고 봐가지고 아무런 감정도 없었는데, 점차 스타트업의 세계에 많이 접하게 되니 이전에 봤던 드라마가 이해가 되기 시작했다.

일단 내 스타트업에 대한 시작점은 이러하고, 깊게 접하게 된 계기를 아래에서 말해보려고 한다.

EO와 그룹바이

일단 먼저 EO는 스타트업계의 사람들의 인터뷰를 주된 컨텐츠로 올리는 유튜브 채널이다. 링크는 요기 있다.

스타트업에서 여러 분야의 뛰어난 사람들 혹은 서비스를 알게 되고, 그들의 이야기에 공감보다 더 나아가 이제는 갈망하고 있다는 생각도 가지게 된 큰 계기라고 생각한다.
정말 다양하고 대단한 사람들의 이야기가 많으니 스타트업에 관심이 없더라도 한번쯤은 보게된다면 커리어적으로도 방향성을 잡는데 조금이나마 도움을 줄 수 있다고 확신한다.

그리고 그룹바이는 이전에 마루180, 360에서 열리는 오프라인 스타트업 채용설명회를 통해서 참여했던 경험을 이전 포스트에 적었던 적이 있다.
스타트업들 중, 10에 9은 망한다는 이야기가 있는데, 그 중 1을 찾아서 채용 등의 진행을 도와주는 플랫폼이다.
여기서 보이는 스타트업들 또한, 정말 그동안 생각하지도 못했던 혹은 앞서 나아가 세상의 비즈니스 문제를 해결해주는 기업들이라서 더더욱 흥미가 갖게 되었던 계기가 되지 않았을까 싶다.

그리고 나는 이 그룹바이라는 플랫폼을 통해서 초기 스타트업의 프론트엔드 개발자 직무에 지원을 하여 합격에 이르는 결과까지 얻게 되었다.

똑똑한 사람들이 모이는 집단

스타트업의 투자에 따른 변화

맨 상단의 썸네일에 올린 이미지는 이번 문단에서부터의 이야기가 뒷받침해주게 된다. 먼저 기업의 잘못이 아니라 내 자신의 성격적인 문제가 가장 큰 원인이므로 지금 상단의 글을 보고 섯불리 생각하지 않으셨으면 좋겠다.

우선 스타트업은 기본적으로 '생존'이 목적이며, 이를 달성하려면 '폭발적인 성장' 필수불가결이다.

이건 원래 스타트업의 글들을 보면서 알고 있었지만, 몸소 느끼게 된 것은 처음이다. 특히 초기 스타트업은 더 이러한 것 같다.

보통 초기 스타트업이라 하면 투자 유치 이전부터 시리즈 A 쯔음이라고 하는 것 같다. 애시당초에 투자유치를 얼마나 이뤘느냐에 따라 런웨이 확보, 혹은 사업의 확장 (aka 인재 보충)을 가능케 할 수 있는데, 대부분의 Seed 단계에서의 투자 목적은 전자인 런웨이 확보이다.

하지만, 내가 속했던 팀은 이미 Seed 이전에 자사 순수익을 통하여 런웨이를 충분히 확보를 하였으므로 후자인 기업의 성장을 꾀했던 것으로 이해를 하였다. 그 덕분에 내가 이 대단한 집단에 기회를 얻게 된 것이기도 하구.

시간과 공간에 제약을 받지 않는 사람들

이전에 얼웨이즈 라는 기업의 근무 환경에 대해서 설명회 같은 곳에서 들어본 적이 있다. 이곳도 얼리얼 단계이기 때문에, 주 6일 출근에 정말 몰입해서 개발을 진행하여 빠르게 팀을 성장시키는 것을 목표로 한다고 했던 것으로 기억한다.

그래서 솔직히 이번에 가게된 스타트업 또한 그런 구조이면 어떡하지라는 생각이 이 생 신입의 머릿속에 여러번 방문하기도 하였다.

그러나 생각과는 다르게 유연한 근무를 기반으로 자유롭게 시간을 사용하는 팀원들을 볼 수가 있었다. 정말 자유롭게 어느 환경에서든 작업을 할 수 있으며, 자신의 일을 어느정도 끝냈다면 하루에 8시간이라는 딱딱함과는 다르게 퇴근하여도 좋고, 추가로 부족한 것이 있다면 집에서 하여도 OK 였다. 정해진 기간 내에 할 일을 다 마칠 수만 있다면 말이다.

실제로 해외에 나가서 (이건 내가 직접 보진 못했다), 혹은 부산 등의 지방에 내려가서도 업무 및 google meet을 통하여 미팅을 주도하시는 팀원분들도 볼 수 있었다.

그만큼 정말 업무에 몰입만 할 수만 있다면 그 무엇도 가능한 것처럼 보이는 MZ 스러운 곳이었다.
물론 사람들도 그러하구

빠른 성장을 위한 빠르고 정확한 개발

앞서 말한 것처럼 스타트업, 그리고 초기 스타트업은 정말 빠르게 성장해야만 한다. 그렇게 되면 개발 또한 빠른 배포를 위해 목표를 타이트하게 잡고 진행하게 된다.
그리고 이 진행과정들을 주 단위로 스프린트라는 개념으로 묶고, 그 스프린트에 해당되는 목표를 할당하게된다. 그리고 스프린트가 끝나는 날에 회의를 통하여 한 주의 목표를 얼만큼 달성했는지, 또한 그 진행과정 속에서 여러 피드백 및 다음 목표를 위해 이야기 등을 스쿼드 팀원들과 공유하게 된다.

이 과정에서 깨달은 부분

그동안 혼자서, 그리고 부트캠프에서 공부하게 되면서 결과물들을 여럿 만들어보고 나름 잘 만들었다는 이야기도 들었었다.
하지만 실무에서 요구되는 역량은 내가 그동안 쌓아왔던 것이 잘못되었다는 것을 알게 되었다.

위의 펭수가 하는 것처럼, 빨리빨리 쳐내는 것을 목표로 처음에 작업을 진행하였다. 그 차주에 다른 개발진 분들의 피드백을 듣기 전까지는 말이다.

그동안 했던 내가 했던 개발은 맹목적으로 생존식 코딩이였던 것이다. 그중에 가장 큰 예는 CSS 다.

위의 사진을 예로 설명해보겠다. 밑의 hydrate 과정은 무시하고 전체적인 레이아웃들이 쌓여가는 것을 보자. 원래 내가 짰었던 코드는 relative 값이 아닌 absoulte 값으로 컴포넌트들을 화면의 요구사항에 맞춰 갔었다. margin 값으로 위치를 조정하고 flex 를 남발하면서 말이다.
그러다보니 디바이스 크기가 조금이라도 달라지면 각 컴포넌트끼리 충돌하여 깨지기 망정이였으며, 유연한 개발이 힘들어졌다.
사실 정답은 블록 쌓기 처럼 깨지지 않게 쌓아가는게 정답이다. relative 속성을 통하여 위에 있는 block 들이 쌓여가는 형태로 margin으로 간격을 조절하지 않아도 알아서 위치가 조정되게 하는 것이다. 또한 padding으로도 바로 여백을 만들어 줄 수 있어서, margin 보다는 padding을 자주 사용했다.
아, 물론 고정된 위치는 absoultefixed로 포지션 값을 지정해주거나 margin을 통해서 세세한 위치를 잡아주는 것은 올바르다.

그리고 flex 속성.. 그동안 했던 방식에서는 크게 잘못된 부분은 없었다. 양 옆으로 갈라진 부분은 display: flex 와 함께 space-between 으로 찢는(?) 작업을 했었는데, 이 곳에서는 flex 자체를 활용하여 비율을 통해 양 끝만이 아니라 원하는 방향으로 child 들을 위치시켜주는 것을 보고, 정말 방법은 많지만 더 효율적인 방법을 선택하기 위해서는 이러한 것들도 익숙해 져야된다는 생각을 가지게 되었다.

그 밖에도 좀 많지만, 조만간 하게 되는 프로젝트나 외주작업에서 최대한으로 써보면서 복기도 해볼 예정이라 이 회고 글에서는 여기까지 적겠다.

위기

아무튼 빠르게 성장했다

위의 단락처럼 베이직한 문제를 받아들이고 빠르게 개발하는 동안 그동안 잘못되었던 코드를 고치고 올바른 방식으로 작성을 해나가야 했었다.
뭐 여담이지만, 생각보다 빠르게 내 못된 코드를 빠르게 고치고 버릇도 고칠 수 있었다. 어느 시니어 개발자분이 하셨던 말씀 중에, 무언가를 빠르게 고치고 싶으면 혹은 빠르게 배우고 싶다면 그 부분에 시간을 밀도있게 활용을 하면 된다 라고 하신 것이 생각난다. (사실은 속된 말로 시간을 박아라 라고 하셨지만 ㅎ)

그래서 상대적으로 정말 많은 시간을 개발에 집중하였다. 그렇기에 빠르게 적응하여 안좋은 버릇을 빠르게 고칠 수 있었지 않았나..!

또한 결론적으로 css 쪽 뿐만 아니라 문제 해결 능력도 이전에 비해서 실무적인 관점에서 많이 성장한 것 같다.

그렇지만 팀에는 부족한 퍼포먼스 속도

프로젝트 초반부터 프론트엔드의 전반적인 부분을 담당하여 기획부터 스텍 선정에 이어, 레포를 열어서 프로젝트 설치 등의 시작 또한 스스로 할 수 있는 권한을 부여받았다.
처음에 서비스의 특성 및 개발적인 성장을 위해 Next, Typescript, Recoil, React-Query 등의 기술을 채택하여 프로젝트을 생성하였다. 아, 물론 서비스 특성상 데이터를 즉각적으로 처리하는 부분들이 있어 SSR을 사용하면 사용자 경험이 나아질 것이라는 판단 때문에 스택을 선정한 이유도 크다.

너무 요즘 쓰는 스펙을 무리하게 사용하는 경황이 있지 않느냐는 우려도 충분히 나올만 했지만, 이전에 충분하게 사용해 본 경험과, 공부 등을 꾸준히 한 사실을 블로그를 통해 팀원들이 알고 있었기에 무리없이 적용할 수 있게 되었다.

하지만 이러한 기술들 또한, 기존의 프로젝트에서 해왔던 작은 스코프와 무언가를 경험해 보자는 의의에 중심으로 사용된 생존형 코딩이 적용되었던 것이었다.

실무에서 요하는 서비스를 만들기 위해서는 모든 상황을 고려해야했고, 이 또한 스프린트 기간에 맞추기 위해서 최선을 다해 빠른 퍼포먼스를 보여줘야만 했다.

역시나 혼자서 이에 대해 확신이 없으니, 생각을 깊게 하게 되고 그러다보니 점점 속도가 더뎌지게 되었다.

나에 대한 신뢰가 없다

코드를 작성하다가 문제가 발생하는 일이나, 원래 잘되다가 갑자기 에러가 발생하는 일들은 나뿐만이 아니라 다른 분들도 경험해본 흔한 경험이라고는 하지만 그때 당시 나에게는 특수하게 적용이 되었던 것 같다.

개발하는 동안에 어느 순간부터 불안이 찾아와버렸다.
'내가 지금 개발하는 방식이 정말 추후의 개발에 문제가 발생하는 코드면 어떡하지?'
'지금은 에러가 나지않게 이렇게 수정했지만 정말 옳게 수정한 것일까.. 이것도 어떻게 보면 보여주기식 코드짜기이면 어떡하지?'
등의 불안감이 엄습해왔다.

심지어 은근히 많은 고민을 하여 여러 레퍼런스를 참고하여 개발을 진행하여도, 나조차 내 코드를 못 믿는 상황이 많이 찾아오게 되었다.

안타깝게도 현 회사에서는 프론트엔드에 대해 깊게 알고 계신 백엔드 개발자분들이 안계셔서 무언가 조언을 구하기도 애매한 상황이었다. 그래도 같은 직군의 사수가 없다는 것에 안주하지 않고, 나 스스로 그동안 잘 해결해 왔으니 이번에도 똑같이 해쳐나가면서 내것으로 만들자는 마음가짐으로 최선을 다해 문제들을 해결하며 서비스의 완성에 기여를 해나갔다.

커리어리, stack overFlow, 구글링, chatGPT 등 여러 방법을 활용하여 문제나 궁금한 부분들을 해결해 나갔다. 물론 시간이 생각보다 많이 걸리는 문제도 생기게 되었다. 그래도 무언가 스스로 해결해나가고 그 기능을 바로 우리 서비스에 적용을 한다는 것에 흥미를 얻게 되는 긍정적인 효과도 누리게 되었다.

그런데 구글링 같은 경우는 대부분 블로그들을 참조하게 되는데, 막상 우리 서비스에 넣으려고 하니 이게 정말 실무에서 적용해도 되는지 의심이 되는 순간들이 여럿 생기게 되었다.
이 부분은 백엔드 경력자 분께서 현업에서 오픈되어있는 레포지토리를 참고하면 큰 도움이 될 것이라고 방향성을 제시해주셔서, 무언가 빛을 찾은 느낌이었다.

리디나 샌드버드를 팔로우 해놓고 막상 해당 기업들의 프론트 코드를 어떻게 작성하는지 깊게 해부해보지 않았다는게 크게 아쉬웠던 시기기도 했다. 만약 그 곳들의 코드 짜는 방식을 어느정도 이해하고 참고했었더라면, 사수가 없다고 해도 이렇게 나 자신에 대해 불신하는 일은 확실하게 줄고, 퍼포먼스도 처음부터 많이 좋게 발휘되지 않았을까?..

신체적, 정신적 한계가 찾아오기 시작했다

신체적 한계

위에서 많은 시간을 개발에 할애했다고, 갈아넣었다고 했었는데 그에 대한 대가(?)가 찾아오기 시작했다. 매일 3~4시간씩 자고 어떻게서든 모니터앞에 붙어서 스프린트를 해결하려고, 중간에 발생긴 문제에서 벗어나보려고 노력했다.

만약 이렇게까지라도 안했으면 정말 많이 밀렸을 것이다. 빠른 성장도 기대하기 힘들었을 것이고.

이렇게 생활한지 1달이 될 쯤에 몸에 갑작스럽게 이상이 오기 시작했다.

기본적으로 잠이 부족하면 오는 두통 등의 증상 이외에 다른 이상이 보였는데, 분명히 눈을 뜨고있다는 걸 알고 있지만 약 1초가량 세상이 전체가 암전된 듯한 느낌을 받게 되었다.
아마 이것도 피로도와 관련되었던 것 같긴한데, 최근 릴스에서 갑자기 시력을 잃게된 사람들을 보게되어서 불안함은 배가 되었었다.

다행히 안과에서는 피로도가 너무 높아서 눈에 혈류가 돌지 않아 기능을 못하기에 나타나는 이상증세라고 한다.
생각을 다시 해보면 다행이 아닐지도 모른다. 좀 오버를 더하면 왜 과로사가 일어나는지 간접체험을 해본 것 같다는 느낌도 든다.

개발자로 롱런하려면 내 스스로의 컨디션도 어느정도 하한선까지 경계를 두고 관리를 해야된다고 생각한다.

사실 18시간을 개발하여도, 능률이 너무 많이 떨어져서 작업률로 보았을 때에는 크게 뭔가를 했다고 느껴지지 않았기도 하였다. 여기까지가 그동안 느껴본 신체적으로 과부하가 온 부분이다.

정신적 한계

근데 이건 내 능력 부족이 가장 큰 시발점이긴하다.
누군가의 신뢰를 받아서 한 명의 팀원으로 인정받으려면 마땅히 주어진 업무를 충실히 다하여 프로덕트 및 팀원들에게 도움이 되야된다고 생각하는 사람이다 나는.
그런데 막상 혼자서 프론트엔드를 전부 밀고나가다 보니 능력적으로 한계가 다가오게 되었고, 빠르게 실력이 성장하게 되었다해도 팀이 목표로 했던 expire date까지 계속 밀릴 것이라는 생각이 들자 스스로가 너무 한심하고 비참해보이기 시작되었다.

점점 신뢰를 잃어가는 거짓말쟁이가 되어버린다는 생각에 자존감은 정말로 나락 끝까지 떨어지는 느낌이었고, 더 나아가 정말 내가 계속 여기에 존재해도 되는 사람인지 되돌아보게 되었다.

물론, 신입이라서 주어진 책임과 권한이 너무 많아서 혼자서 못쳐내는 것이 당연하다고 생각이 들 수도 있지만 애시당초에 이 팀에 해당되는 똑똑한 팀원이 되지 못한 내 자신부터 탓하기 시작하였다.

이게 진짜 입밖으로 나오게 되는 것은 첨이긴 했다 ㅋㅋ (물론 주말에 집에서 일하면서 내뱉은거라서 이불킥은 면했지만 말이다)

현재는 어떠한가요

이러한 문제들에 부닥치자, 문득 이런 생각이 들었다. 물론 정말 빠르게 성장을 하고 있고 프로덕트의 30% 이상을 내 힘으로 만들어냈기는 하나, 팀이 더나아가 회사가 생각한 목표를 이루어내는 정말로 중요한 프로젝트였고, 이 마감기한을 맞추고 QA에서 배포까지 빠르게 이루어내기에는 역시나 딜레이될 것이라는 것을 나 스스로가 냉정하게 생각하고 있었다. 나는 자기객관화가 잘 되어있는 편이었거든.

또한 몸과 정신에 이상증세를 느낀지 오래였으며, 과연 내가 나 자신으로써 존재할 수 있을까라는 의문을 가지게 되었다.

그래서 나에게 닥친 문제를 해결해보려고 찬찬히 되짚어보는 시간을 가지게 되었는데, 도출한 내용은 다음과 같다.

  • 내가 짠 코드에 자신이 없다. ->
    무언가 검증하고, 실무에서 쓰는 코드를 복기를 할 시간이 필요한데, 막상 나 때문에 밀린 일을 내가 빠르게 처리하려고 안간힘을 쓰게되니, 위의 내용을 학습할 시간과 온전히 집중할 수 있는 여유가 턱없이 부족하다.
    개발 도중에 지속적으로 발생하는 모르는 부분을 스스로 어떻게해서든 해결하면서 expire date를 마칠 자신이 없다는 것은 실무에서 요하는 베이직한 부분을 좀 더 보강해야된다고 생각한다.

  • 몸과 마음이 너무 힘들다 ->
    이 역시 위의 일련의 내용들에서 나타낸 것처럼 모든 것은 현 포지션에서 맡은 업무를 혼자서 쳐낼 수 있는 준비가 부족해서 생긴 일이다. 이곳에서 경험하고 깨달았던 부분을 빠르게 집중해서 복기할 시간을 가지면서 스스로를 돌보는 시간이 필요하다.

그래서 팀원들과 상의하여 내 자신이 더이상 스스로가 거짓말쟁이로 느껴 부담감 속에서 살아가는 것을 이야기하고 약 2달 남짓된 기간동안 프론트엔드 직무에서 내려오는 것으로 결정되었다. (즉 퇴사했다는 뜻임)

아직도 너무 아쉽기도 하다. 내 손으로 빚어 만든 아이가 끝까지 사람들에게 소개되는 모습을 보지 못하고 나온 부분이 가장.

그래도 내가 기여한 30% 가량의 부분이 세상에 나올 프로덕트에 적용이 될 수 있게, 내 이후로 채용될 경력 프론트엔드 개발자 분이 잘 활용할 수 있게, 최대한 주석 및 readme를 퇴사 후에 작성하게 되었다.

앞으로 내가 무엇을 먼저 보강하고 경험해야하는지 뼈저리게 느꼈으니 그 부분을 공부하면서 다시 새로운 도전을 하지 않을까 싶다!
그래도 다신 없을 정말 소중한 사람들과 경험을 체험한 것으로 만족하며 이 회고글을 마치려고 한다!

profile
태어난 김에 많은 경험을 하려고 아등바등 애쓰는 프론트엔드 개발자

0개의 댓글