"0에서 100이 될 때까지"
저는 0이었던 웹 개발 역량을 지난 1년간의 노력을 통해 풀 스택 개발자의 목표로 한 발짝 다가갈 수 있었습니다. 먼저 300시간의 `JAVA 프레임워크 실무 개발자 양성과정`에 참여해 웹 개발 기초를 쌓았습니다. 하지만 300시간으로는 웹을 이해하고 완성도 높은 프로젝트를 개발하는 것에 어려움이 있었습니다. 이에 저는 부족한 역량을 채우기 위해 ‘OO OO OO OOOO’에 도전하게 되었고, 1년간의 웹 개발 교육을 받을 좋은 기회를 얻게 되었습니다. 6개월 동안 Spring과 vue.js 를 사용한 프론트엔드와 백엔드 모두 학습하며 웹 개발 역량을 길렀습니다. 그뿐만 아니라, 자바 알고리즘도 학습하며 주도적으로 팀원들과 알고리즘 스터디를 하였습니다. 이를 통해 문제해결능력을 기를 수 있었고, 친구들에게 코드 리뷰를 진행하며 배운 것들을 공유할 수 있는 역량을 쌓았습니다. 교육을 받고 실무와 동일한 형태로 팀프로젝트를 진행하며 실무 역량을 쌓을 수 있었습니다.좋은점 1
Github의 잔디심기에서 아이디어를 얻어와 탄생한 위치기반 여행기록 플랫폼에서는 SpringBoot에서 JPA를 이용한 백엔드 개발을 맡았습니다. 처음으로 진행한 웹 프로젝트였기 때문에 다양한 도전과 경험을 할 수 있었습니다. JWT 토큰을 이용한 로그인, S3를 사용한 사진관리, HTTPS의 적용 등의 새로운 기술을 습득할 수 있었으며, 개발 도중 발생하는 여러 문제를 해결하며 문제해결능력을 기를 수 있었습니다. 그중 하나는 JPA를 다루던 도중 엔티티에 다른 테이블들을 매핑시키고 나니 무한 참조 현상이 발생하였습니다. 이러한 현상은 처음 겪다 보니 문제점의 원인을 찾기 힘들었지만 좌절하지 않고 여러 기술 블로그를 참조한 결과 잘못된 설계에서 비롯된 것이었습니다. 두 개의 엔티티가 양방향으로 매핑이 되어있었고, 데이터베이스와 서비스를 독립적으로 사용하지 않아 무한참조가 발생하는 것임을 알게 되었습니다. 결합도를 낮추기 위해 각 API에 필요한 request와 response DTO를 따로 생성해 주었습니다. 수정하는 데까지 시간이 오래 걸렸지만 DTO를 생성함으로써 필요한 정보만 골라 받고 보낼 수 있었으며, 무한 참조현상을 해결할 수 있었습니다.아쉬운점 1
새로운 기술을 습득하려는 도전정신과 문제를 해결하려는 끈기 덕분에 성공적으로 프로젝트를 마치고 우수상을 받을 수 있었습니다. 플랫폼을 개발하며 프론트 개발에 있어서는 컴포넌트를 최대한 재사용하며 효율적으로 UI를 구성하고 코드와 파일을 간소화하여 가독성을 높였습니다. 백엔드 개발에 있어서는 기능별로 서버를 분리한 MSA 구조의 서버를 EC2 상에 구축하여 안정적인 서비스를 제공하기 위해 노력하였습니다. 또한, 추후의 유지보수를 위해 MVC 구조로 RESTfulAPI를 개발하였으며, Jenkins로 배포를 자동화하며 프로젝트 배포의 편의성을 높였습니다. 그뿐만 아니라, 여러 팀 프로젝트를 진행하며 협업하는 과정도 배울 수 있었습니다. Git을 통해 코드의 버전 관리, Swagger를 통한 프론트엔드와 백엔드의 소통을 배우고, Jira로 팀원들과 진행 상황을 공유하며 애자일을 적용한 프로젝트 수행 방법을 학습할 수 있었습니다.좋은점 2
좋은점 1 지원자는 웹 개발에 열정적이었던 본인의 모습을 소개하고 있습니다. 제시된 이야기 소재가 회사에 호감을 주는 경험이라는 점이 좋고, 하나의 이야기를 구구절절 설명하는 것이 아니라 다양한 노력을 보여준 점도 좋습니다.
아쉬운점 1 앞부분의 작성 방식과는 다르게 이 부분에서는 하나의 프로젝트를 구체적으로 설명하는 방식을 선택했습니다. 그런데, 이 프로젝트 경험을 왜 이렇게 구구절절 설명해야 하는지 이유를 찾지 못하겠습니다. 이 경험은 지원자가 처음 진행한 웹 프로젝트 경험입니다. 즉, 전문 역량이 아직 갖추기 전의 경험이라는 것입니다. 그래서 제시한 기술도 특별하지 않고, 내용도 실수와 문제를 어떻게 해결하는지에 집중되고 있습니다. 이런 사례보다는 최근에 어려운 프로젝트를 성공적으로 수행한 사례를 제시하면 더 호감을 줄 것입니다.
좋은점 2 마무리 부분인데, 이 부분에서 자신의 역량을 최대한 많이 쓰고자 노력한 점이 좋습니다. 또한 기술에 대한 구체적인 설명도 좋았습니다.