2022년 신입 FE 개발자 회고 (hello world부터 서비스 런칭까지)

신원규·2022년 12월 31일
3
post-thumbnail
그... 분명히 3월달에 적기 시작했던 글이 정신 차리니 2022년이 지나버렸네요. 
더이상 얼래벌래 살다보면 이 글은 영영 투고를 못할것 같아 열심히 작성해봅니다.

2022 년 한해 동안에는 사회도, 저 개인적으로 정말 큰 변화가 많았었던 해였습니다.

완벽하진 않지만 나름 열심히 살아보려 노력하며 나름의 성과를 얻은부분도
또한 이전에 알았다면, 조금더 노력했었다면 이룰수 있었던 아쉬운 부분또한 많아 정리해 봅니다.

한 해 동안의 큰 이벤트들.

1. 2021 년 12월 말에 소집해제(전역) 을 했습니다.

이전의 목표는 전공인 물리학을 살려 대학원을 진학해 연구직종을 생각했으나, 실제로 연구실 인턴생활을 하다 보니 적성에 맞지 않는다는걸 알게되었었어요.
실험과 공부보다는 실험을 편하게 하기 위한 스크립트를 짤 때 오히려 더 흥미가 있었던걸 눈치챈 뒤, 본격적으로 개발직군으로 취업을 결심하고 관련 공부를 시작했었어요.

정말 아는게 하나도 없었서 뭘 공부해야하는지, 잘 하고있는지, 많이 막막했었지만 학원이나 부트캠프는 생각하지 않고 독학으로 준비를 시작했었습니다.

긴 실험실 인턴생활을 통해 야생학습에는 자신이 있었거든요.
물론, 맞아보기 전의 자신감이긴 했었습니다...

2. 2022 1월 ~ 2월 동안 원티드 프리온보딩 과정을 수강했었습니다.

원티드와 위코드 부트캠프에서 주최하는 알고리즘 이외에 개발직군으로서 일하기 위해 알아야 하는 지식이 훨씬 더 많은것을 알게되었어요.
또한 개발자로 '일'을 한다는게 어떤 느낌인지에 대해 미리 경험해볼 수 있었던 기회였어요.

따로 부트캠프나 학원을 다니지 않았었던 저에게는 큰 도움이 됬었던 교육이였습니다.

3. 5월 현 직장으로 입사, 동시에 매인 기술 스택을 flutter 로 변경.

주 언어도, 기술도 준비했었던 분야와 다른 직무에 근무하기로 결심했었던 가장 큰 이유는 4~5월 즈음 스타트업 업계와 개발자 시장의 고점이 왔다 생각이 들었습니다.

반년에서 1년을 더 준비 하면 빅 태크 기업또한 사정권에 들어올 수 있을것 같았지만,
만약 제 걱정대로 시장의 불황이 온다면 1년 뒤에는 신입 공채가 진행되지 않을수도 있을것 같다는 위기감이 강하게 들었습니다.

입사 이전에는 정말 걱정을 많이 했었는데, 기대보다 너무나 좋은 팀원들을 만나게 되어 즐겁게 근무하고 있습니다.

4. 12월 앱 출시.

5월에 입사해, 한달간 온보딩을 거친 뒤 12월 출시까지는 정말정말정말 x 100 많은 일이 있었습니다.

기획이 출시 3달전에 완전히 엎어져서 거의 처음부터 다시 만들어야 한다던지...
당장 다음주 출시인데 api endpoint가 아직 다 안뚫려있다던지...
flutter 의 트러블 슈팅은 물론, 빌드 오류와 안드로이드, ios 네이티브 영역에서의 트러블 슈팅 등등...

꽤나 고생을 많이 했었고, 체력적으로도 정신적으로도 상당한 강행군이였지만, 의지할 수 있는 동료분이 있어 해낼 수 있었습니다.

촉박한 기일 때문에 앱의 완성도가 아직 많이 부족하지만, 그래도 기대 이상으로 매출이 발생중이고, 아직 치명적인 오류는 발생하지 않아 그나마 내가 1인분은 해 냈구나 안도하고 있는 중입니다...

지난 해 동안 작업했었던 부분들.

복잡한 상태와 조건을 가지는 상품 검색 로직과 뷰를 작성하였습니다.

Steam(JS 의 언어로는 Observable) 을 이용해 상태를 관리 하도록 설계를 하면,
실 작업 이전에 요구 사항을 분석은 FSM 을 그대로 코드로 옮길 수 있는 장점이 있습니다.

이 당시에는 아직 bloc 의 상태관리 인터페이스들이 익숙하지 않아, 조금 더 단순한 형태로 직접 구현하며 FE 의 비동기 상태 천이에 관해 꽤나 많은 지식들을 얻을 수 있었습니다.
(이 부분은 차후 예제 코드를 작성해, 따로 포스팅 할 예정입니다!)

L1 - L2 Cache 를 구현했습니다.

disk 와 memory 의 level 을 가지는 캐시를 직접 구현하였습니다.
전략 패턴, cache invalidation, eviction, 등 중급 주제를 공부하고 작성해볼 기회였습니다.

서비스의 결제 flow를 관장하는 모듈과 뷰 로직, 뷰를 작성하였습니다.

기술적인 난이도는 그리 어렵지 않은 피쳐였지만....
혹시라도 장애가 발생하면 서비스에 치명적인 영향을 끼칠 수 있기 때문에, 각종 예상하지 못하는 유저 flow을 가정하고, 테스트 케이스를 잘 나눠 검증하고자 노력을 많이 했습니다.

그 노력때문인지, 다행이 런칭 후 현 시점까지 결제 관련해서 치명적인 오류는 발생하지 않았습니다.

정리하자면, 2022년에는 아레와 같은 경험을 했고

  • async, callback, stream listen 등, 비동기에는 이제 능숙하다고 말 할 수 있다.
  • TDD 에 익숙해졌다.
  • Clean archtecture와 MVVM 패턴에 익숙해졌다.

아래와 같은 목표를 가지게 되었다.

  • 오픈 소스 컨트리뷰터에 도전해보자.
  • 블로그 포스팅을 꾸준히 시도해보자.
  • 오프라인 스터디를 기획해보자 (Core CS 주제로).
profile
생존형 개발자. 어디에 던져져도 살아 남는것이 목표입니다.

0개의 댓글