1차 프로젝트 회고록

이석원·2022년 9월 4일
0

1차 프로젝트가 끝났다. 아쉬움이 크다.

프로젝트 구성

  • 기간 : 프로젝트는 20.08.16 - 20.08.26 까지 진행됐다.
  • 팀 : 백엔드 2명, 프론트 3명
  • 기술: Node.js, React, mySQL, git
  • 백 엔드 환경 셋팅: bcrypt, cors, dotenv, express, jsonwebtoken, morgan, typeorm
  • 애자일 원칙 도입
  • 목표 : 삼천리자전거 홈페이지 클론.
  • 기타 : 홈페이지를 커머스로 새롭게 기획했다.
  • 결과 : 아쉽게도 완성하지 못했다.

프로젝트 진행

  • trello 와 notion, github 으로 협업을 진행했다.
  • 백 엔드 환경 셋팅:

    bcrypt, cors, dotenv, express, jsonwebtoken, morgan, typeorm

  • ERD
  • 백엔드 기능 구현 목표: 모두 구현함. github 링크

    회원가입(POST), 로그인(POST), 장바구니(POST, GET), 주문하기(POST), 제품 리스트(GET), 제품 상세페이지(GET), 마이페이지(GET), 회원탈퇴(DELETE)

  • AWS 배포: 실패

회고

아무래도 아쉬움이 많다. 그래서 아쉬운점과 개선 사항을 중심으로 작성했다.

  1. 동료의 작업 결과를 잘 모른다.
    1-1. 우리팀은 커뮤니케이션이 잘 된 편이라고 생각했다. 그러나 뒤돌아 생각해보니 동료가 어떤 작업을 하고 있는지 제대로 이해하고 있지 못하다는 사실을 알았다. 만약 동료를 도와야 할 작업이 있었다면 제대로 협업할 수 있었을까?
    1-2. 동료가 해결한 문제가 있다면 서로 이야기를 나누고 경험을 공유해야 했다. 짝 프로그래밍과 같은 좋은 수단이 있는데 프로젝트 중에는 미처 생각하지 못했다.

  2. git 사용에 미숙했다.
    2-1. git 사용에 미숙하다보니 자주 사고를 쳤다. 특히 기능 구현을 모두 완성한 후 push 를 하다보니 제대로 된 리뷰를 받을 수 없었다. 이것이 가장 아쉬운 점이었다.
    2-2. git 사용의 오류를 해결하기 위해 너무 많은 시간을 할애했다. 따라서 작업된 코드를 리팩토링 하면서 가다듬을 시간이 너무나 부족했다.전체적인 코드의 품질이 떨어졌다.

  3. AWS 에 배포하지 못했다.
    3-1. 급히 AWS 를 학습하여 EC2 와 RDS 까지 만들었지만 프로젝트를 배포하기 위해 사용하지 못했다. 프로젝트 막바지 작업을 제대로 끝냈어야 했는데 오류를 해결하지도 못했고 그대로 넘겨 버렸다. 프론트의 작업물과 백 엔드의 작업물을 서로 연결하는 과정에서 터진 문제였다.

  4. 기록을 제대로 하지 않았다.
    4-1. 본래 기록을 잘하는 편이었다. 하지만 이번에 기록을 하는 시간을 줄이고 작업에 투입하는 시간을 늘려보는게 더 좋지 않나 라는 의문이 생겼다. 그래서 기록을 줄이고 그 시간을 작업과 학습에 더 투입했다. 그러나 결과는 좋지 않았다. 기록을 하지 않으니 내가 무엇을 얼마나 학습했는지 알지 못했다. 특히 수많은 오류들과 씨름했던 과거가 모두 사라진 느낌이다.
    4-2. 기록이 얼마나 중요한지 느끼게 된 10일 이었다. 작업이 정리되지 않은채 마음속에 간직하고 있다보니 괜히 조급해지고, 잊어먹기 일쑤였다. 해야 될 일은 깔끔하게 정리하여 기록하고 추적해야 한다. 반드시!

  5. 프론트와 동일한 언어를 사용하는 장점을 살리지 못했다.
    5-1 백엔드는 Node.js 를 사용하고 프론트엔드는 React 를 주로 사용했다. 프론트는 fetch 함수 때문에 고생이 많았다. 동일한 언어를 사용하는 만큼 충분히 더 도와줄 수 있었다. 예를 들어서 GET, POST 등 서버에 요청할 함수를 대신 작성할 수 있었다.

  6. 질문을 제대로 만들지 못했다.
    6-1. 질문 못한것이 뭐가 대수냐 싶을수도 있지만 스스로에게 깊이 실망하게 됐다. 내 스스로 장점이라 여기는 '호기심'을 살리지 못했기 때문이다. 나는 호기심 때문에 대학 시절, 그리고 졸업해서도 도서관에서 살다시피 했다. 그런데 지금의 내 모습은 스스로에게 묻고, 또 앞서갔던 선배들에게 물으며 끊임없이 학습하던 때와는 거리가 멀다. 깊이 반성했다. 게다가 질문의 퀄리티도 얄팍해졌다.제대로 된 질문을 만들어 내지 못했다는 말은 학습에서 전반적으로 실패하고 있다는 뜻이므로 큰 경각심을 느꼈다.
    6-2. 기록을 제대로 하지 않았던 것과 직결된다고 판단했다. 그래서 기록을 계속 해 나가면서 동시에 질문을 만들어 내도록 방향을 조정했다. 지금은 예전보다 훨씬 나아졌다. 그러나 아직 많이 부족하다.

