저는 프론트엔드 개발자로서 PM 역할까지 주도적으로 수행한 경험이 있습니다. 초기 기획 단계에서는 사용자 페르소나 정의, 핵심 기능 도출, 사용자 플로우 설계 등을 주도하며 서비스의 방향성을 구체화했습니다. 또한, 디자이너 없이 피그마를 활용해 주요 화면의 와이어프레임 및 프로토타입을 직접 설계하여, 팀원 간의 커뮤니케이션 효율을 높였습니다.
프로젝트 전체 일정 관리, 역할 분배, Git Flow 기반 브랜치 전략 수립, 데일리 미팅 운영 등 협업 구조를 체계화하고, Notion을 활용해 회의록, Todo 등을 문서화하여 팀 전체의 생산성을 끌어올렸습니다.
기술적으로는: React + Zustand를 활용한 실시간 상태 동기화 및 사용자 인터랙션 설계 반응형 UI/UX, 접근성, 에러 핸들링 등 사용자 경험을 고려한 화면 구현 JWT 기반 인증 흐름, 로그인/회원가입, 게시글 작성 등 주요 API 연동 작업도 담당했습니다.
또한 예기치 않은 버그나 배포 이슈 발생 시에는 로그 분석, 디버깅을 통한 원인 파악 및 우선순위 조정으로 문제를 빠르게 해결했고, 팀원들의 기술적 질문이나 막히는 지점에서는 직접 코드 리뷰를 통해 문제 해결을 이끌어낸 경험도 다수 있습니다.
가장 기술적으로 어려움을 느꼈던 부분은 실시간 기능을 개발할 때의 데이터 일관성 문제였습니다. 초반엔 로컬 환경에서 각자 DB를 구성하다 보니 실시간 면접 예약 시스템이나 채팅 기능에서 동기화가 깨지고, 동시에 여러 사용자가 접근하면 데이터가 꼬이는 현상이 발생했습니다.
이를 해결하기 위해 먼저 AWS EC2 기반의 공동 DB 환경을 구축하고, 예약 처리 시 트랜잭션 처리를 적용해 동시성 문제를 해결했습니다. 프론트에서는 Optimistic UI를 적용해 사용자가 느끼는 지연을 최소화하고, 서버 응답에 따라 상태를 rollback하는 구조로 개선했습니다. 또한 소켓 통신에서 발생하는 문제들을 정리하고, 데이터 흐름을 문서화해 팀원들과 공유하며 문제의 원인을 팀 전체가 이해하고 개선할 수 있도록 리딩했습니다.
이 경험을 통해 저는 비동기 처리와 데이터 일관성 유지, 실시간 기능 설계에 대한 이해와 자신감을 얻게 되었고, 기술적 어려움을 팀과 함께 해결해내는 성장 경험을 할 수 있었습니다.
제목은 아직 정하지 못했지만 깃허브 커밋시에 이모지나 코멘트를 공유해서 추후에 코드를 회고할 때 당시 어떤 느낌을 받으며 코드를 작성했는지 알 수 있는 서비스를 제작해보고 싶습니다.