첫 프로젝트 그리고 느낌점

김주빈·2020년 5월 31일
1

Njango

목록 보기
1/1

첫 2주 프로젝트를 진행하게되었다.
핵심부터 말하자면 소통 의 중요성이다.

첫 프로젝트

첫 프로젝트로 진행한것은 여태까지 배운 스택을 처음부터, ( 빈페이지부터 ) 진행하는것을 목적으로 하였다.
우연히 내가 예전부터 생각해왔던 아이디어가 좋은 호응을 받게되어? 내가 계획하던 아이디어로 프로젝트를 진행하였다.

레시피를 재료로 검색하는 웹앱이였다.

2주간의 시간 ( 실질적으로 계획2일, 제작 7일, 발표1일)
어느정도의 실력을 가지고 있는지 모르는 팀원들

가장먼저 시작한것은 역활을 나눈것이다.

역활분배에서의 잘못된 생각

나는 나름 풀스택을 지망하고있었지만 기다리는것이 싫어서 백엔드쪽을 지원하게되었다.
( 진행전까지는 백엔드에서 빠르게 만들어서 배포를해야지 프론트쪽에서 차질없이 진행될거라는 생각을 하며, 동시에 프론트쪽은 빨리 만들고싶더라도 서버에서 만들어주지못하면 하염없이 기다리는 줄 알았다.)
여기서 첫번째 실수를 범하고만다.
첫 프로젝트에서는 서버쪽에서는 간단한 CRUD 만 진행하기 때문에 프론트가 훨씬 오래걸려, 나는 하염없이 재촉을 하는 팀장이 되었다.

소통을 중요시 하지않은 팀장

첫 소통을 할때 프론트는 프론트끼리 소통을하며 진행하고 백엔드는 백끼리 진행하며 소통하면 된다고 생각을했다. 그렇다보니 프론트 진행상황만 물어보고 너무 늦다고 생각이 들더라도 나름 프론트의 고충이 있겟지 라는생각에 제촉을 하지 않고 백엔드에만 집중을하였다.
일은 10일의 시간중 6일이 지나서 생겼다.

팀원의 상담

프론트를 맡은 팀원중 한명이 자신이없다며, 프로젝트를 중도 하차를 생각하고 있다며 연락이왔다.
일단 그분의 의견을 존중해주기로하며 서버쪽은 어느정도 끝내놓은상황이라 내가 프론트로가서 그분의 역활을 맡기로 했다. 그분의 코드를 처음봣을때는 놀랏다..

//  	Header.js
// eslint-disable-next-line quotes
import React from "react";
// eslint-disable-next-line quotes
import { Link } from "react-router-dom";

export default () => (
  <header className="header">
    <ul className="ul">
      <li className="li">
        <Link to="/" className="link">
          내 냉장고
        </Link>
      </li>
      <li className="li">
        <Link to="./Recipe" className="link">
          내 레시피
        </Link>
      </li>
      <li className="li">
        <Link to="./Like" className="link">
          좋아요
        </Link>
      </li>
    </ul>
  </header>
);
//	Mypage.js
/* eslint-disable */
import React from "react";
import axios from "axios";
import {
  BrowserRouter as Router,
  Route,
  Redirect,
  Switch,
} from "react-router-dom";
import Header from "./Header";
import Stuff from "./Stuff";
import Recipe from "./Recipe";
import Like from "./Like";
import Follow from "./Follow";
import Comment from "./Comment";
import "./Mypage.css";

axios.defaults.withCredentials = true;

export default () => (
  <Router>
    <Header />
    <Switch>
      <Route path="/mypage" exact component={Stuff} />
      <Route path="/mypage/recipe" component={Recipe} />
      <Route path="/mypage/like" component={Like} />
      <Route path="/mypage/follow" component={Follow} />
      <Route path="/mypage/comment" component={Comment} />
      <Redirect from="*" to="/mypage" />
    </Switch>
  </Router>
);

진행이 하나도 되어있지않은 코드

이때부터 소통에 문제가 있었다는 생각이 들었다.
알아서 해주실거다 + 프론트의 문제에 개입을 하게되면 기분이 나쁘실수있다.
라는 생각에 개입을 하지않았는데 5일간의 코드가 30줄 정도밖에 안됫으며, 협업을 위해 작성했던 eslint 가 다 disable 로 설정되어 있었다.

밤샘

이때부터는 프로젝트 끝나기 하루전까지 밤을새며 기능구현을 위해 노력했지만

팀원1 = 백지로 코드를 주신;
팀원2 = 이미 어느정도 진행되어있는;
  • 6일 밤
    진행되며 점점 state 관리가 필요하다 느껴지지만 redux 가 설정이 안되어있어 다시 refactoring 을 하였으며, 팀원2의 코드도 다 refactoring 을 하였다.
  • 7일 아침
    팀원2가 redux에 대한 개념이 잡혀있지 않아 하루종일 진행이 되지않았다. 재촉을 하고, 코드리뷰를 통해 대략적인 사용법을 알려주였으며, 나에게 주어진 기능구현에 노력하였다,
    팀원1이 중도하차 하지 않고 계속 진행하기로 하였다.
  • 8일 낮
    팀원2가 슬렉을 메세지를 잘 받지않는다 최소 1시간정도의 텀을두고 답장이 와 무언가 잘못되었다고 느꼈다.
  • 8일 밤
    구현하고 싶은 기능을 줄이고 최소한 이루어져야하는 기능만 구현하기로 했다.
  • 9일 낮
    최소한 해야하는 기능을 구현하고 팀원1의 테스크 진행을 페어로 도와드렷다.
    팀원2에게 기능구현을 재촉하여 오늘 밤까지 가능할거라는 답변을받는다.
  • 10일 낮
    결국 팀원2는 완료하지 못하였으며, 발표의 시간이 와서 급하게 발표자료를 준비하였지만 오류투성이였다..

팀장으로써 회의

처음에 생각했던 프론트, 백으로 나누는것 부터 잘못되었다고 생각이 된다.

다음프로젝트는 4명이 한팀이라는 생각을 가지고 진행해야겠으며,소통의 부재를 허물기 위해 시간이 걸리더라도 마무리 전 코드리뷰에 대한 질의응답을 실시하며, 서로의 대한 의견을 충분히 나눌것이다.

팀장으로써 주어진 역할에 충실히 하지않고 너무 코드구현에만 몰두한거같아 팀원들에게 미안함을 느끼는 프로젝트였다.

2주 프로젝트는 결과를 중시하는것이 아닌 서로의 부족한점 을 솔직한 피드백으로 깨우치고, 극복해야 한다는 생각이 들었다.

profile
프론트엔드 개발자 김 주빈 입니다.

2개의 댓글

comment-user-thumbnail
2020년 5월 31일

수고햇어요❤️

답글 달기
comment-user-thumbnail
2020년 6월 11일

짜장라면 맛있죵

답글 달기