프로젝트 회고

TIL : 파이널 프로젝트 회고2 : 협업 경험 후기

Veams 2023. 4. 4.

https://veams.tistory.com/81

 

TIL : 파이널 프로젝트 회고1 : 담당 작업 정리.

https://youtu.be/FRmkiWnzpkE NestJS, TypeORM, EJS 개발 환경이다. 디자이너나 프론트엔드 담당 없이, 5명의 백엔드 팀원끼리 만든 프로젝트이다보니, 시각적인 면은 좀 아쉬운 게 많지만, 그래도 DB를 다루는

veams.tistory.com

 

https://youtu.be/FRmkiWnzpkE%EF%BB%BF

후기

 

익숙해진 express와 sequelize대신 NestJS와 TypeORM을 선택하는 게 좀 부담스럽고, 프레임워크를 새로 배운다는 게 쉽지 않았는데, 타입스크립트를 사용하는 게 익숙해지고, 의존성 주입에서 발생한 정체모를 에러를 해결하는 법을 익히게 됐는데, 다음에 토이프로젝트를 하면 NestJS를 사용할 것 같다.

1. 슬로우 스타터

우리 팀은 트렁크 기반 개발 방식을 선택했다. 기본 브랜치는 develop이 아니라, main을 사용함과 동시에 기능완성 시점이 아니라, 매일매일 커밋을 하기로 결정하면서 커밋 수가 좀 부풀려진 감이 있지만, 덕분에 내 작업 추세가 기능개발방식 때보다 더 뚜렷이 드러나게 된 것 같다. 그래프 추세를 놓고보니 나는 슬로우 스타터라는 스타일이라는 것을 체감했다. 대기만성형 인간이라고 믿으려고 한다.

 

2. 개발의 즐거움과 성장

내가 이전보다 성장했다고 느낀 시점이 디버깅하는 요령이 생겼을 때부터였다. 나는 개발 입문자들이 가진 가장 큰 안타까움이 디버깅하는 능력이라고 생각한다. 문제가 생기면 어디서 발생했는지, 문제의 정체가 무엇인지, 이것을 어디서 탐색해야하는지 진짜 캄캄하다. 그러면서 시간이나 에너지를 엉뚱한 곳에 쏟게 된다.

 

5개월간 개발 학습을 하면서 컨트롤러, 서비스, 리포지토리에 콘솔 로그 찍으면서 어디에서 값이 안 불러와진다거나, 크롬 브라우저 개발자 도구를 활용한다든가 서버가 왜 작동하지 않는지 파악한다든가 하는 게 익숙해지고 요령이 생기면서 그만큼 한 문제에 매달리는 시간이 줄고, 무력감이나 좌절감을 겪는 것에서 벗어나게 되자 개발에 몰입하고 즐기는 시간이 늘었다. 한 달간의 프로젝트 기간에서 평일에는 매일 10시간~14시간 개발을 했는데 개발 일로 계속 꿈도 꿀 정도였으니 스스로도 흥미로운 경험이었다. 

 

프로젝트 중후반부터는 다른 팀원들을 도우는 역할도 하게 됐다. 이번 우리 팀은 거의 개발 능력이 비슷한 사람들로 구성되었는데

이전 미니 프로젝트까지는 실력차이가 많이 나는 팀원들끼리 매칭이 되다보니, 내가 도움을 많이 받곤 했다면, 파이널 프로젝트에서는 내가 점점 개발 속도가 빨라지자 비교적 작업이 느린 팀원을 도우며 문제를 파악하고, 해결하는데 익숙해지면서 같이 성장하는 경험을 하게 되었다.

 

3. ChatGPT 활용.

ChatGPT. 할 말이 많다. 중후반부에 개발속도가 빨라진 것에 큰 영향을 받았다. 

프로젝트 2주차 때인가 다른 팀원이 쓴다 길래, 속으로 답변도 정확하지 않다던데 구글링 하는 게 낫지 않나 싶었다.

