채용 분야에서 요구하는 역량을 쌓아온 경험(연수,인턴,직장,프로젝트)과 본인이 보유한 기술 수준에 대해서 서술해 주세요.(수행 내역, 역할, 사용한 기술 등)

안드로이드 및 백엔드 개발 프로젝트를 진행하며 3가지 역량(고객 친화적 서비스, 논리적 문제 해결력, 안정성)을 키웠습니다.

첫째, 피드백 수용을 통해 사용자 경험을 개선합니다. 학교 공지사항 알림 서비스의 안드로이드 앱을 개발한 경험이 있습니다. 처음엔 FCM을 이용하여 30분마다 새로 등록된 게시글이 있으면 앱으로 알림을 보내주는 기능을 구현했습니다. 하지만 배포 후 받은 사용자 피드백을 통해, 단순한 기능 구현이 아니라, 사용자가 진정으로 필요한 부분을 개선해야 한다는 것을 깨달았습니다. 이후, 게시판 순서 변경 기능을 추가하고 토큰 재발행 시 발생했던 에러를 해결했습니다. 그 결과 앱 배포 이후 100명 이상의 사용자를 유치하였으며 현재 매일 200개 이상의 푸시 알림을 전송하고 있습니다.

둘째, 간편 결제 시스템의 데이터 무결성 문제를 해결한 경험이 있습니다. 멤버십 결제 기능을 구현하며 처음에는 프론트에서 결제 요청과 승인을 모두 처리한 뒤, 서버로 요청을 보내 사용자의 등급을 업그레이드했습니다. 그러나 해당 방식은 악의적인 사용자가 결제 금액을 조작할 경우, 대처하기 어렵다는 문제점이 있었습니다. 이를 해결하기 위해 결제 요청 전후에 관련 정보를 저장 및 검증하는 절차를 추가했습니다. 검증이 완료되면 서버에서 토스페이먼츠로 결제 승인 API를 호출한 뒤, 성공한 경우에만 사용자를 업그레이드했습니다. 이를 통해 결제 과정 전반에 걸쳐 데이터 무결성을 보장하였고, 시스템의 안정성을 강화했습니다.

** 기존

셋째, 안정성과 성능의 중요성을 알고 개발합니다.

데이터 처리 속도를 30배 향상한 경험이 있습니다. 카카오 테크 캠퍼스에서 자바 기반 REST API 개발을 배우며 스프링과 JPA를 이용한 서버 구축 방법을 학습하고 프로젝트를 진행했습니다. 깃허브 액션을 활용하여 테스트를 자동화하고, CI/CD 파이프라인을 구축하여 서비스의 안정성을 높였습니다. 데이터 삽입 시 쿼리를 최소화하기 위해 JDBC 배치 업데이트를 활용하여 데이터 처리 속도를 312초에서 9초로 단축했습니다.


<변경 고민중인 내용>

셋째, 모든 사용자에게 안정적인 서비스를 제공합니다. 백그라운드에서 30분마다 와이파이 목록과 상태를 조회하고, 최적의 와이파이에 자동으로 연결하는 핸드오프 기능을 구현했습니다. 그러나 안드로이드 정책 변경으로 인해 버전 10부터는 해당 기능이 제한되었습니다. 이를 해결하기 위해 상위 버전에선 알림을 통해 사용자가 클릭하면 시스템의 와이파이 설정 화면으로 이동하는 로직을 추가했습니다. 이를 통해 버전 간 호환성을 유지하며, 다양한 사용자를 위한 맞춤형 기능을 제공했습니다.

셋째, 신뢰할 수 있는 서비스를 제공합니다. 엔터프라이즈 환경에서 OpenWRT를 이용한 다중 라우터 관리 시스템을 구축하며, 다중 인증 및 백오피스 기능을 도입했습니다. 서비스 이용 시, 사용자 인증과 잠금 해제를 위한 비밀번호 입력 절차를 추가하여 보안을 강화했습니다. 또한, 관리자를 두 가지 역할로 분리하여, 일반 관리자가 최종 관리자의 승인 하에만 회원가입할 수 있도록 변경했습니다. 이를 통해 인증된 사용자만 시스템에 접근할 수 있도록 안전한 사용자 환경을 구축했습니다.

셋째, 성능의 중요성을 알고 개발합니다. 카카오 테크 캠퍼스에서 스프링 부트를 이용한 백엔드 개발을 학습하고 예비부부와 웨딩플래너의 매칭 플랫폼, 순수웨딩을 개발했습니다. 성능 점검을 위해 40개의 API를 호출하여 로그를 분석하던 중, 포트폴리오를 등록할 때 쿼리가 과도하게 실행되는 문제를 확인했습니다. 이를 해결하기 위해 JDBC 템플릿의 배치 업데이트 메서드를 사용하여 SQL 배치 인서트문으로 변경했습니다. 그 결과 1만 건의 데이터 삽입을 테스트해 봤을 때 약 30배 이상 성능이 개선되는 것을 확인했습니다.