자기소개서 노션링크:https://bit.ly/3A9NXsr에서 동일한 내용을 확인 할 수 있습니다
<aside> 💡 왜 개발자가 되고 싶나요?
</aside>
2019년 1년간 일본에서 교환학생 생활을 하며, 초기 정착부터 귀국하는 순간까지 생각하지 못했던 상황에서 다양한 어려움들을 겪었습니다. 2020년 귀국 후 ‘한국에 오는 외국인들의 어려움들을 해결 할 수 없을까?’ 라는 슬로건하에 동기들과 함께 ‘wesix’팀을 만들었습니다. 2개의 프로젝트를 진행하며 팀장으로서 기획과 운영을 주로 담당했습니다. 프로젝트 중에 여러 사용자들을 직접만나고 프로젝트가 진행되는 과정을 컨트롤하면서 성과가 나는 것에 흥미를 느껴, 기획자가 되어야겠다는 생각을 했습니다.
두 프로젝트를 마무리 짓고난 후 기획자가 혼자서 프로젝트의 모든 부분을 진행할 수 없고, 프로젝트의 핵심가치를 전하기 위해서는 개발자가 필수적이라는 것을 느꼈습니다. 따라서 컴퓨터공학을 전공했지만 개발실력이 부족하고 주위 전공자 개발자들에 비해 시작이 늦었지만, 이전의 경험들을 바탕으로 저의 강점을 살려 사용자와 팀원과 끊임없이 소통하며 사용자가 충성고객이 되도록 하는 프론트엔드 개발자가 되어야 겠다고 결심했습니다.
<aside> 💡 SW사관학교 정글 프로그램을 지원한 이유와 그 과정에서 배운 점이 무엇인가요?
</aside>
컴퓨터 공학을 전공했지만 창업 경험을 바탕으로 기획자의 길을 희망하다, 기획이라는 강점을 가진 프론트엔드 개발자가 되어 결심을 하고 ‘겸손한 자세로 처음부터 다시 배우자’라는 자세로 정글을 지원하게 되었습니다. 정글 과정 중 자료구조 및 알고리즘 공부와 전산학 지식도 배우고 프로젝트를 진행하며 학문적인 배움들도 있었습니다. 그 중 앞으로 살아가며 개발자로서 가져야할 마인드와 자세, 단기간 몰입을 통한 성장과, 린(lean)하게 진행하는 방법에 대해서 제일 큰 배움을 얻었습니다. 또 빠른 성장을 하는 동료들을 보며 그들의 장점과 학습하는 태도를 배우고 느낌점과 학습한 내용을 블로그와 노션 기록하며, 문서화 하는 습관도 길렀습니다.
<aside> 💡 어떤 프로젝트들을 진행했나요?
</aside>
창업 프로젝트로 국내 거주 및 거주 예정 외국인을 위한 정착 및 생활지원 서비스 - ‘easysettle', 대학생을 위한 맞춤 소통 어플리케이션 ‘와글와글’을 진행했고, 정글과정을 중 개발자 모의 기술면접 대비 서비스 ‘Techterview’와 미니프로젝트 ‘Mbti기반 정글 자기 소개 사이트’를 진행했습니다. 창업과정에서 진행한 프로젝트의 경우 개발을 제외한 전반적인 업무를 도맡아 진행했습니다.
여러 프로젝트들 중 정글과정을 통해 진행한 ‘Techterview’가 미니프로젝트가 아닌 첫 웹 개발 팀 프로젝트 였습니다. 사용자 경험을 하고 프로젝트를 develop하고 싶었지만, 시간이 한정적이여서 사용자 경험은 많이 하지 못했고 원하는 기능들을 모두 안정적으로 구현하지못한 아쉬움이 있습니다.
여러 프로젝트를 진행하며 다양한 포지션의 업무를 수행했지만, 공통적인 부분은 팀장을 맡은 점입니다. 프로젝트 팀장으로 제일 중요하게 여긴 가치는 팀원간의 소통이었습니다. 팀원들의 성격과 개발 스타일이 서로 다르기 때문에, 팀원간 피드백을 주는 시간을 정기적으로 가져 개발 외적으로도 사소한 오해가 생기는 것을 방지했고, 서로의 의견에 대해 확실하게 이해할 수 있도록 했습니다.
<aside> 💡 프로젝트를 진행하면서 어려웠던 문제가 무엇이고 어떻게 해결했나요?
</aside>
함께하기에서 안정적인 실시간 통신을 위해서 Webrtc를 활용하여 구현을 했습니다. 프로젝트 초기 추후 프로젝트의 확장성을 고려하고, 편리한 커스터마이징을 지원하는 SFU 방식의 Open source인 Openvidu를 사용하여 진행했습니다. SFU 방식의 경우 별도의 미디어 서버를 구축해야 하는데 Openvidu의 경우 미디어 서버를 구축시 도커 이미지를 활용하여 편리한 부분이 있었습니다. 하지만 SSL인증, 브라우저간 호환문제, 디바이스 인식 문제등이 발생하였습니다. 따라서 함께하기의 1대 1 통신에 적합한 P2P 방식의 Mesh로 구현하기 위해 Peer.js와 Socket.io를 활용하여 webrtc를 구현했습니다. P2P 방식의 경우 별도의 미디어 서버를 필요로 하지 않기 때문에 앞서 SFU 방식으로 진행할 때 발생했던 문제들이 발생하지 않았고, 1대 1 통신의 경우 더 안정적인 실시간 통신이 가능했습니다.