채용공고 올리기

김문서님을 응원해보세요!

지금 만족하고 있어요

미리보기

기본 정보

이름
김문서
직업
Software Engineer
간단 소개

Java와 SpringBoot를 활용한 백엔드 개발 및 설계에 강점을 가진 소프트웨어 엔지니어입니다. 분산 SQL 엔진인 Trino를 활용한 DataQuery 서비스를 초기 단계부터 개발 및 운영하며 클라우드 환경에 최적화된 컴포넌트 개발을 주도했으며, Redis와 Kafka를 활용해 쿼리 실행 및 배포 로직을 효율적으로 개발했습니다. 또한, 효율적이고 유지보수 가능한 시스템 설계 및 개발에 강점을 가지고 있습니다. 대규모 Stored Procedure를 API로 전환하며 비즈니스 로직을 효율적으로 관리했던 경험과 모놀리스 아키텍처를 MSA로 전환했던 프로젝트를 통해, 복잡한 레거시 시스템을 현대화하는 데 탁월한 역량을 발휘해 왔습니다. 코드뿐만 아니라 인프라부터 서비스 전반을 설계하고 운영하는 것에 집중하고 있습니다. 앞으로도 끊임없이 학습하며, 확장성과 안정성을 갖춘 고품질의 서비스를 제공하는 백엔드 개발자로 성장해 나가겠습니다.

기술 스택

기술 스택

Spring Boot, Java, MongoDB, Redis, Kafka, MySQL, Vue.js, Kubernetes, Docker

경력

회사명

NHN Cloud

직급 | 부서 | 근무 유형

전임 | DataQuery개발파트 | 재직 중

근무 기간

2022.10. ~ 재직 중 (2년 4개월)

담당 업무
  • 분산 SQL 엔진 Trino를 활용한 DataQuery 서비스 초기 단계부터 개발 및 운영

  • 클라우드 환경 클러스터 배포를 위한 Kafka 기반 배포 컴포넌트 개발

  • Redis를 활용한 쿼리 실행, 모니터링 컴포넌트 개발

  • Apache Ozone, MinIO 등 다양한 분산 스토리지 솔루션 분석 및 PoC 주도

회사명

NHN

직급 | 부서 | 근무 유형

사원 | Global개발팀

근무 기간

2020.01. ~ 2022.10. (2년 10개월)

담당 업무
  • Stored Procedure 220개 중 180개 제거 및 API 전환

  • 약 40개의 DB 구조 개선 및 컬럼 정리

  • 모놀리스 서비스 MSA 아키텍쳐로 점진적 전환

프로젝트

프로젝트명

분산 스토리지 PoC 및 브레인스토밍

소속/기관명

NHN Cloud

프로젝트 기간

2024.03. ~ 진행 중

프로젝트 내용
  • Apache Ozone, Kerberos, MinIO

  • 메인 개발자로 자원하여 신규 데이터 분석용 분산 스토리지 서비스 PoC 및 브레인 스토밍

  • S3 API 프록시 컴포넌트를 담당하여 설계 및 개발

  • 인프라, 네트워크를 고려하여 서비스를 폭넓게 보는 경험

프로젝트명

Iceberg REST Catalog 개발

소속/기관명

NHN Cloud

프로젝트 기간

2024.06. ~ 2024.09.

프로젝트 내용
  • Spring Boot, Java, MySQL

  • Iceberg 스터디를 주도적으로 진행하면서 Iceberg 데이터 소스 개발

  • Open API Specification에 맞춰 REST Catalog 개발

  • 구현한 코드가 전무하여 애를 먹었으나 JDBC 코드 기반으로 구현

  • Partition 관련 Procedure 개발 및 스터디 진행

프로젝트명

Trino Web UI 로그인 쿠키 취약점 대응

소속/기관명

NHN Cloud

프로젝트 기간

2024.07. ~ 2024.08.

프로젝트 내용
  • Trino, Java

  • Trino Web UI 쿠키 탈취 시 한 쪽에서 로그아웃해도 다른 곳에서 정상적으로 로그인되는 이슈 발견

  • 쿠키 생성 시 메모리 캐시에 보관 후 로그아웃하면 해당 메모리 캐시 삭제하도록 코드 수정

  • 도커 이미지 생성 시 수정 모듈 포함되도록 설정 및 사용

프로젝트명

Trino 클러스터 배포 컴포넌트 개발

소속/기관명

NHN Cloud

프로젝트 기간

2024.04. ~ 2024.06.

