햇수로는 2년차, 만 1년차 개발자

Yeony (Nayeon Kim) · 2022-07-07

만 1년을 채우고 나서야 쓰는 지난 날의 회고.
나에게 묻고 답하기.

2021년

Q. 왜 개발이었나?

A. 6개월만 공부하면 취업할 수 있다는 과장 광고에 속았습니다...

농담이다. 아니 사실 진담이다. 주위 선배들은 대부분 2~3년 정도 취업준비를 하는 것 같았으니까 말이다. 나는 18살에 대학에 입학했다. 빠르게 대학에 입학한 만큼 여유를 즐기기보다는 빠르게 돈을 벌고 싶었다. 돈을 벌 수 있는 방법이야 많았지만, 되도록 취업을 하는 방향으로 소득이 있길 바랐다. 하지만 뭐... 취업준비는 도대체 무엇을 해야하는지 몰랐었다. 다들 하는 대외활동, 동아리 임원, 조장, 공모전, 어학 등의 이른바 스펙을 내 자기소개 꼬리표로 달아놓았지만 뭐, 보란듯이 4-1학기 첫 취준에서 서류탈락의 씁쓸함을 맛봤다.
서류 결과를 기다릴 때 내가 뭐라고 했냐면 "이거 하나도 안 붙고 다 떨어지면 나 정말로 개발배울거야" 라고 했다. 그렇게 개발 공부를 시작했다. 왜 하필 개발이었냐 하면, 그저 퍼포먼스 마케터를 준비하다가 전향한 사람이었기 때문이라고 말해두겠다. (난 20년도에 R을 배운 적이 있다. 당시에는 나름 코드를 쳤다고 생각했다.)


Q. 성급한 결정이라고 생각한 적은?

A. 있다.

대부분이 성급한 결정이라고 했다. 더군다나 나는 문과 중의 문과인 국문학도였다. 나조차도 사실 엄청난 확신은 없었지만, 앞서 말했듯 일단 배우고 나면 IT는 인력난이니 일할 수 있다는 말에 혹한 게 컸다. 그리고 뭐... 수험생활 한 번 더 한다고 생각하니 마음은 편안했다.

Q. 무엇을 배웠나?

A. 국비학원에서 Java와 Spring 등 백엔드 기술을 배웠다.

풀스택 개발자 양성과정 이란 과정명에 속은 게 맞다!
나는 풀스택 개발자 양성과정이라 하길래 이걸 배우면 마치 세부전공마냥 (국문과에서는 문학전공 / 어학전공 등으로 루트를 나눌 수 있다) 선택할 수 있는 줄 알았다. 아니었다. 그냥 나는 백엔드 기술만 주구장창 배웠다.

Q. 어떻게 프론트엔드 개발자가 되었나?

A. 학원 수업과 별개로 배웠다.

자바를 싫어한 건 아니었지만, 내가 css를 팀 중에서 가장 잘했다. 처음엔 의외로 좀 못하던 편이었는데, 집에서 간단한 퀴즈 풀듯이 FreeCodeCamp의 반응형 웹 파트를 꾸준히 연습했다. 그 이후 중간 세미 프로젝트에서는 전체 레이아웃 퍼블리싱을 내가 맡았고, 마지막 프로젝트에서는 모든 팀원이 나한테 퍼블리싱을 물어봤다.
내게 강점이 되는 부분을 발전시키면 좋을 것이라 생각하고, 프론트엔드를 공부하고 싶어졌다. 학원에서 JSP를 사용하면서 개인적으로 React, Vue를 배우기 시작했다. 아직까지도 가장 기억에 남는 건 Notedly 프로젝트이다. 기술 스택은 React, Styled-component, Node.js, ApolloGraphQL, MongoDB를 사용했다. Netlify에 호스팅까지 해봤다. 이 프로젝트는 실제로 책 한 권의 과정을 그대로 따라간 것이긴 하지만, 직접 개발환경을 세팅하고 학원에서 배워보지 못했던 새로운 기술을 사용했다는 점에 있어 큰 뿌듯함이 되었다. 특히 (무료 호스팅이긴 하지만) 사람들에게 내가 만들었다며 링크를 보내줄 수 있다는 점이 너무나도 맘에 들었다.


취업

21년 7월, 프론트엔드 개발자로 취업했다.

