Home

Blog

프리온보딩 인턴쉽 1주차 과제 : 투두앱의 Best Practice

2023.08.26
11

싸피 수료 이후 ‘인턴쉽’을 매우 해보고 싶었다. 채용전환형이 꼭 아니더라도 체험형이라도 실무 경험 쌓는 측면에서 해보고 싶었는데

최근 프론트엔드 분야의 인턴 공고는 잘 올라오지도 않았고, 지원해본 몇 가지 공고는 서류부터 탈락하기 일쑤였다.

그러다가 발견한 원티드의 프리온보딩 인턴쉽!

일반적인 인턴처럼 특정 기업에 출퇴근하며 일하는 인턴은 아니지만, 무료로 들을 수 있는 강의의 커리큘럼이 좋은 점과 협업 역량을 기를 수 있다는 점에서 지원하게 되었다.

사실, 실제 실무 경험을 쌓는 인턴쉽은 아닌만큼 큰 기대는 안 했지만 생각보다 좋은 경험을 하고 있어서 1주차 회고를 적어보려고 한다.

Untitled

Pre-Onboarding = Pre + Onboarding

  • 프리(Pre) : 미리, 사전에
  • 온보딩(Onboarding) : 신규 직원이 조직문화, 업무에 빠르게 적응할 수 있도록 돕는 과정

온보딩은 어떤 기업에 처음 입사한 신규 직원 회사에 잘 적응할 수 있도록 돕는 과정이다. 즉, ‘프리’ 온보딩이란 입사 전 회사에서 일할 수 있는 역량을 기를 수 있게 도와주는 교육인 것이다!

4주 동안 기업 과제를 수행하며 기술 역량과 협업 역량 향상을 기를 수 있고, 원티드 측에서 적극적인 취업 지원을 해준다.

시작하기에 앞서 이 과정에 참여하기 위해선 사전 과제를 제출해야 했다. 사전 과제는 간단한 인증 기능이 있는 투두 앱을 구현하는 것으로 10가지의 요구 사항을 맞춰 구현해야 했다.

투두앱이기 때문에 기능적으로는 어렵지 않아서 금방 과제를 끝낼 수 있었다.

1주차 과제 결과물 링크

1주 차의 과제는 사전 과제였던 투두 앱의 ‘Best Practice’를 팀원들과 토의하여 선정 후 기존 과제를 리팩토링하는 것이었다. 처음 디스코드로 팀원들과 회의를 하는데 다들 어색하다보니 말이 없으셔서 눈 떠보니 내가 MC(?)가 되어있었다. 그러다보니 자연스레 내가 팀장을 맡게 되었고, 한번쯤 모르는 사람들 사이에서 팀장을 해보고 싶었기 때문에 만족스러웠다!

Best Practice를 선정하기 위해 토의를 하며 모두의 공통된 관심사를 좁힐 수 있었다.

  1. View와 Business Logic의 분리
  2. 가독성과 재사용성이 높은 코드
  3. 컴포넌트의 재사용성
  4. 서버와 동일한 데이터 보장

이러한 기준을 바탕으로 선정된 Best Practice는 아래 크게 4가지였다.

  1. Context API의 사용하여 비즈니스 로직 분리
  2. 공통된 코드를 hook이나 util로 분리
  3. 재사용 가능한 공통 UI 컴포넌트의 설계
  4. 데이터 변경 이벤트 발생시 서버 데이터 refetch

위에서 언급했듯이 이번 팀에서 팀장을 맡게 되었다. 싸피를 하면서도 느낀 거지만, 팀플을 하다보면 어느새 내가 리드를 하고 있다. 학창시절에는 이런 성격이 아니었는데, 언제부터 이런 성격이 되었는지는 까마득하다.

나는 리더도 팔로워도 다 좋지만, 이번에는 생각을 바꿔 팀원들을 ‘이끈다’라기 보다는 팀원들을 ‘따른다’는 마음으로 리드를 하려고 한다. 수동적으로 누군가를 따른다는 의미보다 팀원들과 수평적인 관계 속에서 한 팀으로서 팀원들을 배려하고 모두의 힘이 잘 합쳐질 수 있도록 돕고 싶은 마음이다.

