프로그래머스 FE 데브코스 5기 12월~1월 MIL 회고

LineUp·2024년 1월 23일
1

FE 1차 프로젝트

드디어 협업 프로젝트를 진행했다. 프론트엔드 개발자들만 참여한 프로젝트로 주어진 백엔드를 활용하여 SNS 서비스를 개발하는 과제였다. 1차 팀과 다르게 팀장으로 프로젝트를 진행했다. 많은 고민을 했던 기간이었지만 그래도 좋은 팀원들 덕분에 프로젝트를 마무리할 수 있었다. 이번 단위기간은 이론적인 성장보다 협업 및 개발자 문화에 대한 인사이트를 발전할 수 있는 좋은 기회였다.

🔖프로젝트 소개

이번에 작업한 프로젝트는 카공하기 좋은 카페를 공유하는 SNS이다. 통일된 SNS라는 주제에서 항시로 업데이트되며 정확한 정보를 전달하는 카공 정보 플랫폼이 부재한다는 문제를 인식하여 해당 문제를 해결하기 위해 서비스를 개발했다. 사용자가 게시물을 작성할 때 각종 카페 정보를 추가하는 기능을 목표로 개발했으며, 검색, 알림, 채팅 등의 기능도 구현해 보았다.

🔖약속 잘 지키는 프롱이

단위기간에 세운 목표를 잘 지키는 착한 프롱이, 이번 크리스마스에 산타할아버지에게 선물을 받을 수 있겠죠?

지난 회고글까지는 단위기간 목표를 잘 완수하지 못했다. 데브코스 에이스 에구마님에게 혼난 것도 있었지만 스스로도 기록하는 습관을 들이지 못한 건 많이 안타까웠기 때문에 프로젝트 기간부터 나 자신과 한 약속을 잘 지키는 착한 프롱이가 되기로 결심했다. 개발 스타일 자체가 A부터 Z까지를 계획해서 하기보다 개발하면서 생각는 편이어서 개발 과정을 글로 쓰는 것이 만만치 않았다. 그래서 매일 개발 내용을 기록한다기보다 고민이 되거나 어려웠던 포인트 위주로 간단하게 글로 정리를 했다.

사실 아직까지도 개발과 기록을 편하게 시간 안배를 하지는 못한다. 기록을 위해 조사하고 정리하다 보면 개발이 밀리고 개발에 집중하다 보면 써야하는 글이 금방 쌓여버린다. 아직 애기 개발자라 모르는 것이 너무 많아서 더 그런 것 같다. 그래서 너무 많은 것을 담기보다는 문제와 문제 해결만을 집약해서 정리하려고 노력했다. 데브코스 기록왕들과 비교하긴 아직 많이 부족하지만 시작이 절반이라는 말이 있듯이, 차근차근 꾸준히 기록해보자.

🔖기술적으로 이끌 수 없는 팀장의 역할

가장 아쉬웠던 부분이며 가장 난감했었다. 주체적으로 팀을 이끌어야 하는 자리이지만 팀의 로드맵을 정교하게 설계할 수 없었다. 적극적으로 기술적 대화를 이끌어가는 분들이 있었다면 좋았겠지만 그렇지 않은 상황에서 내가 가진 편협된 기술적 시각을 제거하고 효율적으로 각 팀원의 의견을 이끌어내고 종합하여 모두가 만족할 수 있는 결론을 만드는데 집중했다. 물론 나 혼자만의 노력이 아닌 현주팀 전원이 고민하고 노력한 부분이다. (현주팀 다들 고생 많았어요!!)

이를 위해서 각 팀원의 상황을 파악하고 각자 본인의 의견을 정립하는 것이 중요하다 생각했다. 그래서 우리는 서로의 라이브러리 숙련도를 점검했다. 나를 포함한 팀원들의 라이브러리 숙련도가 부족한 상황에서 전반적으로 새로운 기술(라이브러리)을 마구잡이로 활용하는 것보다 라이브러리가 하는 일을 (많이 부족하더라도) 직접 구현해보며 왜 해당 라이브러리를 현업에서 사용하는 지를 느끼는 게 필요하다 생각했다.

