교육/원티드 프리온보딩 인턴십

[원티드 프리온보딩 프론트엔드 인턴십] Week 3 과제 후기

알파카털파카 2023. 1. 16. 02:45
Week 3 과제 후기


3주차 과제는 2주차 과제보다 간단했지만, 완성도를 높이기 위해서는 깊이가 필요했다.

이번 프로젝트는 지난 주 과제보다 만족스럽게 진행됐다.

어떤 점이 마음에 들었는지, 진행이 어떻게 되었는지 회고를 적어보려 한다.

 

 


 

 

과제 내용

 

한국임상정보 사이트의 검색영역을 클론하는 것이 이번 3주차의 과제였다.

검색창 및 검색어 추천 기능을 구현해야 했다.

이번 과제는 리드미에 필수로 들어가야 하는 내용도 정해져 있어서, 리드미에도 더 신경을 썼다.

 

 

 

과제 진행 방식

 

1. 개인별 구현

수요일 밤까지 각자 구현을 해보기로 계획을 정했다.

지난 주에는 날짜에 관해 별 계획을 세우지 않아서 힘들었기 때문에 이번엔 다같이 정하고 넘어갔다.

약속된 시간에 나는 몇 가지 기능이 빠져있는 상태였고, 그 외의 배포나 리드미 작성은 마쳐놨었다.

추가로 시간을 더 내서 나머지 빠진 기능도 다 완성을 했다. 나 때문에 그만큼 팀플 시작이 늦어지게 되었지만..

마감이 정해져 있는데 처음 구현해보는 기능이 있으면, 검색하고 내 코드에 적용하는 것이 조급해져서 스트레스를 받는다.

아는 것이면 집중해서 빨리 끝내면 될텐데 모르는 부분이 나오면 속도가 나지 않고 잘 안 되는 것이 답답하다.

취업하면 마감을 지키는 것이 매우 중요할텐데.. 

취업 전에 되도록 많은 것을 알고 가야 실전에서 헤매지 않을 것 같다.

다음 번에 똑같은 문제를 만났을 때 '아 이거 해본 건데 기억이 안 나네' 하게 되는 상황을 줄이기 위해 매번 과제를 마치고 나면 어려웠던 부분을 깃허브 TIL에 남기고 있다. 미래의 나를 위한 소중한 자산이다.

 

2. 업무 분담

우리 팀에는 리더십이 두드러져서 무리를 이끌고가는 팀원은 딱히 없었고, 다들 한 두 마디씩 던지고 흐지부지 되는 상황이 잦았다.

나도 리더보단 팔로워에 가까운 성향이지만 이대로라면 과제를 제출하지 못하는 최초의 팀이 될 수도 있겠다는 생각에 뭐라도 해보려고 했던 것 같다. 열정을 보이는 팀원분들이 계셔서 감사했다.

이왕 시간과 노력을 들여서 하는거면 잘 하고싶다. 그렇지 않으면 자기 만족이 안 되서 답답해진다.

회사 다닐 때도 완벽주의 때문에 스스로 고통받은 적이 많은데 이게 참 항상 고민거리다.

아무튼 과제 제출은 금요일 자정이었고, 딱히 이렇다 할 진전사항이 없어서 마감 24시간이 안 남은 목요일 새벽에 팀 레포를 생성하고 프로젝트 세팅과 기본적인 사이트 퍼블리싱 작업을 마쳐놨다. 마감날 급하게 하는 것보단 미리 해두는 게 마음이 편하다.

금요일에는 나포함 팀원 셋이서 각자 구현한 코드를 분석하고 어떤 방법이 최선의 방법일지 토론을 했다. 확실히 직접 구현해보고 시행착오도 겪어봐야 어떤 방법이 최선인지, 별로인지 하는 의견도 생긴다. 의견을 가지려면 학습과 실천을 해야 한다! 첫 과제 때보다 스스로가 성장한 것이 느껴졌다.

각자 파트를 맡아 브랜치를 따서 pr을 올리고 코드리뷰하고 머지하는 일반적인 방식으로 협업을 했다. 이제 점점 익숙해져가고 있다.

 

3. 팀 프로젝트 진행

마감날 오후 6시 정도인데 벌써 제출한 팀이 좀 있었다. 아무래도 이전 과제에 비해 쉬워서 그런 것 같다. (이전에는 거의 마감 직전에 제출한 팀이 많았다.) 굉장히 훌륭한 다른 팀들의 과제를 보고 나니 기운이 빠지기도 했지만, 이대로 포기할 수 없다는 생각에 더 동기부여가 됐다.

나는 리드미와 리드미에 들어갈 깃허브 위키를 작성했다.

취업 강의에서 멘토님이 리드미의 중요성을 강조해 말씀하셨다. 리드미는 다른 사람이 처음 마주하는 프로젝트의 인상이다. 프로젝트를 어떻게 실행하는지, 어떤 기술 스택을 사용했는지, 디렉토리 구조는 어떤지, 어떤 기능을 구현했는지 설명과 시각적 자료를 포함한 잘 작성된 리드미는 그 사람의 코드도 궁금하게 만든다. 더 나아가 이 사람과 같이 일하면 어떨까 하는 데까지 미친다고 한다.

그래서 리드미 쓰는 스킬도 중요하다고 하셨다.

내가 평생 해왔고 자신있는 분야가 문서 작성이다 보니 리드미에는 걱정이 크게 없었다.

문제는, 기술적 지식과 코드를 말로 풀어내는 능력이 부족하다는 것이다! 중요한 내용이 빠져있다면 글을 잘 쓰는 것이 무슨 소용인가?

