[기업협업]INSA 기업협업 후기

김예진·2020년 12월 16일
5

기업 협업 시작,

(주)인사에서 한 달동안 기업협업을 하게되었다. 위코드를 시작하면서 가장 많이 느낀건 '시간이 너무 빠르다'인데 역시나 이번 기업협업도 2주차 자기반성 글을 쓴지 며칠밖에 안지난 것 같은데 벌써 기업 협업을 끝내고 후기를 쓰고 있다는게 놀라울 뿐이다.

처음 기업협업 팀이 나왔을 때 일단 매우 놀랐다. 1차, 2차 함께한 정현님 과 또 한 번 같은 팀이 돼서 놀랐고, 그 다음으로는 거의 영혼의 코뿌박 백엔드 단짝 채영님 이 같은 팀이라 놀랐고, 2차 프로젝트 함께했던 수현님 과 또 한번 같은 팀이 되어 놀랐고, 꼭 한번 같은 팀이 되어 더 가까워지고 싶었던 향수님 과 같은 팀이 되어 너무 좋아서 놀랐다. 아니 어떻게 팀이 이렇게 짜여졌지? 너무 완벽하잖아? 라고 생각했다.

그러나 기쁜 마음도 잠시, 이제 내 집보다 내 집같은(?) 위코드를 떠나는 것이 너무나도 슬펐고, 정들었던 13기 동기들을 매일같이 보지 못한다는 사실이 너무 아쉬웠다. 벌써 우리가 기업협업을 갈 때가 되었다니 ...2개월동안 위코드에서 있었던 일들이 마구 떠올랐다. 팀원 모두 떨린 마음을 부여잡고 논현(기업협업 회사는 인사였지만 출근은 ACG로..!)으로 첫 출근을 했다.

우리는 인사에서 사용하고 있는 사내 인트라넷을 클론하기로 했다. 인트라넷에 이미 있는 기능들 + 대표님이 말씀하신 관리자 기능 + 디자이너 분께서 xd.adobe를 사용해서 새롭게 주시는 디자인을 반영해서 클론하기로 했다.

백엔드는 위코드에서 계속 사용했던 Python과 Django를, 프론트엔드는 React를 그대로 사용하기로 결정했다.

🖥 구현영상

🖥 기술 스택/툴

  • Front
    HTML, CSS
    JavaScript(ES6+)
    React
    React Router
    Recat Hooks
    CRA
  • Back
    Aquery
    MySQL
    Django
    RDS
    AWS S3
    POST MAN

👫 Member

FE : 김정현 / 임수현 / 임향수
BE : 황채영 / 김예진


# 👩🏻‍💻 Backend
  • Modeling


🖥 구현 기능

  1. 직원
    : 회원가입, 로그인 구현
    : 기존의 인트라넷에서는 개개인이 회원가입을 따로 하지 않았고, 직접 백엔드 개발자가 직원 계정을 생성했어야했는데 개개인이 회원가입이 가능하도록 만들었다.
    : 관리자 계정으로 직원 권한 수정 가능

  2. 공지사항
    : 공지사항 생성
    : 공지사항 첨부파일

  3. 프로젝트 ✔️
    : 프로젝트 생성 기능
    : 프로젝트 즐겨찾기 기능
    : 프로젝트 즐겨찾기 필터링 기능
    : 프로젝트 게시글 기능
    : 프로젝트 댓글 기능
    : 프로젝트 첨부파일

  4. 근태관리 ✔️
    : 직원 출근 - 퇴근 저장 기능

  5. 일정관리
    : 회사 업무 일정 관리 기능


기업 협업을 마치며,

대표님과 점심을 먹고, 이미 일하고 계시던 7기 준영님과 첫 대면하고, 또 회식까지 모든 순간이(도깨비같네...) 느꼈던 건 대표님이 정말 우리를 신경써주시고 계신다는 거였다. 어떻게보면 한 달이라는 짧은 시간동안 함께 할 사람들인데도 정말 하나하나 신경써주셔서 너무 감사했다.