프로젝트 내용
  • Spring Boot, Java, Kafka

  • 클라우드 환경이 변경됨에 따라 기존 사용하던 Argo workflow을 사용할 수 없게됨

  • 배포 과정을 Kafka 메시지로 매핑하여 Trino 클러스터를 배포하는 컴포넌트 개발

프로젝트명

서비스 과금 배치 개발

소속/기관명

NHN Cloud

프로젝트 기간

2022.11. ~ 2022.12.

프로젝트 내용
  • Spring Batch, Java

  • 사용자에게 클러스터, 네트워크 사용량에 대한 과금 로직 개발

  • 일 별로 전송한 과금에 오류가 없는지 검증하는 배치 개발

프로젝트명

쿼리 실행, 결과 저장 컴포넌트 개발

소속/기관명

NHN Cloud

프로젝트 기간

2022.06. ~ 2022.07.

프로젝트 내용
  • Python, Trino, Redis

  • Trino 쿼리를 실행, 결과 저장하기 위한 Python agent 개발

  • 사용자가 쿼리를 실행하면 Redis 큐에 쿼리 정보를 저장하고 실행 agent가 주기적으로 polling

  • 쿼리 결과 저장하는 agent는 해당 쿼리가 실행 완료되었는지 계속하여 확인하고 쿼리 결과 NFS에 저장하도록 개발

프로젝트명

DataQuery 서비스 개발 및 오픈

소속/기관명

NHN Cloud

프로젝트 기간

2021.10. ~ 2022.09.

프로젝트 내용
  • Spring Boot, Java, MongoDB, Trino, Argo workflow, Kubernetes, Docker

  • Trino 클러스터를 사용자에게 제공하는 서비스 개발 초기부터 참여

  • DB 설계 및 아키텍처 구성

  • 배포 관련된 Kubernetes, Argo workflow, 인프라 세팅을 주로 담당

  • 단순 코딩만 하는 것이 아닌 서비스를 전체적으로 바라보는 좋은 경험을 함

프로젝트명

모놀리스 서비스 MSA 전환

소속/기관명

NHN

프로젝트 기간

2021.07. ~ 2021.10.

프로젝트 내용
  • 미국에서 서비스 중인 B2B 패션 서비스 MSA 전환

  • 기존 코드가 모놀리스 방식이어서 유지보수가 힘들고 관리 부채가 점점 커져갔음

  • 팀원들과 MSA 스터디 및 Products 도메인 별도 API로 전환

  • 테스트 커버리지 90% 이상 달성 후 API 하나씩 이전함

프로젝트명

Stored Procedure JPA 전환

소속/기관명

NHN

프로젝트 기간

2021.04. ~ 2021.10.

프로젝트 내용
  • Spring Boot, Java, JPA

  • 비지니스 로직이 90% 이상 Stored Procedure로 관리되고 있어서 유지보수에 어려움이 있었음

  • 사용도, 영향도가 적은 Stored Procedure부터 DB팀과 더블 체크하며 순차적 전환

  • 전체 220개 SP 중 180개 제거 및 전환 완료

교육

소속/기관명

금오공과대학교

종류 | 전공

대학교(학사) | 컴퓨터소프트웨어공학과

재학 기간 | 재학 상태

2013.03. ~ 2020.02. | 졸업

대외활동

활동명

스터디

소속/기관명

연도

내용
  • Trino 코드 스터디 / 2022.10 ~ 2022.12

    • 오픈소스 Trino 소스 코드 Deep dive

    • 이후 서비스 운영하면서 에러 파악하는데 많은 도움이 됨

  • Iceberg 코드 스터디 / 2024.04 ~ 2024.06

    • 오픈소스 Iceberg 소스 코드 Deep dive

    • 스터디 내용 바탕으로 Iceberg REST Catalog 개발

활동명

Software Maestro 10기 연수생

소속/기관명

연도

내용
  • Hyperledger Fabric, SpringBoot, Java, AOS

  • 정부지원 사업, 10기 연수생으로 참여

  • 블록체인 오픈 서비스 기반 티켓팅 서비스

  • 블록체인 클러스터 구축 및 모바일 어플리케이션 개발 담당

  • AWS 환경에 배포

  • 서비스 정식 출시보다 블록체인을 스터디하는 것에 의의

활동명

ACM-ICPC 학교 대표

소속/기관명

연도

내용
  • ACM-ICPC라는 프로그래밍 알고리즘 경진대회에 출전해 학교 대표로 지역 본선에 출전

  • 아쉽지만 본선에서 입상하지는 못함

자격증

자격증명

정보처리기사

점수 | 발급기관

기사 | 한국산업인력공단

취득연월

2019.08.

댓글