이 부분도 취업 준비를 하면서 내가 키워야 하는 부분이다. 

깃허브 위키도 처음 사용해봤는데 IDE에서 작성한 md파일은 커밋 푸시하기 전까지 웹 페이지에서 어떻게 보이는지 모르는 반면에, 깃허브 위키는 바로바로 웹 페이지에서 미리보기 기능이 있어서 편리했다. 글 작성은 마크다운 방식으로 골랐다.

다음에 개인 프로젝트를 할 때 깃허브 위키를 사용해 봐야겠다. 새로운 기능을 발견해서 기분이 좋다.

 

4. 프로젝트 마무리

배포 과정에서 작은 이슈가 있었지만 팀원 분이 해결해 주셨다. 배포 링크까지 마지막으로 리드미에 추가하고 과제 제출을 완료했다.

이번에는 시간도 너무 촉박하지 않았고, 완성도도 나름 챙겨서 만족스러웠다.

정말이지 며칠간 밤새서 고생해도 이렇게 딱 완성된 결과물 나오면 너무나 뿌듯하다. 그리고 뒤늦게 몰려오는 배고픔과 피로감

기력을 다 써서 침대에 뻗어버렸지만 기분이 좋았다. 마라톤 완주한 느낌이 이런걸까? 마라톤이라고 할 만큼 긴 시간은 아니었지만..

이게 개발의 매력이고 이 맛에 개발하는 것 같다. 이제 이 느낌을 알아버려서 이전으로는 못 돌아가게 됐다.

 

 

 

만족스러웠던 점

 

이번 과제가 만족스러운 이유을 생각해 봤다.

 

1. 촉박하지 않은 일정

마냥 널널했다고 보긴 어렵지만 그래도 언제까진 뭘 하자든지 하는 대략의 일정이 있었다.

이쯤이면 팀원분들이 이런걸 하고 계시겠지 하는 짐작이 되어 편리했다. 

마감에 쫒기며 낮은 퀄리티의 과제를 울며 겨자먹기로 제출하지 않아도 되어 만족스러웠다.

 

2. 베스트 프렉티스 논의

각자 구현한 방법을 공유하고 어떤 방식으로 구현하면 좋을지 얘기를 충분히 나눴다.

다른 분들의 코드를 통해 새로운 내용도 배울 수 있어 좋았다.

덕분에 리드미에도 적을 내용이 풍성해졌다.

우리 팀이 채택한 방법과 그 이유, 그 과정에서의 고민점 등을 깃허브 위키에 정리해 두었다.

 

3. 열정 있는 팀원들

소위 '망해가는 게임'을 하는 유저들은 자신의 게임이 서비스 종료될까봐 두려움에 떤다.

그들은 게임을 접으려는 다른 유저들에게 '응~ 너 없으면 망해~ 꼬와도 접지 마~' 를 외치며 바짓가랑이를 붙잡을 수 밖에 없다.

그런 심정으로 팀플을 했다.

'여러분들 없으면 우리 팀 망해요..'

나는 팀 프로젝트 경험을 쌓고싶은 거지, 1인 프로젝트를 하기 위해 소통이나 깃허브 협업을 열심히 하고 있는 게 아니다.

근데 마지막까지 같이 열심히 고생해준 팀원들이 있어서 감격스러웠다. 그래서 나도 더 포기하지 않고 욕심을 내게 되었던 것 같다. (feat: 완벽주의, 고개를 내밀다)

뭔가 하면 될 것 같으니까, 하려는 사람들이 있으니까, 대충해버리고 시간이나 아껴야지 하는 생각이 들지 않게 되었다. 좋은 동료와 일하는 것은 조직의 생산성을 향상시킨다. 정말로!

 

 

 

보완해야 할 점

 

팀플에서가 아닌 개인적으로 보완해야 할 아쉬운 점들을 적어봤다.

 

1. 일정 맞추기

정확히는 부족한 코딩 실력으로 인해 늦어지는 마감이다.

어쨌든 일정을 못 맞췄다. 

실력을 향상시켜야 이런 문제를 겪는 빈도도 낮아지지 않을까?

이번 과제에서 내가 어려움을 겪었던 내용은 아래와 같다.

2. feat: 사용자 입력 텍스트와 일치하는 부분 볼드처리 구현

3. feat: API 호출별 로컬 캐싱 구현

 

2. 말로 코드 풀어서 설명하기

기술 면접에서도 필요한 능력이다. 아직 남에게 내 코드를 설명하고 이해시키는 스킬이 부족하다고 느낀다.

풀어서 설명하는 것을 많이 연습해보고 개념 지식을 머리에 잘 숙지하고 있어야겠다.

 

 


 

 

프론트엔드 코스 자체도 서바이벌 같다는 생각을 했는데, 갈수록 팀원들의 참여도가 떨어져서 코스가 아닌 팀 내에서도 서바이벌 느낌이 들었다. 남들 사이에서 뒤쳐진다는 개념 보다는 자기 자신과의 싸움 측면에서의 얘기다.

성실함과 귀찮음 사이의 줄타기, 강제성 없는 상황에서 얼마나 자신을 스스로 통제할 수 있는지, 시간 관리 능력, 실력이 부족한 자기 자신과의 사투, 처음 보는 사람들과의 팀워크 맞춰나가기 그런 것들 말이다.

나도 스스로 만족하지 못한 사항들이 있는데 어찌됐든 포기하지 않고 과제를 제출했다는 점에서 나에게 칭찬을 해주고 싶다.

마지막 한 번 남은 과제는 이번 프로젝트보다 더 나은 모습으로 마무리하고 싶다.