그리고 마지막 프로젝트 발표날에는 위코드에서 느꼈던 떨림과 또 다른 떨림을 느꼈다. 동기와 멘토님들 앞에서 발표하는게 아니라 진짜 실제로 일하는 분들 앞에서 발표한다는 사실이 또 다른 엄청난 떨림을 불러왔다. 위코드에서 팀마다 주어진 발표 시간은 10분 정도라 이번 발표에서도 비슷할 거라고 생각했는데 ... 정말 하나하나 꼼꼼히 봐주시고 계셨다는게 느껴졌다. 그래서 너무나도 감사했다.

처음에는 우리가 먼저 발표했고, 그 다음에는 기능 하나하나 꼼꼼히 살펴봐주시며 피드백을 주셨고, 그 이후에는 프론트와 백엔드 따로 따로 코드를 보며 어려웠던 부분에 대해 질문과 응답 시간을 가졌다. 말씀해주시는대로 너무 급하게 적었지만 ... 들었던 피드백 내용을 정리하자면,


피드백 내용 >

  • 회원가입과 로그인시 마우스 커서가 아이디 입력 창에 미리 가있을 수 있는 서비스 제공.

  • 아이디 중복이나 비밀번호가 일치하지 않다는 Alert(경고창)도 레이아웃 잡아서 예쁘게.

  • 아이디 입력 후 가입 버튼을 눌렀을 때 중복 메세지가 뜨는게 아니라 입력하자마자 중복을 체크할 수 있도록.

  • 요새는 보통 회원가입하면 바로 로그인 되는 상태로 처리하는게 트렌드.

  • 암호화된 데이터는 암호화를 풀어서 로그인 된 기준이 있는지(기준 날짜는 각기 다를 수 있음).. 로그인 유지 기능 구현이 가능함. 그것도 고려해보면 좋음.

  • s3를 사용한 이유가 무엇인지? 기술적인면과 비용적인 면을 고려했는가?
    : 이 질문은 대표님이 주셨는데 듣고 띠용!했다. 기업협업을 하지 않았다면 들어보지 못했을 질문이라고 생각했다. 그저 우리 입장(?)에서는 s3를 한번 해보고 싶다,가 단순한 이유였는데 실무자의 입장에서는 기술적인면, 비용적인 면을 고려해서 과연 s3를 사용하는 것이 더 효과적이라는 판단이 들었나? 어떤 부분에서 그렇게 판단했는가?에 대한 질문에서 많은 생각이 들었다. 앞으로 취직을 하고 회사에서 일을 한다면 두가지 부분을 다 고려해야하는데 미리 좋은 가르침을 받은 기분이었다.

  • 게시판 디테일 페이지에서 다음 글이나 이전 글이 없는 경우 '다음글'이라는 글이 아예 보이지 않거나, "다음 글이 없습니다"라는 설명을 추가해준다면 좋을 것 같다.

  • 라이브러리도 같은 기능에 따라 여러가지가 있는데 어느걸 더 본인이 컨트롤을 잘 할 수 있을지(샘플이나 적용가능성도 염두해서) 스스로 고민해서 선택하면 좋을 것 같다.

  • 타이머는 서버에 접속하자마자 로그인 정보를 확인한다. 출근 버튼을 누르는 순간 서버에 현재 시간을 저장하라는 요청을 보내고, 서버 시간을 다시 받아낸다. 자바스크립트로만 시간을 계산하다보면 시간의 오차가 발생하는데, 시간이라는 건 모두에게 공평해야하고 매우 예민한 부분임. 지금 인트라넷은 1시간에 한번씩 서버 시간을 다시 불러와서 처리하고 있으며, 로컬의 경우 지역마다 시차 문제도 있기 때문에 보통의 경우 서버 시간 기준으로 처리하는 것이 제일 좋다.
    : 타이머는 근태관리를 담당했던 프론트 수현님과 내가 제일 많이 고민했던 부분이었다. 솔직히 100%완벽하게 구현해내지는 못했지만 너무나도 많은 고민의 대화가 오갔다. 자바스크립트의 시간을 그대로 저장하는 것이 좋을까, 서버에서 다시 한번 시간을 저장하는게 좋을까... 계속 가지고 있던 의문이 조금 풀려서 너무나도 기쁘면서 또 100% 기능을 만들어내지 못했던 아쉬움이 두고두고 남는다.

  • 코드에도 템플릿이 있다. 여러가지 템플릿들을 보면서 다른 사람들은 어떻게 했는지 참고하는 것도 큰 도움이 된다는, 식사하면서 들었던 SR님의 조언도 너무나 기억에 남는다.

  • 피드백들의 공통점은 거의 모두 '사용자가 조금 더 편리할 수 있도록'하고자 하는 느낌이 강했다. 사용자가 어떻게 하면 더 편리할까, 어떻게 하면 더 좋을까를 끊임없이 생각하는 느낌? 게임 기획을 했던 과거의 순간을 다시 되새기며, 개발자란.. 어떤 태도를 가지고 있어야 하는지에 대해 깊이 고민하게 되는 시간이 되었다.