학원을 수료하는 날, 면접 제의가 왔다. 프론트엔드 3년차를 뽑고 있는 회사였는데 신입인 나를 면접에 부른 것이다. 수료식이 끝나고 바로 다음날 면접을 보러 갔고, 나는 일주일만에 바로 취업하게 되었다.
지금 생각하면 조금 다른 회사도 면접을 가봤어야 하는 것이 아닌가 싶긴 하다. 특히 나는 마케팅이나 기획 분야에도 관심이 많은 사람이었기 때문에 스타트업을 갔어도 좋았을 것 같았다. 하지만 당시 날 사로잡은 건 당시 면접관으로 계셨던 개발이사님의 한 마디였다. "입사하면 빡세게 가르쳐드릴게요." 그 한 마디에 입사를 결정했다.



2022년, 1년차의 회고 5F

1년 동안의 배움을 정리해보고자 하는 마음으로 5F 회고를 작성해본다.

Fact

At Work

  • Vue.js와 JPA로 개발했다.
  • 사용자 권한을 전역변수로 관리하였다.
  • node-sass를 사용해 반응형 웹을 제작했다.
  • 팀내 공용 개발 템플릿 작업 중 Vue 컴포넌트 제작에 주도적으로 참여했다.
    • 유지보수, 추가 기능 개발 중.
    • 컴포넌트로 만든 기능은 Table, Input, SelectBox, Form, Chart 등 자주 반복되는 프론트엔드 요소.
  • Vue 프로젝트 생성과 프로젝트 구조 정리에 참여했다.
  • 개발이사님과 페어 프로그래밍을 했다.
  • 도서 [모던 웹 애플리케이션 개발] 세미나를 진행했다. (맡은 파트는 ES6 + Vue.js + 전역 데이터 관리 + DB)
  • 사내 Typescript 스터디에 참여했다.

On My Own

  • 개발 블로그를 시작했다. (포폴 사이트를 리뉴얼했다.)
  • VueGoodTable 오픈소스에 기여했다.
  • Figma와 UI/UX 공부를 시작했다.
  • 토이 프로젝트를 시작했다.
    • Figma로 로고제작을 마쳤고, 와이어프레임 제작 중이다.
    • Vue3와 Typescript를 사용한다.
  • FreeCodeCamp 한국어 번역 감수에 참여 중이다.
  • 취미로 Flutter를 배우고 있다.
    • Flutter Extended I/O 2022에 온라인으로 참가했다.



Feeling

공부는 어려운 것, 하지만 재미있는 것.


Finding

특히 공용 컴포넌트를 제작하며 어려움이 많았다. 팀원들이 기존에 사용하고 있던 방식을 해치지 않으면서, 확장이 가능해야 하고, 이전보다 성능이 좋아야 했다.
기존 프로젝트는 산재되어있다 라고 말할 수 있을 정도로 형식이 제각각인 경우가 많았는데, 이를 일정한 패턴을 가지도록 규칙을 정립하는 일인지라 쉽지 않았다. 신경써서 개발한 부분은 이러하다.

  • stylesheet를 변경하면 한대로 스타일 적용되게 하기
  • props를 EventBus처리하지 말고 흐름을 찾을 수 있도록 하기.
  • 소스가 3번 이상 반복되면 분리해내기. 반복을 최소화
  • 지속적인 유지보수가 용이하도록 함수명, 변수명 컨벤션을 지키기
  • 백엔드와 프론트엔드가 소통할 수 있도록 하기
    1. 하드코딩을 하지 않는다.
    2. api가 만들어지지 않은 경우 api 호출부에 return 되는 데이터 구조를 백엔드가 확인할 수 있도록 더미 데이터를 만든다.
    3. api를 호출한 것처럼 vue파일에는 작성한다.
    4. api가 만들어지면 더미 데이터를 없애고 api를 호출한다.

하드코딩을 하고 api가 만들어지면 다시 지우는 방식을 전면 수정하니 빠르고 원활하게 소통이 가능했다.

Future action

  • Vue3와 타입 에러 방지를 위한 Typescript 공부
  • 자바스크립트에 관한 깊은 이해를 위해 블로그 작성, 같이 발전하기
  • 코드컨벤션 규칙 지키기
  • UI/UX 공부
  • 꾸준한 책 읽기.



Feedback

피드백은 어쩌면 올해 말 회고가 될 수도 있겠다.


1년차
2022
Loading script...
© 2022 Nayeon Yeony Kim