포트폴리오

정겨운

Java 백엔드 개발자

👩‍🔧 About Me


4년 차 개발자로 스타트업과 SI에서 Java & Spring Boot를 기반한 웹 서비스를 개발,배포 및 운영하였습니다.

불편함을 찾고 이를 개선하는 일을 좋아합니다. 본인 뿐 아니라 팀원과 회사에 도움이 되는 작업 환경을 만들기 위해 배포 자동화 스크립트를 만들거나 이슈 모니터링 툴을 개발하고 지속적으로 개선하여 사내에 공유한 경험이 있습니다.

혼자 보다는 함께 성장하는 것을 좋아합니다. 사내에서 Spring 스터디, DB 스터디와 같은 소규모 모임을 운영하고, 회사 밖에서도 글또(글쓰는 개발자 모임)이나 컨퍼런스에 참여하며 새로운 개발자들과 지속적으로 교류합니다.

💪 역량


Java, Spring 기반 웹 서비스 개발 및 운영

  • 리마커블소프트 > KCC 글라스 그룹웨어 서비스 개발 및 운영(메일, 결재, 분서반출, 게시판)
    • 기존 KCC 그룹웨어 레거시 시스템으로부터 KCC 글라스용으로 분리하면서 테스트 코드 적용, 클라우드 환경으로 메일 서비스 전환 및 DRM 변경 적용
  • 리마커블소프트 > KCC 글라스 주간보고 시스템 신규 개발
  • 리마커블소프트 > KCC 글라스 방문자 출입 시스템 신규 개발

DB 모델링

  • 신규 개발건인 KCC 글라스 주간보고 시스템과 방문자 출입 시스템을 MySQL 기반으로 설계
    • 주간보고 시스템은 총 20개의 테이블을 사용하여 관리자 계정이 예외 권한 처리를 수행할 수 있도록 모델링

타 시스템 연동

  • 파일에 DRM을 적용하여 고객사 사내 시스템 보안 강화
  • 온프레미스 환경에서 클라우드 환경으로 전환하는 과정에서 기존 사용하던 메일 서버를 대신하여 MS Outlook의 graphAPI 적용
  • CS 상담사가 사용하는 차량 사고 접수하는 화면에 구글맵 API를 적용하여 사고 차량의 예약 상태와 현재 위치 등을 지도에 출력

레거시 시스템 리엔지니어링

  • KCC 글라스 그룹웨어의 모바일 UI 및 UX 개선을 위해 개편 작업
    • 사용자 편의에 맞춘 메인화면 개선, 결재 프로세스 간소화 및 웹오피스 적용하여 첨부파일 조회 경험 개선

신기술 도입

  • 검색 기능 고도화를 위해 사내 ELK 스터디 운영 후 운영 시스템에 적용하고, 이후에도 관련 내용을 사내 발표와 문서를 통해 사내 직원들에게 전파

개발 환경 개선 및 조직 문화 발전 기여

  • 사내 로그 파일을 더 적극적으로 활용하기 위해 ELK 적용하여 실시간으로 슬로우 쿼리를 확인하고, Slack API를 사용하여 에러 로그 발생시 해당 메시지를 슬랙으로 푸시하도록 개선
  • 공부하고 싶은 주제가 겹치는 동료들을 모아 주기적으로 퇴근 후 사내 스터디 진행 ( Spring 스터디, 함수형 프로그래밍 스터디 )
  • 기존에 수동 배포하던 프로젝트의 배포 프로세스를 자동화하기 위해 배포쉘 작성
  • 프로젝트 관리 툴인 노션에서 반복작업을 최소화하기 위해 템플릿과 버튼을 적극적으로 추가

개인 성장 노력

  • 협업시 커뮤니케이션 및 문서화를 잘 하기 위해서 외부의 글쓰는 개발자 모임인 글또에 참여하여 개인 블로그에 2주에 한 번씩 주기적으로 기술 포스팅
  • 스트레스 관리 및 체력을 위해 출근 전 운동을 1년 이상 지속중

📊 프로젝트


사내 로깅 시스템 개선