그럼에도 불구하고 잘한것도 있다.

  1. 커뮤니케이션
    1-1. 커뮤니케이션의 기본은 존중이라고 생각한다. 우리 팀은 더할나위 없이 훌륭했다. 서로를 향해 성숙한 태도를 견지했다. 예를 들어서 서로 존대를 반드시 했고 '님' 으로 호칭했다. 나이와 관계없이 존중하는 모습은 향후 협업과 성장에 매우 중요한 밑거름이 될 것이라 확신한다.
    1-2. 서로를 북돋아 주기 위한 응원을 아낌없이 했다. 서로에게 무관심한 팀도 적지 않다는 사실을 고려하면 참 고마운 일이었다. 서로 간식을 나누고, 식사를 함께하는 과정이 모두 힘이됐다.

  2. 성실함
    2-1. 성실의 기본은 허황된 말을 삼가고 약속을 반드시 지키는 것이다. 팀원들 모두 잘 해주었다. 거의 모든 계획을 지켰다. 물론 시간이 촉박하여 완성에는 실패했지만 적어도 함께 일함에 부족함이 없었다.

2차 프로젝트를 위하여, 더 나은 개발자가 되기 위하여

  1. git 은 기본이다. 기본을 잘 다지기 위하여 git 사용의 기본기를 다졌다. 적어도 지금까지 git 때문에 시간을 거의 빼앗기지 않았다.
  2. 기록을 세세히 한다. 현재 질문, 오류, 일지, 그외 학습에 필요한 페이지를 구성하여 가능한 꼼꼼히 정리하려 노력하고 있다. 특히 오류와 일지 작성이 큰 도움이 되고 있다. 해야 할 작업을 놓치지 않았고 마음이 편안해졌다. 질문은 열심히 만들어 내고 있지만 아직 마음에 차지 않았다.
  3. AWS에 이어서 docker 와 github Action 을 공부하고 있다. 이번에는 제대로 배포를 할 것이다. 프로젝트 기간이 지나더라도 반드시 할 계획이다. CICD 까지 구축하겠다.
  4. 프론트의 고충을 덜어주기 위하여 axios 를 활용하여 코드를 짜고 있다. 상당히 재밌다. 통합 테스트로 써도 될 것같다.
  5. 한 가지 문제에 하나의 해결책만 있는것이 아니다. 여러가지 해결책을 탐구 해야 한다. 하지만 너무나 많은 문제에 부딪히기 때문에 문제해결에 오히려 집중하지 못하는 것 같다. 이 부분은 더 개선해야 한다.
  6. 라이브러리처럼 좋은 코드를 많이 읽어봐야 하는데 그러지 못하고 있다. 자바스크립트와 Node.js 의 활용 역량을 더 키워야 한다. 개선이 필요하다.

마무리

  • 2개월 동안 게으르게 지냈던 적은 한번도 없다. 그럼에도 불구하고 만족스럽지 못하다. 더 나아질 수 있다는 사실을 마음 깊이 확신하고 있기 때문이다. 더 나은 개발자가 되기 위하여 좋은 습관을 몸에 새기도록 하겠다.
profile
개발자 공부중

0개의 댓글