또 팀장으로서 했던 고민은 실제 개발에 들어갔을 때 팀이 의지할 수 있는 로드맵을 그려주지 못했다는 것이다. 디자인 시스템 기반 개발을 선택했었기 때문에 재사용 컴포넌트 개발을 중점으로 두었다. 그래서 페이지 중심으로 개발을 하지 않고 컴포넌트 인터페이스를 정립하는 데 기간의 절반을 소비했다. 결국 웹 서비스를 만드는 과제였기 때문에 팀장으로서 중점을 환기하고 선택과 집중을 했어야 했지만 그러지 못해 후반부에 시간에 쫒기고 말았다.

추가적으로 한 고민은 각 스프린트 목표마다 세운 마일스톤의 기간이 적당한지도 감이 오지 않았던 것이다. 다른 팀들의 발표를 들으면서 더 타이트한 일정을 세웠어야 했다는 후회가 남았지만 당시에는 팀원들을 너무 몰아치지 않으면서 기간 안에 수행할 수 있을 것이라 생각했었다. 웹 개발 경험이 부족한 것도 있겠지만 팀장으로서 더 꼼꼼하게 일정을 관리하고 진행과정에 대해 더 많은 피드백을 요구했어야 했다고 생각한다.

얘기가 길었지만 정리해보면 개발 전반의 프로세스를 관리할 능력이 부족한 팀장으로서 본인의 관점대로 회의를 이끌어가지 않도록 항상 주의하고 팀원들의 상황을 활발한 피드백을 통해 파악하여 본인의 수준에서 기술적 도전을 할 수 있도록 도와주는 것이 할 수 있는 최선의 역할이라 생각한다.

🔖스프린트

마지막 스프린트를 진행하면서 왜 스프린트라고 부르는지 알 것 같았다. 최고 속도로 전력질주하는 모습과 유사하게 개발 스프린트도 정신없이 빠르게 작업들을 진행하여 목표 지점까지 도달하기 때문이다. 실제 달리기에서 최고 속도로 달릴 때 가장 중요한 요소는 호흡이라 생각한다. 아무리 힘들더라도 규칙적이고 엄격한 호흡을 수행할 수 있어야 스프린트를 지속할 수 있기 때문이다. 나는 개발 스프린트에서 "호흡"을 스프린트 규칙이라고 생각한다. 배포 직전 스프린트에서도 얼마나 엄격하게 팀 컨벤션을 준수하며 진행을 하냐에 따라 스프린트의 성공과 실패가 구분된다 생각한다.

솔직하게 말하면 마지막 스프린트에서 처음 설정한 컨벤션 중 다수를 지키지 못했다. 특히 2명의 리뷰를 받아야 PR을 머지할 수 있는 규칙이 정말 준수하기 힘들었다. 후반부로 갈 수록 시간에 쫒기고, 많은 일들이 꼬리에 꼬리를 무는 작업들이라 나의 작업 흐름이 끊어지지 않으려면 PR이 올라가자마자 2명이 리뷰를 달아야 한다. 하지만 현실적으로 이는 어렵기 때문에 결국 해당 규칙을 무시하기로 결정했다. 아니나 다를까 후반에 구현한 기능들에서 더 많은 버그가 적발되었다. 결국 추가 리팩토링까지 고려한다면 처음 개발할 때 잘 개발하는 게 더 효율적이었을 것이라 생각한다. 이런 시행착오를 통해 아무리 바빠도 스프린트는 엄격하게 진행되어야 한다고 생각하게 되었고 최종 프로젝트에서는 후반부를 고려하여 스프린트 일정을 계획해야겠다고 다짐했다.

🔖KPT

Keep : 기록하는 습관, 적극적으로 소통하기, 기본에 충실하기
Problem: 불규칙적인 루틴, 무리한 계획을 세워 작업을 미루는 습관
Try: 선택과 집중, 작업 우선순위 메기기, 자주 무엇이 중요한지 환기하기, 바빠도 아침 운동하기

1개의 댓글

comment-user-thumbnail
2024년 1월 23일

아잇 깜짝이야

답글 달기