김선호

김선호

1989.04.24 (37세)

Software Engineer

응용 소프트웨어 개발 엔지니어

2015년부터 공공·민간 분야 응용 소프트웨어 개발에 참여해왔습니다. 전자정부, 공공 데이터 플랫폼, 모바일 앱 등 다양한 도메인에서 10년 이상의 개발 경력을 보유하고 있습니다. 최근에는 AI Agent를 업무에 접목하는 방안을 탐구하고, AI를 활용한 개발 생산성 향상과 업무 자동화에 많은 관심을 갖고 있습니다.

10년+
개발 경력
6년+
프리랜서 경력
15개+
참여 프로젝트
6개
공공 프로젝트

기술 스택

Java10년+
Spring / Spring Boot8년+
전자정부 프레임워크8년+
Node.js2년+
REST API10년+

케이스 스터디

실제 프로젝트에서 마주친 문제와 해결 과정

바이오 데이터 플랫폼 DB 아키텍처 전환 (MySQL + Elasticsearch → PostgreSQL + pg_search)

2026 - 진행 중
문제
MySQL과 Elasticsearch를 함께 운영하는 구조에서 세 가지 한계가 누적됐습니다. 첫째, 바이오 데이터는 유전체 서열·화합물 구조·단백질 어노테이션 등 스키마가 데이터 소스마다 제각각인 비정형 데이터입니다. MySQL의 JSON 컬럼은 내부 키에 효율적인 인덱스를 걸 수 없어 복잡한 조회 시 풀스캔이 발생했고, Elasticsearch에는 별도 매핑을 관리해야 했습니다. 둘째, MySQL과 Elasticsearch 간 데이터 동기화 파이프라인(Logstash 등)이 별도로 필요해 운영 포인트가 늘어났고, 한쪽 장애가 데이터 불일치로 이어지는 위험이 있었습니다. 셋째, 바이오 데이터 간 복잡한 링크 요청(유전체-화합물-논문 간 교차 조회)이 증가하면서 검색 부하가 커졌고, 이를 처리하기 위해 Elasticsearch에 임베딩 모델 기반 인덱스를 추가 관리해야 해 구조적 복잡도가 더욱 높아졌습니다.
접근
단일 PostgreSQL로 통합하는 방향으로 접근했습니다. 첫째, 비정형 바이오 데이터는 JSONB 타입으로 저장합니다. JSONB는 바이너리 포맷으로 파싱 비용이 낮고, GIN 인덱스를 통해 중첩된 JSON 내부의 특정 키(예: 데이터 소스 ID)에 직접 인덱스를 걸 수 있어 기존 관계형 테이블과의 조인 성능을 확보할 수 있습니다. 둘째, pg_search(ParadeDB 확장)를 도입해 Elasticsearch를 대체합니다. BM25 기반 전문 검색을 PostgreSQL 내부에서 처리하며, 검색 인덱스가 같은 DB 트랜잭션 안에서 자동 갱신되므로 별도 동기화 파이프라인이 불필요합니다. 셋째, 별도 Elasticsearch 클러스터가 사라지므로 인프라·모니터링·장애 포인트가 단순화됩니다.
결과
현재 설계 및 전환 작업 진행 중입니다. 기대 효과: 동기화 파이프라인 제거에 따른 운영 복잡도 감소, 바이오 데이터 비정형 필드 조회 성능 개선, 인프라 비용 절감.
PostgreSQLJSONBpg_searchDB 아키텍처JavaSpring

국내외 바이오 데이터 소스 API 통합 연계 아키텍처

2023 - 2025
문제
NCBI/GenBank, PubChem, DOI, ChemAxon 등 포맷과 인증 방식이 상이한 국내외 다양한 API를 단일 플랫폼에 통합해야 했습니다. 각 소스마다 응답 스키마가 달라 파싱 로직이 파편화되는 문제가 있었습니다.
접근
어댑터 패턴을 적용해 각 외부 API를 동일한 인터페이스로 추상화하고, 공통 연계 레이어를 설계했습니다. Spring Batch를 활용해 대용량 데이터 수집 파이프라인을 구성하고, 실패 시 재처리 로직을 표준화했습니다.
결과
2단계(2023)부터 4단계(2025)까지 3년 연속 동일 발주처에 재참여 — 안정적인 시스템 운영과 확장 용이성을 인정받은 결과입니다. 5단계(2026)도 참여 중입니다.
JavaSpring BatchREST API시스템 설계

AI 웹 폼 자동완성 크롬 확장프로그램 개발 (AI Form Filler)

2024
문제
반복적인 웹 폼 입력 작업을 자동화하고 싶었지만, 폼 구조가 사이트마다 달라 규칙 기반 자동완성의 한계가 명확했습니다.
접근
Google Gemini AI로 DOM을 분석해 필드의 의미를 추론하는 방식을 채택했습니다. 드래그 선택 모드로 특정 영역만 처리하는 UX와 단축키 기반 전체 처리 두 가지 인터랙션 패턴을 설계했습니다.
결과
Chrome Web Store 출시. 무료/프리미엄(월 2,000원) 구조로 운영 중. 별도 회원가입 없이 Google 계정으로 즉시 사용 가능한 온보딩을 구현했습니다.
TypeScriptChrome ExtensionGemini AI1인 풀스택

