일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- SQLD
- 비절차적 데이터 조작어
- Oracle
- window 함수
- 위코드
- 정규식 연산
- sql 저장 모듈
- 문법 차이
- show graph characteristics
- execute immediate
- MYSQL
- ROLLUP
- SQL
- 자료구조
- dense rank
- html
- git
- Node.js
- GROUPING
- searched case expression
- JavaScript
- list multiplication
- dom
- 정보처리기사
- 뷰
- 기업 협업
- coalesce
- 코드 스니펫
- simple case expression
- python
- Today
- Total
프로그래밍 숲
위코드(wecode) 부트캠프 1차 프로젝트 후기 · 회고(23.2.4.~23.2.17.) 본문
블로그를 옮기면서 전에 작성한 글들을 다시 포스팅합니다.
위코드 1차 프로젝트 회고
1. 프로젝트 개요
프로젝트 백엔드 github
프로젝트와 관련된 기본적인 개요는 위 백엔드 github 링크 readme에 첨부하였습니다.
2. 프로젝트 후기
📝 프로젝트에 들어가다.
위코드의 Precourse 및 Foundation1,2 과정을 거치면서 백엔드 웹 개발자로서의 기본적인 사항들을 배웠다. 프론트엔드와의 첫 협업, 그리고 첫 작품이 될 나의 포트폴리오의 모습이 몹시 기대됐다. 그렇게 자신감을 가지고 첫 프로젝트를 맞이했다.
프로젝트 첫날인 2월 4일 금요일에 프로젝트 팀 발표와 사이트 선정이 되었다. 우리 팀은 고급 스킨케어 브랜드인 이솝 사이트를 모델로 한 프로젝트를 진행하는 것으로 정해졌다.
📝 프로덕트 매니저로서의 도전
1차 프로젝트 팀을 편성한 후 2명의 PM을 선정해서 프로젝트를 진행한다고 했다. Product Manager
와 Project Manager
이 그 PM들이다. Product Manager는 프로젝트 마지막 날 Demo day 때 발표를 한다고 했다. 나는 처음부터 프로덕트 매니저로서의 경험을 해보고 싶었다. 단순히 개발자를 넘어서 비즈니스맨으로서의 미래를 꿈꾸고 있는 나에게는 너무나 소중한 경험이 될 것 같았기 때문이다. 다행히(?) 팀원들 중 프로덕트 매니저를 원하는 사람이 없었고, 내가 프로덕트 매니저를 한다고 했다.
첫 주 주말에 프로젝트를 위한 PET분석을 진행했다. Tech 분석은 금요일 저녁에 팀원들과 함께 진행했고, 나는 프로덕트 매니저로서 주말동안 Product 분석을 해오기로 했다. End-User 분석은 프로젝트 매니저를 맡으신 팀원분께서 해오시기로 했다.
프로덕트 매니저로서의 역할을 제대로 해보고 싶은 마음에 Product 분석을 제대로 하고 싶었다. 그래서 나중에 읽으려고 사둔, 최근에 IT 책 랭킹에서 높은 순위를 기록했던 제품의 탄생
이라는 책을 집에서 꺼내들었다. 책을 읽고 기본적인 프로덕트 매니저로서의 역할은 알 수 있었다. 책을 다 읽으려고 했지만 당연하게도 현업에서 실제 프로덕트를 관리하기 위한 내용이 많았고, 주니어 개발자도 아닌 주니어 개발자 지망생이 읽기에는 비즈니스적인 내용이 많았다. 그래서 앞부분의 프로덕트와 프로덕트 매니저에 대한 개념 정도만 파악한 후 다음에 다시 읽기를 기약했다. 물론 개발에 자체에 집중해야 하는 상황적인 한계도 있었다.
📝 프로젝트 1주차
프로젝트 첫 주차는 나름 여유가 있었던 편인 것 같다. 매일 오후 10시에 가는 운동도 갈 여유가 있었으니까 말이다. 첫 주차에는 DB ERD를 구축하고, 프로덕트를 삽입하기 위한 SQL문을 짜는데 시간을 많이 투자했다. instagram 클론 프로젝트인 westagram
보다는 만들어야 하는 데이터베이스가 훨씬 많았고, 관계도 더 복잡했다. 처음에 DB ERD를 설계했지만, 직접 데이터를 넣으면서 생각해보니 생각보다 수정해야 될 사항이 많았다. SQL 쿼리문도 지난 Foundation 과정에서는 익숙하지 않았다. 하지만 많은 관계로 얽혀있는 데이터베이스에 대한 SQL 쿼리문을 작성하다 보니, 이제는 그 때보다 훨씬 높은 SQL 쿼리문에 대한 이해를 가지고 있다는 것을 알아차릴 수 있었다. 역시 코드는 직접 써보고 고민하다 보면 어느새 실력이 늘어있는 것 같다.
📝 프로젝트 2주차
프로젝트를 진행하다보니까 벌써 1주일이 지나갔다. 데이터베이스 구축과 상품 조회 쿼리문 작성은 쉬울거라 생각했지만, 생각보다 오래걸렸다. 유저회원가입 및 로그인은 같은 백엔드 팀원이었던 분이 1주차 동안 진행해서 완성했고, 이제 장바구니, 결제 관련 기능을 구현할 차례였다.
1주차 때는 페이지(메인 페이지, 메인 카테고리 페이지, 서브 카테고리 페이지, 제품 상세 페이지) 별로 각각 요구하는 데이터들이 다르니 그에 맞는 서브 SQL 쿼리문을 각각 가져다 써야 한다고 생각했지만, 사실 그럴 필요가 없었다. 프론트엔드에서 필요한 정보만 가져다가 쓰면 되기 때문이었다. 그렇게 2주차 첫 날 제품 상세 페이지 조회를 기준으로 다시 SQL 쿼리문을 재편했다.
2주차의 화요일에는 위코드를 다니면서 속상한 느낌이 들었다. 제품 필터링 기능을 위해서 query builder를 사용해야 하는데, 도저히 어떻게 해야하는 건지 모르겠었기 때문이다. query buidler Class를 만들어서 필터링을 해야 했었는데, 진전이 전혀 없었다. 그렇게 집에 우울한 감정을 안고 집에 돌아갔다. 다음날 다시 맑은 정신으로 노트북 앞에 앉으니 오히려 생각보다 쉽게 문제를 해결할 수 있었다. 때마침 있었던 멘토님들의 쿼리빌더 관렬련 미니 세션과, 위코드 선배님들의 코드를 참조했더니 잘 해결할 수 있었다. 그렇게 큰 산을 넘고 나서는, 남은 과정들은 큰 문제없이 진행했다. 할 것이 많다보니까 쿼리빌더 Class에 대한 내용을 자세히 이해하지 못한 채 사용했지만, 나의 이해만큼이나 시간 내에 기능을 구현하는 것도 중요하다고 생각했다. 프로덕트 매니저로서 더 그런 생각이 들지 않았나 싶기도 하다.
typeorm의 transaction 관련 코드는 다른 백엔드 팀원분이 열심히 해주신 덕에 수월하게 적용할 수 있었다. transaction 안에 한번에 들어가는 결제 관련 여러 쿼리문을 작성하고 데이터를 불러오는 것은 크게 어렵지 않게 작성할 수 있었다. 그 1주일 사이에 실력이 늘었다는 것 같은 느낌이 들었다.
그렇게 수요일에 결제관련 코드까지 잘 작성하고 이후에는 디테일한 부분을 잡는데 신경썼다.
📝 프론트 백 사이의 통신
우리 팀은 서로 통신을 할 수 있는 기본적인 코드가 완성되면 중간중간 통신이 잘 되는지 확인을 했었다. 그게 아마 프로젝트를 무사히 마무리 할 수 있었던 큰 원인이었던 것 같다. 상품 조회 기능이 구현되면 통신을 해보고, 회원가입 및 로그인 기능도 구현되면 통신을 해보고, 결제 관련 기능도 구현되면 통신을 해보았다. 단계별로 미리미리 통신을 해보니 백엔드와 프론트 사이에 필요한 정보도 미리미리 파악할 수 있어서 나중에 조급해지지 않았던 것 같다. 백엔드로서 제공해야하는 API 문서를 다루는 것도 postman으로 처음 해보았다. 백엔드에서 프론트엔드로 데이터를 전송하는 매커니즘도 직접 경험해보니 내가 부족했던 부분을 알 수 있었다. 백엔드는 프론트엔드에서 데이터를 받기 쉽게 전송해줘야하는데, 나는 JSON_ARRAYAGG와 JSON_OBJECT로 여러번 감싸서 프론트엔드가 그 데이터를 받아오는데 조금 힘들지 않았나하는 생각도 들었다.
📝 마지막 디테일 잡기
기능을 구현하면서 원래 하려고 했던 모든 기능들을 다 구현하지는 못했다. 내가 구현했던 중복 필터링 기능(제품 향 여러가지 동시 필터링)은 프론트에서 구현하지 못했고, 프론트에서는 준비가 된 가격 필터링 기능도 내가 쿼리문을 복잡하게 짠 탓에 백엔드에서는 구현하지 못했다. 하지만 목요일에는 새로운 기능을 추가하기 보다는 이미 구현한 기능 내에서 작은 오류들을 잡으며 하루를 보냈다. 어느정도 오류를 잡고, 데모 데이때 시연할 영상도 마지막으로 촬영한 후 기분 좋게 집으로 돌아갔다.
📝 데모데이 & 발표
프로덕트 매니저로서 준비했던 내용들을 발표하는 시간이 다가왔다. 그 동안 프로덕트 매니저보다는 프로젝트 매니저를 맡은 팀원이 많이 고생했었다. 매일매일 DSM이 있었기 때문이다. 마지막 날이 되니 '그냥 발표 하면 되지~' 스스로 생각했던 것이 살짝 걱정도 되었다. 그래도 내용은 잘 준비했다고 생각해서 발표에 들어갔다. 발표 내용 자체는 좋았지만, 내 발표 목소리는 너무 마음에 안들었다. 그렇게 떨리는 자리도 아닌데 목소리는 왜이렇게 떨리는지. 새로운 발표 환경에 자주 노출되면서 적응하고자 프로덕트 매니저를 한다는 것도 있었다. 발표 전에 있었던 자신감과는 다르게 스스로에게 만족스럽지 않았던 발표였지만, 이번 발표를 통해서 한 번 더 경험치를 쌓을 수 있어서 좋았다. 앞으로 비즈니스 관련해서 더욱 발표를 많이 할 인생이라는 것이 어느정도 그려지기 때문이다.
📝 몰입의 순간들
2주 동안 정말 이 프로젝트 하나에만 몰입하면서 다른 것에는 손도 못댔다. 운동도 마지막 2주 중 마지막 1주는 아예 가지도 못하고, 매일 하던 10분의 명상도, 위코드를 다닌 이후로 매일매일 쓰던 TIL도 못썼다. 하지만 프로젝트 기간 동안 했던 몰입이 외부의 요인에 의해서가 아니라 나 스스로 그 프로젝트에 정말 몰입했다는 것이 신기하면서도 만족스러웠다.
지금까지는 흘러가는 대로 살았지만, 다니던 직장을 퇴사하고 개발자가 되기로 한 것은 내 선택이었다. 새로운 것을 배워가는 과정이 순탄치만은 않지만 확실한 건 내가 재미를 느끼고 있다는 점이다. 앞으로 하게 될 수많은 프로젝트 중 이제 1차 프로젝트가 끝났을 뿐이지만, 드디어 인생을 걸 만한 일을 찾은 것 같다는 확신과 함께 남은 2차 프로젝트가 기다려진다.
'개발, 인생, 생각 > 후기' 카테고리의 다른 글
위코드(wecode) 부트캠프 기업협업 및 최종 후기 · 회고 (23.3.13.~23.4.6.) (0) | 2023.07.02 |
---|---|
비전공자 SQLD 합격 후기 & 공부법 후기 (1) | 2023.07.01 |
위코드(wecode) 부트캠프 2차 프로젝트 후기 · 회고(23.2.25.~23.3.10.) (0) | 2023.06.22 |