팀장으로서 프로젝트 초기 세팅을 했다. 깃헙 조직을 직접 만들어 본 것은 처음이라 생소하고 낯설었다. 작업 기한이 생각보다 촉박해서 내가 빨리 프로젝트 환경 설정을 마쳐야 다른 팀원들도 빨리 작업을 진행할 수 있기 때문에 책임감과 조급함을 많이 느꼈다. 그래서 오전 회의 이후 씻지도 먹지도 않고 프로젝트 환경 설정에만 매진했던 기억이 있다.

1년이 넘는 시간동안 나는 뭘 배웠나…

Best Practice를 선정하는 첫 회의에서 다른 팀원들의 코드를 보며 자괴감이 들었다. 기대 이상으로 특정 팀원들의 코드가 너무 잘 짜여져 있어서 놀랐기 때문이다. 사전 과제를 진행하며 기능 구현에만 초점을 맞췄지, 코드 퀄리티에는 신경을 쓰지 않았어서 많이 반성했다.

SSAFY에서 1년 동안 무엇을 배웠는가? SI식 프로젝트 생산으로 기능 구현의 자기 복제를 반복했고, 교육을 받으며 코드 리뷰를 받아본 적이 단 한번도 없다. 그래서 이번 인턴쉽에서 ‘동료 학습’이라는 방식으로 다른 팀원들의 코드를 보며 많이 배울 수 있었다.

성장하고 싶다!

이번 프리온보딩 인턴쉽을 진행하면서 엄청나게 성장하고 싶어졌다. 출퇴근하는 것도 아니고, 실제 실무를 하는 것도 아니고, 내가 쓴 코드가 실제 세상에서 쓰여지는 것도 아니지만, 누군가는 이런 작은 경험 안에서도 큰 성장을 할 수 있다고 생각한다.

시작하기 전부터 큰 성장을 하고 싶다고 기대한 것은 아니지만, 개발 공부 기간이 나보다도 짧은 팀원들의 훌륭한 코드를 보며, ‘동료 학습’을 통한 큰 성장을 기대할 수 있게 됐다.

팀에 도움이 되는 팀원이 되자!

협업 측면에서 팀에 긍정적인 영향력을 줄 수 있는 팀원이 되고 싶다. 요즘 취준을 하며 고민 중 하나는 ‘좋은 협업이란 무엇인가?’, ‘대체 그놈의 커뮤니케이션 능력이 무엇인가?’, ‘그래서 좋은 커뮤니케이션은 뭔데?’ 라는 내용이다. 이러한 고민에 대한 나만의 해답을 써내려가고 싶다.

좋은 코드를 작성하고 싶다!

가독성이 좋고, 확장성과 재사용성, 유지보수성이 높은 코드를 작성하고 싶다. 무엇보다도 설계 관점에서 구조적으로 잘 짜여진 코드를 작성하고 싶다. 누가봐도 ‘와 코드 되게 잘 짰네?’라고 생각할 수 있는 코드를 작성하고 싶다. 요즘 개인 프로젝트를 하며 생각보다 더딘 진행에 마음이 급해 빠른 기능 구현에 급급했는데, 앞으로는 기능 구현에 앞서 설계 관점에서 먼저 고민하는 시간을 가지도록 해야겠다.

이 과정을 시작하며 좋은 팀원들과 좋은 스타트를 잘 끊은 것 같다! 오랜만의 협업이라 그런지 낯설기도하고 설레고 매우 재밌었다. 그리고 혼자 진행하고 있던 취준 생활 속에서 불을 지펴준(?) 좋은 코드에 대한 강한 동기부여를 얻을 수 있었다.

2주차에는 어떤 과제를 수행하는지 아직 모르지만, 좋은 설게와 협업 관점에서 최선을 다해 볼 생각이다.

Eunjee Lee • © 2023 • https://eun-jee.com