3주차에 왔을 때 내가 하려는 게 잘 안 되어서 끙끙대다가, 답답한 마음에 ChatGPT를 우연히 사용해봤는데 남은 2주 정도는 진짜 활용을 많이 했다. 튜터를 옆에 두고 학습하는 기분이랄까. 

 

ChatGPT에게 지금 나의 상황에 대해 얼만큼 잘 설명하고, 또 내가 무엇을 하고자 하는지 표현하고 질문하느냐에 따라 ChatGPT의 답변의 질이 달랐다. 아직 자바스크립트의 심화적인 부분은 약하기도 하고, 기능을 구현할 때는 어떤 로직, 내장 매써드를 활용할지 잘 몰랐는데, ChatGPT가 제안을 해주니, 부정확한 답변이라도 내가 잘 조합하면 내가 원하는 바를 얻을 수 있었다. 그리고 그 답을 검증하는 것도 나의 몫이었는데, 이것도 잘 활용을 하기 위해서라도 개발지식을 더 잘 알아야 겠다는 생각이 들었다. 

 

4. 개발자로서의 정체성과 성장의 방향

클라이언트의 마음, 동료의 마음을 잘 읽는 개발자가 되고 싶다. 나는 이전까지 심리상담사 일을 해왔다. 어떤 한 인간의 특성을 파악하고, 그 사람의 특성이 그 사람이 놓인 상황에서 어떤 문제와 아픔으로 부각이 되는지 찾도록 돕는 것이 이전의 일이였다. 자기 상황을 정확히 설명하거나, 자기 문제와 욕망을 잘 규정하지 못한 채로 이상적인 정답을 찾으려다보면 우리가 처한 문제를 해결할 수도 없고, 우리는 고통을 받거나 안타까운 상황을 더 지속한다. 일상에서 시간과 에너지를 들인 것에 비해서 성취를 쌓지 못하고, 좌절감이나 무력감을 경험하기도 한다. 그래서 각자가 자신의 삶에 대해 마음을 읽을 수 있도록 돕는 일이 꼭 필요했다. 나는 이것이 심리상담사의 역할에만 필요한 역량이라는 생각은 하지 않는다. 

 

개발자로 일을 한다고 가정해보자. 어느 도메인의 서비스이든, 클라이언트들은 무언가 바라는 것은 있는데, 때때로 그것이 정확히 무엇인지 표현하기를 어려워 할 때가 있다. 어떤 분야에 대해 잘 모르기도하고, 혼자서 해결하기 어렵거나 바쁘기도 하니, 타인이 제공하는 서비스를 이용할 것이다. 그래서 나는 웹서비스를 개발하는 사람에게도 고객이 누구이며, 이들이 무엇을 원하는지 잘 찾을 수 것이 중요한 역량이라고 생각한다. 클라이언트의 마음을 잘 읽을 수 있는 질문을 잘 던질 수 있길 바란다.

 

클라이언트가 원하는 바에 대해서 질문을 던져보고, 고객이 바라는 것이 무엇인지 팀 동료들과 같이 탐색하고 상황을 공유하고, 공감대를 찾아가면서 고객이 정말 원하는 서비스를 구현하고, 그 서비스를 제공할 수 있는 개발자로 살고 싶다. 그래서 시니어가 됐을 때는 설계와 기획을 잘 하는 개발자가 되어 있길 바란다. 어느덧 내가 어떤 개발자가 되고 싶은지 그림을 그릴 수 있는 시기가 됐다. 그 그림이 아직 추상적이지만 현업에서 일을 하며 구체화하고 싶다. 몰입할 수 있고 그 결과로 성취를 얻을 수 있는 분야를 찾은 것이 정말 반가운 것이 부트캠프를 마치는 갖게 된 소회이다.

 

 

https://github.com/miu-null/spartasix

 

GitHub - miu-null/spartasix: sparta community club

sparta community club. Contribute to miu-null/spartasix development by creating an account on GitHub.

github.com

 

댓글