⚠️ 문제 상황

  • 기존 사내에서 각종 로그들은 log 디렉토리 밑에 적재만 하고 있었음.
    • 그로인해 사용자가 문제를 발견하기 전에 먼저 문제 상황을 인지할 수 없었음
    • 또한 시간별로 단순히 쌓기만 했기 때문에 특이점이 있는 로그를 분별하기 어려웠음

🛠️ 해결방안

  • 단순 로그 메시지 중 크리티컬한 이슈나 슬로우 쿼리를 필터링할 수 있는 기능이 필요.
  • 문제 상황을 실시간으로 알아차릴 수 있게 에러 발생시 알림을 주는 기능이 필요
    • Elasticsearch 를 사용하고 있으므로 이를 알림까지 연동하려 했으나, 알림 기능은 유료 기능. 사내 모니터링 용도이기 때문에 큰 돈을 투자하기 어려워 다른 방법을 찾아야 했음
    • 사내에서 슬랙 메신저를 사용하고 있었기 때문에 슬랙의 프로젝트 채널별로 에러 알림을 보낼 수 있도록 알림 서버 구축 및 Slack API 연동

✅ 결과

  • 자주 발생하는 에러, 슬로우 쿼리가 나타나는 지점, 시간대 등을 Kibana로 통계내고 시각화 ➡️ 이슈의 우선순위를 파악하고 디버깅 하는데 명확한 증거가 됨
  • 발생하는 에러를 실시간으로 알림을 받게 되어 즉각적으로 처리할 수 있을 뿐만 아니라 팀원들과 이슈상황을 동시에 공유하고, 더 나은 방법을 토론하는 데 도움이 됨

그룹웨어 웹 & 모바일

⚠️ 문제 상황

  • 그룹웨어 앱 사용자로부터 결재 문서를 보거나 모바일로 작업하기 불편하고, 메일이나 게시판에서 문서 파일을 볼 때 매번 다운로드를 받아야 해서 불편하다는 의견이 다수 접수됨

    사용자가 느끼는 불편함의 핵심은 원하는 기능을 수행하기까지 거쳐야 하는 단계가 많다는 것

🛠️ 해결방안

  • 결재 관련 프로세스 개선
    • 결재 양식 조회
      • [기존] 결재 문서 조회시 양식 사이즈가 모바일의 스크린보다 커서 사용자가 손가락으로 양식을 움직여서 확인해야 함
      • [수정] 결재 양식을 모바일 스크린 안에서 한 번에 볼 수 있도록 퍼블리싱 수정
    • 결재 문서에 관련된 첨부파일, 의견 조회
      • [기존] 기본으로 숨겨져 있고 첨부파일 또는 의견을 확인하려면 제목이나 사이드바를 클릭해야 함
      • [수정] 따로 클릭하지 않고 바로 확인할 수 있도록 모두 보이게 만들되, 화면이 복잡하지 않도록 양식 화면을 스크롤로 내려야 보이도록 UI 수정
    • 결재 승인 또는 반려 프로세스 단축
      • [기존] 웹과 동일하게 비밀번호 확인과 의견 등록 여부 등을 확인하는 팝업이 총 3회 출력
      • [수정] 그룹웨어 앱은 사내에서만 접근 가능하고 모바일에서는 대체적으로 단순한 작업만 한다는 의견 ➡️ 결재 승인시 확인 팝업 1회만 출력하고, 의견 등록 등의 기타 작업은 따로 할 수 있도록 화면 개선
  • 첨부파일 확인 로직 개선
    • 모바일에서는 첨부파일을 다운로드하는 대신 웹뷰어로 바로 확인하도록 개선

✅ 결과

  • 메일함에서 첨부파일 확인까지 클릭 수를 3회에서 ➡️ 1회로 줄임으로써 사용자 경험 증대
  • 결재 문서 조회시 한 번에 모든 내용을 확인할 수 있어 편하다는 의견
  • 요구사항 수집 단계에서부터 사용자가 불편함을 느끼는 근본 원인을 찾기 위해 고객사와 끊임없이 소통함으로써 고객사로부터 가장 만족스러운 개선이었다는 피드백을 얻음