학력

전남대학교· 산업공학과 (학사)
2015.08 졸업

자격증

네트워크관리사 2급· 한국정보통신자격협회
2022.10
리눅스마스터 2급· 한국정보통신진흥협회
2022.09
정보처리기사· 한국산업인력공단
2016.07
OCP 11g· ORACLE
2015.09

프로젝트

국가 바이오 데이터 스테이션 체계 구축 (2~4단계)
2023.04 - 2025.12 · 응용SW 개발

국가 바이오 데이터 통합 플랫폼 구축 사업. 2023년 2단계부터 2025년 4단계까지 3년 연속 참여하며 백엔드 개발 및 시스템 유지보수를 담당. NCBI/GenBank, PubChem, DOI, ChemAxon 등 국내외 다양한 바이오·화학 데이터 소스 API 연계 개발.

JavaSpringMySqlLinuxREST API
  • 2단계(2023)부터 4단계(2025)까지 3년 연속 동일 발주처 재참여 — 안정적 운영 신뢰도 인정
  • NCBI/GenBank, PubChem, DOI, ChemAxon 등 10여 개 국내외 바이오·화학 데이터 소스 API 연계 설계 및 구현
  • 어댑터 패턴 기반 통합 연계 아키텍처 설계로 신규 데이터 소스 추가 용이성 확보
  • 5단계(2026) 연속 참여 중
국가농식품통계서비스 시스템 고도화 사업
2022.04 - 2023.04 · 응용SW 개발

농림축산식품부 국가농식품통계서비스 시스템 고도화 및 기능 개선 사업 참여.

JavaSpringOracle
  • 농림축산식품부 국가 통계 서비스 API 개발 및 성능 개선
  • 농식품 통계 데이터 수집·처리 파이프라인 고도화
건설공사 안전관리 종합정보망 구축 (3~4단계)
2020.09 - 2022.03 · 응용SW 개발

국토교통부 건설공사 안전관리 종합정보망 3단계 및 4단계 구축 사업. 건설현장 안전 정보 수집·분석 기능 개발.

JavaSpringOracle
  • 3단계(2020.09-2021.06), 4단계(2021.07-2022.03) 연속 참여
  • 건설현장 안전 이벤트 수집·분석 기능 개발 — 다수 현장 실시간 모니터링 지원
  • 안전 점검 이력 관리 및 통계 리포팅 기능 구현
수자원시스템 통합 유지관리
2019.03 - 2020.08 · 응용SW 개발

수자원 관련 정보 시스템 통합 유지관리 및 기능 개선 사업 참여.

JavaSpringOracle
  • 수자원 통합 정보시스템 1년 6개월 안정적 운영·유지보수
  • 사용자 요구사항 기반 기능 개선 다수 반영
농어촌공사 농업기반시설 관리 시스템(RIMS) 유지관리
2018.09 - 2019.02 · 응용SW 개발

한국농어촌공사 농업기반시설 관리 시스템(RIMS) 유지관리 및 기능 개선.

JavaSpringOracle
  • 농업기반시설 데이터 관리 기능 유지보수
  • 사용자 요구사항 분석 및 기능 개선
대리기사용 셔틀 탑승 지원 APP [쿱차큐]
2018.03 - 2018.06 · 안드로이드 앱 개발

대리기사를 위한 셔틀 탑승 지원 모바일 애플리케이션 개발. 실시간 위치 기반 탑승 매칭 기능 제공.

AndroidJavaGoogle Maps APIREST API
  • 안드로이드 네이티브 앱 설계 및 개발
  • 실시간 위치 기반 셔틀 탑승 매칭 기능 구현
공공조명 통합관제시스템 안드로이드 APP
2018.06 - 2018.09 · 안드로이드 앱 개발

공공 가로등 및 조명 설비의 통합 관제를 위한 안드로이드 모바일 앱 개발.

AndroidJavaREST API
  • 공공조명 원격 모니터링 및 제어 앱 개발
  • 조명 상태 실시간 확인 및 원격 제어 기능 구현
연구개발정보관리시스템 고도화
2017.06 - 2018.02 · 응용SW 개발

연구개발 정보 통합 관리 시스템 고도화 사업. 기업부설 창작연구소 & 전담부서 인정시스템과 병행 개발.

JavaSpringOracle
  • 연구개발 정보 수집·분석 기능 고도화 (2회 연속 참여)
  • 기업부설 창작연구소 및 전담부서 인정시스템 개발
포털사이트 족구코리아 및 안드로이드 앱
2016.09 - 2017.04 · 웹/앱 개발

족구 스포츠 커뮤니티 포털사이트 및 안드로이드 모바일 앱 개발.

JavaSpringMySQLAndroid
  • 스포츠 커뮤니티 포털 웹사이트 개발
  • 안드로이드 모바일 앱 개발 및 배포
국립아시아문화전당 홈페이지 유지보수
2015.11 - 2016.04 · 웹 개발

국립아시아문화전당 대표홈페이지 및 5개 원(院) 홈페이지 유지보수.

JavaSpringOracleJavaScript
  • 대표홈페이지 및 5개원 사이트 안정적 운영·유지보수
  • 신규 콘텐츠 등록 기능 및 UI 개선