1.자기소개
안녕하십니까, 함께 일하고 싶은 개발자 박현준입니다.
저는 팀과 협력하여 체계적으로 목표를 달성하는 열정을 가지고 있습니다.
프로그래밍 지식을 쌓기 위해 부트캠프에서 파이썬과 장고를 활용한 백엔드 개발을 배웠습니다.
교육 과정에서 고연령자를 위한 키오스크 도우미 웹 서비스를 개발하는 팀 프로젝트에 참여하였습니다.
이 프로젝트에서 장고의 MTV 패턴을 활용하여 기본적인 백엔드 구조를 설계하고, RESTful API를 구현하여 클라이언트와 서버 간의 데이터 통신을 처리했습니다. 기획부터 개발, 배포까지의 전 과정을 직접 경험하면서 하나의 웹 애플리케이션을 구축하는 데 필요한 백엔드 구조를 깊이 있게 이해하게 되었습니다.
이 경험을 통해 팀워크의 중요성을 깨달았고, 개발자로서 성장하고자 하는 의지가 생겨 이 자리에 지원하게 되었습니다.
2. 프로젝트를 통한 성과
팀 프로젝트를 통해 얻은 가장 큰 성과는 개발이 혼자 하는 것이 아니라 협업을 통해 완성된다는 점을 체감한 것입니다. 하나의 웹 애플리케이션이 정상적으로 동작하려면, 오류를 파악하고 문제를 해결하며, 작성된 코드를 서버에 배포하는 등 각 단계에서 무엇을 관리해야 하는지 명확히 이해할 수 있었습니다. 이러한 경험은 팀 프로젝트의 성공적인 완료에 기여했을 뿐만 아니라, 향후 협업 프로젝트에서 중요한 밑거름이 되었습니다.
3. 트러블 슈팅
프로젝트 중 가장 기억에 남는 트러블슈팅 경험은 클라이언트와 서버 간 데이터 전송 문제였습니다. 기존에 사용하던 장고의 템플릿 데이터 전송 방식은 페이지가 새로고침되면서 데이터를 갱신하는 방식이었으나, 키오스크 특성상 데이터 변경 시 필요한 부분만 갱신하는 것이 더 자연스러울 것이라 판단했습니다.
프론트엔드에 대한 지식이 부족했지만, 구글링을 통해 자바스크립트를 활용하여 새로고침 없이 데이터를 갱신할 수 있는 방법을 찾았고, AJAX를 통한 JSON 형식의 데이터 전송으로 변경하여 문제를 해결했습니다.
또한, 배포 과정에서 SSL 인증서 문제로 카메라와 마이크 사용이 불가능했던 상황도 있었습니다. 이 문제는 도메인을 구매하고 AWS 인증서를 받아 등록함으로써 해결할 수 있었습니다.
4. 기능 개발을 위해서 노력한 부분
개발의 첫 번째 목표는 일상 속 불편함을 해결하는 것이었습니다. 저는 새로운 아이디어를 도입하기보다는 기존 기술에 변화를 주어 더 나은 솔루션을 만드는 것이 효율적이라고 생각했습니다.
키오스크에 AI 도우미 서비스를 추가해 고령자들이 쉽게 접근할 수 있는 환경을 만들고자 했습니다. 얼굴 인식과 음성 인식을 통해 사용자가 자연스럽게 기계를 사용할 수 있도록 하는 방식을 도입했습니다. 이를 위해 코딩을 시작하기 전, 브레인스토밍을 통해 각 상황에서 발생할 수 있는 시나리오를 예상하고 필요한 기능을 정의했습니다. 이 과정이 기능 구현 시 효율성을 높였고, 각 파트를 명확히 나누어 팀원들이 협력할 수 있도록 도왔습니다.
5. 기록했던 방식에 대해서
프로젝트 진행 시 기록을 효율적으로 관리하기 위해 '기능 구현', '아이디어 정리', '리팩토링', '트러블슈팅' 등의 카테고리로 분류했습니다. 새로운 기능을 추가할 때는 해당 코드의 동작 방식을 문서화하여 팀원들이 쉽게 이해할 수 있도록 했고, 아이디어가 있을 경우 관련 라이브러리 및 기능을 조사해 적용 여부를 팀과 논의했습니다. 기존 코드를 수정하거나 버그를 해결한 경우에는 리팩토링과 트러블슈팅 항목에 기록하여 향후 재발 시 신속하게 대응할 수 있도록 했습니다. 이러한 체계적인 기록은 팀원들 간의 원활한 소통과 협업에 큰 도움이 되었습니다.