4주간(사실 3주반) 파이널 프로젝트를 끝내고 5개월간의 코드스테이츠 부트캠프 여정을 끝냈다.
파이널 프로젝트 후기
배포링크 : https://todogg.cf
파이널 프로젝트를 하기 전 2주간 퍼스트 프로젝트를 진행했었다. 2주는 짧은 시간이기 때문에 완성도 높은 결과물을 만들어내진 못했지만 4명이 함께 그간 배운 코딩스킬로 무언가를 만드는 시도를 정확히는 협업 시도를 해봤다는 데에 의미가 있었다.
나는 파이널 프로젝트를 퍼스트 프로젝트와 같은 멤버로 진행했는데, 개인적으로 마음이 맞는 좋은사람들과 함께하는 것이 얼마나 좋은지 다시금 깨달을 수 있었던 것 같다. 물론 팀장으로서 프로젝트를 진행하는데 이미 퍼포먼스나 개개인의 특징을 파악하고 시작한 것이 큰 도움이 되었다. 무엇보다 중요한건 서로 잘 맞는 좋은 사람들이었기 때문에 프로젝트를 잘 마무리할 수 있었다는 사실이다.
나는 퍼스트, 파이널 두 프로젝트 모두 팀장역할을 맡았다. 전에 다닌 학원에서 처음으로 팀장을 맡았던 기억을 더듬어가며 이번엔 더 체계적으로 프로젝트를 진행하고 싶었다. 그래서 내가 가장 열심히, 많은 일을 해내야한다고 생각해서 스트레스도 받았던 것 같다.
팀원분들이 의견도 많이 내주고, 팀장 혼자 이끌어가는 프로젝트가 아닌 함께 만들어가는 느낌을 많이 받아서 큰 스트레스는 받지 않고 팀장역할을 수행할 수 있었던 것 같다.
내가 팀장으로 수행한 역할은 전체적인 프로젝트 진행도 관리, 업무 분배, 깃 레파지토리 관리를 했고 굳이 말하자면 회의진행을 했다.
가장 어려웠던 것은 아무래도 업무 분배다. 퍼스트 프로젝트를 끝내고 팀원분들의 퍼포먼스를 어느정도 파악했지만, 새로운 프로젝트를 하는것이다 보니 이번엔 얼마나 잘 업무를 수행해주실지 잘 감이오지 않았다.
그래서 첫 주는 대략 동일한 수준의 업무를 맡겼고, 일주일간의 수행정도를 보고 적당히 조정해가며 업무 분배를 했다. 팀장이라곤 하나 나도 프로젝트 경험이 한번밖에 없었기 때문에 팀원분들께서 부족한 팀장의 말을 잘 따라주셔서 너무나 감사했다.
내가 기여한 부분은 DB설계, API 문서 작성, 프로젝트 관련 서버 API 구현, github OAuth 인증 구현, 로그인/회원가입 유저정보수정 CSS 그리고 배포.
todo.gg는 프로젝트를 함께하는 개발자 또는 비개발자들을 위한 협업툴이기 때문에 프로젝트 생성,수정 등의 기능들이 필요했고, trello 서비스를 참고하면서 어떤 기능들이 필요할 지 고민하며 구현했다.
CSS는 기본적인 이해도를 높이고자 라이브러리를 사용하지 않았다.
배포는 내 아마존 계정을 이용해서 했기 때문에 굳이 팀원분과 함께하기 보단 내가 맡아서 하기로 했다.
AWS에서 S3, EC2, Route53, CloudFront, RDS 를 이용했고, S3에서 정적 호스팅을 하고 EC2에서 동적 컨텐츠를 응답하는 방식으로 구현했다. 퍼스트 프로젝트는 http로 배포를 했기 때문에 파이널에선 인증서도 발급받고, 도메인까지 구해서 https로 배포하고 싶었다. 구글링을 통해서 가볍게 해결해보려고 했지만, 내가 생각한 방식대로 배포를 진행한 분들이 없어서 맨땅에 해딩하는 심정으로 일주일간 열심히 이것저것 시도해보고 검색했다. 그래서 마침내 무료 도메인을 구하고, AWS CM을 이용해서 https 배포하는데 성공했다. 블로그대로 따라하고 도메인을 구매했다면 손쉽게 배포할 수 있었겠지만, 이렇게 내가 의도한 방향대로 배포를 성공시켜내는 것이야말로 가치있다고 생각했기 때문에 성공한 뒤에 성취감은 이루말로할 수 없을만큼 컸다! 오래 기억하기 위해 블로깅할 생각이다.
서버는 express를 사용했고 DB는 mySql, ORM으로 Sequelize를 사용했다.
정적 웹페이지를 react로 구현하고, 서버에서 동적 컨텐츠를 얻어올 수 있도록 웹서버를 구현했기 때문에 서버 API를 RESTful하게 만들고자 노력했는데 RESTful API를 더 공부해보고 리팩토링하며 보완할 것이다.
보완하고 싶은 점은 처음 기획범위에 있던 반응형 웹으로 만들지 못한 것, 서버 코드가 모듈화하지 못한 부분 때문에 쓸데없이 복잡하고 긴 것, 기능구현에 급급해서 사용한 기술에 대한 이해도가 부족한 것 등이 있다.
반응형 웹으로 리팩토링할 것이고, 서버코드 또한 모듈화하면서 "좋은 코드"로 탈바꿈시켜갈 것이다.
개인적으로 많이 아쉬운 것이 사용한 기술에 대한 이해도가 부족하다는 것인데, 짧은 시간안에 기능을 구현하려다보니 여기저기서 찾은 것들을 이해하진 않고 이용하기만한 것 같다. 예를들어 JWT를 이용해서 로그인 인증을 했는데 토큰의 구조나, 원리정도는 알고있지만 더욱 이해도가 있담녀 토큰 인증 방식을 더 꼼꼼히 잘 구현할 수 있지 않았을까 하는것이다. 리팩토링도 하고 공부를 꾸준히 해나가며 알아낼 것이지만, 토큰 뿐만 아니라 DB나 ORM에 대해서도 작동에 비해 이해가 부족하다는 생각이 들었다.
리팩토링을 진행하고, 새로운 스택도 사용해볼 생각이다.
javascript 개발자라면 모를수가 없는 typescript를 백엔드 코드에 적용시켜보고 싶다. typescript는 채용 공고에서도 심심치않게 발견할 수 있는 스택이기 때문에 꼭 한번 공부해보고 싶었다.
그리고 typescript와 뗄 수 없는 typeORM도 사용해볼 것이다.
코드스테이츠 수료 후기
코드스테이츠는 떠먹여주는 식의 주입식 교육을 하는 곳이 아니고
말하자면 "고기를 잡는 방법"을 가르치는 곳이기 때문에 자신의 검색 능력이 좋으며 문서를 읽고 이해하는데 능한 분들이 지원하신다면 후회하지 않을 것이라고 생각한다.
코테의 교육방식이 호불호가 갈리는 편이기 때문에 나도 커리큘럼을 소화하다 보면 어느부분은 너무 불친절해서 이건 완전 혼자 알아서 공부하는게 아닌가 싶을 때가 있었다. 비전공자에 코딩 초짜라면 세상에 혼자 내던져진 기분을 느낄지도 모르겠다. 하지만 그런 상황을 이겨내고 코테의 교육방식을 이해하고 코딩에 어느정도 소질을 발견하고 나면 버겁지만 따라갈 수는 있을 것 같다.
조금 버겁지만 따라가다보니 수료한 사람 입장으로서 코드스테이츠는 누구에게나 편하게 추천할만한 곳은 아닌것 같다. 나는 지원하기 전에 국비지원을 받아 코딩을 5개월동안 배웠었고, 아주 기본적인 이해는 갖고있는 상태로 시작했기 때문에 조금은 시작이 수월했던 것 같다. 이 시작을 따라가지 못해 포기하시는 분들을 여럿 봤기 때문에 정말 처음이고 자신이 없다면 독학으로라도 코딩의 맛을 보고나서 도전해보는것이 나쁘지 않을 것 같다.
하지만 본인이 반드시 개발자가 되겠다는 의지와 열정이 넘치는 분이라면 잘 해낼 수 있을 것이다. 커리큘럼 내에서도 직원분들이 여러가지 케어를 시도하시기도 하고, 질문에 대해서 빠른답변이라곤 못하겠지만 답변을 잘 해주는 편이라고 생각하기 때문에 본인의 의지만 확실하고, 포기하지 않을 자신이 있다면 개발자로 커리어 전환에 한발자국 다가갈 수 있을 것이다.
가장 중요한 것은 수료하면 이제 나는 개발자로 취업할 수 있어!가 아니라 주니어 개발자로서 한걸음을 내딛을 최소한의 준비를 마친것이기 때문에 개발자로 취업을 위해선 수료 후에도 끊임없이 공부해야한다는 것이다. 개발자는 타 직종보다 연봉을 조금 더 받고, 세상에 공짜는 없듯 개발자는 많은 것을 알아야 하고 꾸준히 공부해야 한다. 그렇기에 개발을 사랑하고 의지가 확고하지 않다면 코드스테이츠에 발을 들여놓지 않는것이 좋지않을까 싶다.
나는 국비지원 학원에서 배운 것보다는 이력서에 쓸 것이 많아졌고, 채용공고에서 원하는 스택을 맛볼 수 있었기 때문에 상대적으로 굉장히 만족스러웠다. 앞으로는 코칭을 받으면서 열심히 공부할 일만 남았다. 화이팅.
'CodeStates' 카테고리의 다른 글
코드스테이츠 Full Pre 4주차 회고 (0) | 2020.10.06 |
---|---|
코드스테이츠 Full Pre 2주차 회고 (0) | 2020.09.20 |
댓글