- why를 찾으면 way가 보인다.

  • 마지막 식사 자리에서 대표님이 해주셨던 말씀이었다. 왜 이 기능을 만드는지를 생각하면 길이 보인다. 예전에 학교를 다니며 기획서들을 쓰면서도 그 기획을 왜 하게 되었는지에 대한 기획 목적, 근본적인 이유를 잊을 때가 간혹 있었다. 그 때마다 기획의 내용은 처음 생각했던 것과 다르게 흘러갔고, 교수님들의 쓴 피드백을 받으며 수정에 수정을 거듭하고는 했었다. 기획자일 때는 기획과 개발이 다르다고 생각했다. 그저 기획서에 쓰여진대로 개발만 하면 되는 거 아닌가?라고 생각했는데 막상 개발자의 길을 걸으려 공부하다보니 개발을 할 때도 왜 그렇게 로직을 짰는지, 어떤 부분에서 이게 더 효과적인지, 그래서 왜 쓰는 것인지에 대해 알아야겠다고 생각했다.

깨닫고, 생각했던 것들

1) 유닛테스트를 왜 하는지 알 것 같았다.

: 2차 프로젝트 때 들었던 유닛테스트를 왜 하는지 알 것 같았다. 1,2차 프로젝트 때만해도 '테스트할 게 그렇게 많지 않은 것 같은데? 코드를 치는 것보다 하나하나 테스트를 하는게 빠를 것 같은데?' 라고 생각했지만 ... 막상 실무에 사용할 수 있을 정도로 만들어야한다고 생각하니 꼼꼼한 테스트가 매우 중요하다고 느꼈다. 그래서 역시 사람이 하나하나 테스트를 하는 것보다 코드로 만들어서 테스트하는게 제일 좋겠구나 피부로 느낄 수 있었다. 그러면서도 게임 개발했을 때 하나 하나 테스트 했던 기억이 새록새록 떠올라서 그 때도 유닛테스트 같은 걸 만들었다면 조금 더 완벽하게 게임 출시가 가능했을까? 하는 생각이 자연스레 들었다. 사용자에게 보다 완벽한 서비스를 제공하기 위한 유닛테스트의 소중함을 깨달았다. 역시... 배우는 건 다 이유가 있다. 배움의 이유를 두지 말자는 생각이 들었다.

2) 전체적인 프로세스를 보는 힘을 가질 필요에 대하여. 그리고 계속 노력한 것에 대하여.

처음 프로젝트 기능을 담당할 때만해도 내가 프론트에게 반환해주어야하는 json response는
👉🏻 게시글 id
👉🏻 글쓴 사람의 id
👉🏻 게시글 내용
👉🏻 첨부파일의 id
👉🏻 첨부파일의 이름
👉🏻 첨부파일이 달린 게시글의 id(for문을 한번에 2번 돌리는 것에 어려움을 느꼈었다...)

였는데, 시간이 지나면 지날 수록 프론트에 반환해주어야하는 것들이 늘어났다. 내용이 많아질 수록 예쁘게 반환해주어야하는데 .. 어려움도 커졌다.

👉🏻 게시글 id
👉🏻 작성자 id(작성자가 같을 경우 수정,삭제 권한을 주어야했음)
👉🏻 작성자 이름
👉🏻 게시글 내용
👉🏻 첨부파일의 id
👉🏻 첨부파일의 이름
👉🏻 첨부파일의 url주소(s3로 저장한 url)
👉🏻 첨부파일의 용량
👉🏻 게시글의 댓글 수
👉🏻 게시글의 댓글 작성자 id
👉🏻 게시글의 댓글 작성자 이름
👉🏻 게시글의 댓글 작성 날짜
👉🏻 게시글의 댓글 내용

다른 것들도 해야하는데... 산더미처럼 쌓인 노션 보드들을 보면서 잠시 고민했지만, 어차피 해야할 일 제대로 하자고 생각했다. 더 좋은 방법이 있는지 용기내서 동기에게 물어보며 작업하는 것으로 시간을 단축해보려고했다. (본인도 너무 바빴을텐데 열심히 도와준 우리 채영님께 넘 감사하다.) 몇 번의 고민 끝에 내가 원하는 내용대로 반환되는 것을 보며 ... 진짜 너무 기뻐서 눈물이 슬쩍 나기도 했다.
기쁜 것도 기쁜 건데 ... 지금은 클론을 하면서 하나씩 찾아냈지만 만약 눈에 보이는 사이트가 없었더라면? 이런 전체적인 프로세스를 내가 미리 생각할 수 있었을까?
... 전체적인 프로세스를 생각할 수 있어야겠구나라는 깨달음을 얻었다.

3) 아쉬운 것들이 너무나도 많다.

: 위코드에서는 2주동안 하나의 프로젝트를 완성했고, 기업협업에서는 한 달이라는 시간이 주어졌다. 1,2차 프로젝트동안 '2주'라는 시간이 익숙해진 것인지... 2주가 넘어가는 순간 눈에 보이지 않는 결과때문에 스스로 많은 생각이 들었다. 위코드에서의 나와 기업협업을 하고 있는 나를 끊임없이 비교하기 시작했다. 단순히 결과물을 끝내지 않았다는 이유로 나는 열심히 하지 않았다고 스스로를 평가하기도 했다. 프로젝트라는 하나의 기능에 위스타때부터 1,2차 프로젝트.. 내가 못해봤던 모든 기능들이 다 들어있었다. 게시글...댓글...즐겨찾기....첨부파일 등등... 처음이니 어려운 것이 당연하면서도 당연하지 않다고(?) 느껴질쯤... 우리는 아직 배우고 있는 중이니 괜찮다는 동기의 말이 큰 위로가 되면서도 또 다른 책임감을 가지게됐다.

4) 그럼에도 기업협업 하길 참 잘했다.

: 기업협업에 나가기 전 2차 프로젝트 중에 멘토님과 대화를 나눴었다. 2차 프로젝트 중 앞으로 어떤 기능이 남았고, 기업협업은 어떻게 할 것인지에 대한 이야기를 나누는 시간이었는데 ... 사실 그 전까지만해도 '내가 기업협업을 나갈 수 있는 실력이 있나? 이 실력으로 기업협업을 나가서 괜히 팀에게 민폐만 끼치는 것은 아닐까? 나는 혼자서 보충해야할 것들이 더 많은 것 같은데 ... ' 라는 생각이 끊임없이 들었어서 기업협업을 나가지 않고 위코드에 남아서 공부를 더 하려고 마음 먹었었다.
그러다 멘토님들과, 또 동기들과의 대화 끝에 기업협업을 마음 먹었는데... 정말 기업협업을 하면서 스스로 괴로워했던 것들도 너무나도 많지만 위코드에서 혼자만 공부했더라면 배울 수 없었을 무언가를 '분명하게' 배운 것 같아 정말 정말 만족스럽다.




너무나도 떨리던 한 달동안의 기업협업이었다. 솔직하게 말하면 1,2차 프로젝트에 비해 아쉬운 것들이 더 많은데.. 그럼에도 정말 ... 불구하게ㅎㅎㅎㅎㅎㅎㅎ 배운 것도 너무 많은 기업 협업 시간이었다. 너무나도 좋은 동기들과, 너무나도 좋은 대표님과 관계자분들과, 또 너무나도 좋은 멘토님들 덕분에 한 달동안의 시간을 잘 마무리할 수 있었던 것 같다!! 정말 정말 감사하다.
profile
Backend Developer 🌱 벨로그 내용을 티스토리로 이사중~!

0개의 댓글