채용공고 올리기

이준훈님을 응원해보세요!

이직/구직 중이에요
성실함
책임감
협업 지향
커뮤니케이션
자기 주도적

미리보기

기본 정보

이름
이준훈
직업
JAVA Backend 개발자
간단 소개

저는 좋은 백엔드 개발자는 거미와도 같다고 생각합니다. 작게는 서비스개발, DB설계, 장애상황분석 부터 크게는 동료, 협업 팀과의 원할한 협업 능력과 요구사항 분석 능력을 필요로 하기 때문입니다. 저는 저에게 주어진 문제를 해결하기 위해 동료와 함께 분석하고 설계하며 어떤것도 놓치지 않기 위한 저만의 거미집을 지어나가는 개발자입니다.

기술 스택

기술 스택

Java, Spring Boot, mybatis, Redis, DBMS/RDBMS, jQuery, JIRA, Notion

경력

회사명

(주)코난테크놀로지

직급 | 부서 | 근무 유형

팀원(대리) | 수행부문 | 재직 중

근무 기간

2023.06. ~ 재직 중 (1년 9개월)

담당 업무
  • 문서 중앙화 및 AI 학습 인터페이스 성격의 솔루션 개발 업무 수행
  • SpringBoot, Mybatis, JavaScript, Thymeleaf를 활용한 웹 개발
  • 고객사 운영환경 안정화 (2024.01 ~ 2024.05)

    • 방화벽 정책 및 보안 대책 수립 및 적용
    • 자사 AI 학습 솔루션 학습 실패 현상 디버깅
    • 협력사 Docker/K8S 솔루션 동작 실패 현상 디버깅
  • 파일 관리기능 설계 및 개발, 관리자페이지 리뉴얼 (2023.09 ~ 2024.01)

    • 파일 속성 관리 기능, 화면 개발
    • 최신 게시물 캐싱 기능, 화면 개발
    • 개별 AI학습 환경에 등록된 파일 메타데이터 수집 및 조회 기능 화면 개발
    • 보존기한 만료 데이터 삭제 스케쥴 기능 개발
  • 기존 기능 개선 및 서비스 디버깅 (2023.06 ~ 2023.09)

    • 다수 파일 한번에 다운로드 기능 개발
    • 사용자 개인폴더 자동할당 및 권한부여 기능 및 화면 개발
    • URL Encoding, 파일 정보 조회 등 버그 8건 디버깅 후 픽스
회사명

주식회사이노티움

직급 | 부서 | 근무 유형

팀원(대리) | 기술연구소

근무 기간

2023.03. ~ 2023.03. (1개월)

담당 업무
  • 문서 중앙화 및 문서 보안 솔루션 개발 업무 수행
  • Spring boot, Mybatis, Node 베이스 javascript 를 활용한 웹 개발
  • PHP 기반 솔루션 JAVA로 마이그레이션 (2022.06 ~ 2023.03)
  • C++ 기반 프로그램의 동작 조건을 명세하는 "정책" 관리 기능 설계 및 화면 개발
  • C++ 기반 프로그램의 동작 로그를 수집 및 조회하는 기능 설계 및 화면 개발
  • 테이블 설계 및 개발
  • 문서중앙화 솔루션 기능 개선 및 개발 (프로젝트 수행 기간 외 통상 업무)

    • 파일 공유기한 설정 및 관리, 파일 속성 등 파일 메타데이터 관리 기능 및 화면 개발
    • 현재 로그인중인 사용자 관리 기능 및 화면 개발
    • ElasticSearch JAVA API 연동을 통한 문서전문검색 기능 개발
    • 폴더 구조를 미리 선언하고 할당하는 폴더 템플릿 기능 및 화면 개발
  • 문서중앙화 솔루션 납품 프로젝트 수행 (총 근무기간 내 프로젝트 5건 참여)

    • 기능 협의, 기능 설계 및 개발, 화면 개발 업무 수행
    • 고객사 Legacy 프로그램, 외부 API 연동 기능 개발
    • 고객사 운영 환경 셋팅 업무 수행
    • 납품 완료 후 고객사 운영지원 업무 수행 (서버 환경 장애 대응)

프로젝트

프로젝트명

국방지능형 플랫폼 개발 및 안정화 프로젝트

소속/기관명

(주)코난테크놀로지

프로젝트 기간

2023.09. ~ 2024.04.

프로젝트 내용
  • 담당 역할 : 파일 관리, 포탈 기능, AI학습 환경 관리 서비스의 JAVA WEB 개발 및 안정화 담당
  • 업무 기간 : 2023.09 ~ 2024.04
  • 개발 인원 : PM 1명, 본인 외 웹 개발팀 4명
  • 상세 내용 :
    • 사용 기한이 만료된 데이터의 삭제 스케쥴을 개발하였습니다. 해당 개발 수행 중 서버의 임시파일 삭제 로직이 구현되어 있지 않아 임시파일이 무한정 적재되는 현상을 발견하고 임시파일을 삭제하는 로직을 함께 구현하였습니다.
    • 타인의 학습 환경에 등록된 파일을 사용하는 요청 로직을 개발하였습니다. 다만 AI학습 환경의 특성상 단일파일만 필요 한 경우는 적고, 파일 간 연계성이 높기때문에 자사 솔루션 팀에게 요청하여 학습 환경 내 데이터를 전체 복사하는 로직을 제안하여 개발하였습니다.
    • 포탈 홈페이지에 최신 게시물 정보를 보여주는 기능의 설계를 변경하고 개발하였습니다. 기존의 "DB에서 limit 조회 후 출력" 하는 설계가 캐싱 목적으로 자주 사용하는 redis 활용이 더 적합하다고 판단되어 "게시물 등록시에 redis에 캐시 등록하여 조회 후 출력" 으로 변경 제안하고 웹 페이지를 포함하여 개발하였습니다.
    • 포탈 홈페이지에 팝업 공지사항을 보여주는 기능을 개발하였습니다. 기존에 공지사항을 등록하는 기능이 있었고, 팝업때문에 추가적인 페이지가 생기는것은 사용자 경험에 부정적일것이라 판단하여, 공지사항 등록 시 팝업등록 여부를 설정하도록 변경하였고 Cookie를 통해 "오늘하루 그만보기" 등의 기능을 포함하여 웹페이지와 API를 개발하였습니다.
    • 사용자/그룹 관리, 파일 분류 관리, 파일 등록 기능의 설계, 테이블 설계를 수행하고 화면 개발을 포함하여 기능 개발을 수행했습니다.
    • 각 AI 학습 환경에 등록된 파일의 메타데이터를 수집하는 스케쥴을 개발하였습니다.
    • 서버의 방화벽 정책을 수립하고 방화벽 적용 시 발생한 협력사의 Docker, K8S 환경의 오류를 트러블슈팅 하였습니다.
프로젝트명

육군항공사령부 솔루션 도입 프로젝트

소속/기관명

(주)코난테크놀로지

프로젝트 기간

2023.08. ~ 2023.09.

프로젝트 내용
  • 담당 역할 : 파일 중앙 관리(CMS) 기능 및 AI 이미지 태깅 기능을 제공하는 Konan Watcher 솔루션의 JAVA WEB 개발자
  • 업무 기간 : 2023.08 2023.09 (약 1개월)
  • 개발 인원 : 개발 팀장 1명, WEB개발 팀 본인 1명, QA팀 2명 (총 4명)
  • 상세 내용 :
    • FE영역에서 발생한 파일 업로드 실패, 데이터 라벨링 정보 매칭 실패 버그 등 6건을 코드 수정으로 처리하였습니다.
    • JAVA BE 영역에서 발생한 자사 외부 API 호출 실패, 비즈니스 로직 내 예외처리 불충분으로 인한 버그 2건을 코드 수정으로 처리하였습니다.
    • QA팀에서 장애로 오인한 기능 6건을 회의 및 소통을 통해 소명하였고 해당 내용을 고객사에 제공하였습니다.
    • 개발환경과 운영환경 상 DB 스키마 및 데이터 불일치로 인해 발생한 버그 3건을 분석하고 데이터 이관을 수행하여 처리하였습니다.
프로젝트명

Konan Watcher 솔루션 기능 개선 및 개발

소속/기관명

(주)코난테크놀로지

프로젝트 기간

2023.06. ~ 2023.08.

프로젝트 내용
  • 담당 역할 : 파일 중앙 관리(CMS) 기능 및 AI 이미지 태깅 기능을 제공하는 Konan Watcher 솔루션의 JAVA WEB 개발자
  • 업무 기간 : 2023.06 ~ 2023.08 (약 2개월)
  • 개발 인원 : 본인 1명 (총 1명)
  • 상세 내용 :
    • 파일 여러개를 압축하여 한번에 다운로드, 파일 원본이름으로 다운로드 기능을 개발하였습니다. 미디어 CMS 특성상 단일 파일만 다운로드 하는 경우가 적다고 판단하였고, 실제로 고객사 경험상 단일로 다운로드 되는 기능이 불편하다는 피드백을 받았고 이를 보고하여 개발 근거를 획득하였습니다.
    • 사용자 개인폴더 할당 기능을 개발하였습니다. 개인 폴더의 부재로 솔루션의 활용성이 떨어진다는 판단을 하였고 개인폴더 기능을 제안하여 개발을 수행하였습니다.
    • 내 정보 관리 기능을 웹 페이지 개발을 포함하여 개발하였습니다.
    • URL Encoding 버그, 파일 미리보기 버그, 파일 메타데이터 정보 조회 버그를 총 5건 수정하였습니다.
프로젝트명

SecureZone 솔루션 JAVA Migration 프로젝트

소속/기관명

주식회사이노티움

프로젝트 기간

2022.06. ~ 2023.03.

프로젝트 내용
  • 담당 역할 : 영역기반 DRM 기능을 제공하는 SecureZone 솔루션의 JAVA WEB 개발자
  • 업무 기간 : 2022.06 ~ 2023.03 (약 10개월)
  • 개발 인원 : 개발 팀장 1명, C++ 개발자 1명, 기획팀 1명, WEB 개발 본인 1명 (총 4명)
  • 상세 내용 :
    • C++ 기반 프로그램의 동작 조건을 명시하는 "정책" 의 관리기능을 설계하고 테이블 설계 및 화면을 포함하여 개발하였습니다.
    • C++  기반 프로그램의 동작 로그 수집, 조회 기능을 설계 하고 화면 포함하여 개발하였습니다.
    • 기존 PHP로 작성되어 있었던 SecureZone의 코드를 분석하고, 레거시 코드 담당자와 함께 분석하여 JAVA기반으로 재작성하였습니다.
프로젝트명

한세실업 innoECM 납품 프로젝트

소속/기관명

주식회사이노티움

프로젝트 기간

2022.06. ~ 2023.03.

프로젝트 내용
  • 담당 역할 : 파일 중앙 관리(CMS) 기능을 제공하는 innoECM 솔루션의 JAVA WEB 개발자 및 운영관리 담당자
  • 주요 업무 : PL 업무, 파일 공유 및 권한관리 기능 개발, 외부 솔루션 API 통신 개발 및 운영 전반 업무
  • 업무 기간 : 2022.06 ~ 2023.03 (약 10개월)
  • 개발 인원 : 개발 팀장 1명, C++ 개발자 1명, WEB 개발 본인 1명 (총 3명)
  • 상세 내용 :
    • 파일을 개인, 그룹에 공유하는 기능을 설계하고 테이블 설계와 웹 페이지를 포함하여 개발을 수행하였습니다. 기존 파일 공유 기능이 무기한 공유였기 때문에 고객사의 요구사항인 "기간 공유"를 충족하기 위해 기존 테이블을 전부 수정하고 레거시 코드와의 공존을 위하여 공유 기간을 Optional로 처리하는 방향을 제안하였습니다. 또한 기간 공유를 준수하기 위해 Spring Schedule을 도입하여 매일 00시에 공유 기간을 재점검하고 자동으로 해제하는 기능을 개발하여 요구사항을 충족했습니다.
    • 공유한 파일 조회 및 관리 기능을 재개발하였습니다. 기존 파일 공유 기능이 한 페이지에서 관리하는것이 불가능하였고 각 파일을 찾아가서 설정정보를 확인해야 하는 구조였습니다. 이는 파일 중앙관리 시스템의 이념에 부합하지 않는다고 판단하였고, 한 페이지에서 관리 및 관리자의 공유 강제 해제 기능을 제안하고 개발하였습니다.
    • 고객사의 레거시 솔루션과의 연동을 개발하였습니다. 특히 Legacy CMS으로 부터의 마이그레이션 전용 API를 개발하고, 고객사의 협조를 요청하여 고객사 자체 C++ 프로그램으로 이관하는 방향으로 협의를 마쳤습니다.
    • 고객사의 SSO 솔루션과의 연동을 개발하였습니다. 기존 APi-KEY 기반으로 인증을 진행하던 저희 솔루션과는 이념이 맞지 않았고, 협의를 통해 최대한 단순화 시켜 Key String으로 인증하고 신규로 ApiKey를 제공하는 방향으로 협의하였습니다.
    • 고객사 Legacy ERP 프로그램과의 파일 관리 연동기능을 개발하였습니다. 고객사 담당자가 ERP에서 파일 정보와 파일을 확인할 수 있기를 원했고 해당 기능을 제공하지 않았기 때문에 SSO협의 사항과 함께 엮어서 신규 기능을 개발하여 제공하는 방향으로 협의하였습니다.
    • 고객사의 운영환경을 셋팅하고 운영지원을 수행하였습니다. 특히 메모리 부족 현상이 관찰되어 overcommit 튜닝으로 처리하였습니다
프로젝트명

솔루션 기능 개선 개발 및 기 납품 솔루션 운영지원

소속/기관명

주식회사이노티움

프로젝트 기간

2022.04. ~ 2023.03.

프로젝트 내용
  • 담당 역할 : 파일 중앙 관리(CMS) 기능을 제공하는 innoECM 솔루션의 JAVA WEB 개발자 및 운영 담당자
  • 업무 기간 : 2022.04 ~ 2023.03 (약 11개월)
  • 개발 인원 : 개발 팀장 1명, WEB개발 팀 본인 1명, 기술지원관리팀 4명 (총 6명)
  • 상세 내용 :
    • 기능 개발

      • 현재 로그인한 사용자 관리 기능을 개발하였습니다. 문서중앙화의 이념과 달리 시스템을 사용하는 사용자에 대한 제어가 없는 부분이 아쉬웠기 때문에 이 부분의 기능 개발을 제안하고 개발하였습니다.
      • 폴더구조를 미리 선언하고 사용자와 그룹에게 할당하는 "폴더 템플릿" 기능을 제안하고 개발했습니다. 사용자에게 폴더 구조를 강제 할 수단이 없기에 일괄적인 관리에 어려움이 있을것으로 판단하여 해당 기능을 제안하고 개발했습니다.
      • C++ 기반 프로그램과 통신하여 정책정보를 제공하고 동작결과를 리턴받는 API를 개발하였습니다.
      • YIKC 고객사의 DRM 실시간 연동 API를 개발하였습니다.
      • Korchip 고객사의 DRM 실시간 연동 API를 개발하였습니다.
    • 운영 지원

      • Korchip의 innoECM 도입을 위한 운영 환경 셋팅 및 운영 지원을 담당하였습니다.
      • 기술품질원의 innoECM 도입을 위한 운영 환경 셋팅 및 방화벽 정책 수립을 담당하였습니다.
      • 유유제약 운영서버 내 솔루션 비정상 정지 현상 분석 및 처리를 수행하였습니다.
      • 바이오니아 운영서버 내 솔루션 비정상 정지 및 지연 현상 분석 및 처리를 수행하였습니다.
      • 대영채비 운영서버 내 솔루션 동작 중 동작 Freeze 현상 분석 및 원상 복구 대응을 수행하였습니다.
      • 상기 업체 SSL 도입 지원 및 이외 업체 공정거래위원회 등 POC 사이트 자사 환경내에 오픈 및 관리를 수행하였습니다.
    • 문제 해결

      • mariadb의 지속적 재기동으로 인한 HA오작동에 대한 원인 분석 및 대응을 수행하였습니다. Linux Kernel이 지속적으로 MariaDB를 정지시켜 HA의 오작동으로 인해 서비스가 정상 상태가 아닌 현상을 발견하였습니다. 이에대한 원인으로 mariadb의 adaptive_hash_index의 과도한 증식을 건의하고 해당 옵션을 정지시켜 서비스가 정상화 되는 것을 확인하였습니다.
프로젝트명

대구은행 innoECM 납품 프로젝트

소속/기관명

주식회사이노티움

프로젝트 기간

2020.10. ~ 2022.04.

프로젝트 내용
  • 주요 업무 : 파일 중앙 관리(CMS) 기능을 제공하는 innoECM 솔루션의 JAVA WEB 개발자 및 운영지원
  • 업무 기간 : 2020.10 ~ 2022.04 (약 16개월)
  • 개발 인원 : 개발 팀장 1명, C++ 개발자 1명, QA 1명, 본인 외 Web개발팀 1명 (총 4명)
  • 상세 내용 :
    • 파일 전문 검색 개발을 수행하였습니다. 빠른 검색속도와 고가용성을 위해 ElasticSearch 도입을 제안하고 개발을 수행하기 위해 Document를 분석하며 기능을 습득하였습니다. 추가적으로 키워드 자동완성 기능을 개발하고 스키마 설계를 수행하였습니다.
    • 파일 속성, 대외비구분, 보관 연한 등 파일 정보 관리 기능을 개발하였습니다.
    • 외부 DRM 솔루션과의 실시간 암/복호화 API 호출 설계 및 기능 개발을 수행하였습니다. 고객사 DRM 특성상 Network 통신을 수행하는 점이 운영중 발견되었고, 이로 인해 과부하가 발생하였습니다. 이에 대한 대응책으로 문서류 외의 고용량 파일은 고객이 직접 복호화를 DRM 서버에 요청하는 방향을 제안하여 솔루션에 가해지는 부담을 경감시켰습니다.
    • 외부 백신 솔루션과의 실시간 파일 검사 및 업로드 승인/거부 기능 개발을 수행하였습니다. 바이러스 검출로 인한 업로드 거절에 대한 로깅이 부족한 부분을 발견하였고, 로그내역추가 및 조회화면 개발을 통해 관리 용이성을 증대시켰습니다.
    • 고객사 환경에서 발생하는 백신, DRM 솔루션과의 충돌을 분석하였습니다. Window 영역에서 Hooking 방식 개발의 문제점을 발견하였고, 우선순위 제어, 자사 솔루션 사용 경로 감시 제외 등을 건의하여 이슈를 처리하였습니다.

포트폴리오

URL

link

사이드 프로젝트 : Puzzly (진행중)

깃허브

교육

소속/기관명

그린컴퓨터아카데미

종류 | 전공

사설 교육 | 디지털 컨버전스(JAVA기반 응용 SW엔지니어링) 교육

재학 기간 | 재학 상태

2020.04. ~ 2020.08. | 졸업

대외활동

활동명

현장실습

소속/기관명

데일리펀딩

연도

내용
  • 활동 상세 연도 : 2019.07 ~ 2019.08
  • 상세내역
    • P2P 투자 서비스를 제공하는 데일리펀딩에서 Python/Django를 활용한 웹 백엔드 개발자 현장실습 업무 수행
    • 해당 기간 내 약관페이지 기능 개발 및 DB 설계, Backend 설계의 원칙과 주요 관점에 대해 배우고 실습

자격증

자격증명

정보처리산업기사

점수 | 발급기관

산업기사 | 한국산업인력공단

취득연월

2014.05.

외국어

외국어명

영어

점수

일상 회화 가능

자기소개

자기소개

단순한 개발자가 아닌 서비스 담당자

저는 여러 도메인에 위치한 고객사를 대응하면서 다양한 요구사항을 접해왔습니다.
고객사의 도메인에 따라 가장 기본적으로 간주되는 기능을 개발하기도 했으며 솔루션을 판매하고 분석하면서 아쉬운 기능을 찾아내고 개발을 수행했습니다. 이 중 특히 "현재 사용중인 사용자 강제종료명령" 과 "기간 지정 파일/폴더 공유" 기능은 고객사에게 제공하면서 크게 호평받았던 기능이었습니다.
또한 근래에는 Docker 환경에 대한 사용 경험과 디버깅 능력의 필요성을 느꼈고 빠르게 지식을 쌓아 업무에 참여하였습니다. 특히 지능형플랫폼 구축 당시, 협력사의 Docker 오류 발생 원인을 아무도 짐작하지 못하고 분석하지 못하였습니다. 이때 단순히 손놓고 기다리는것이 아니라 협력사의 엔지니어와 함께 route table을 살펴보고 작동 로그를 분석하며 방화벽으로 인한 Docker 내부통신 실패로 원인을 좁히고 추가 방화벽 개방을 제안하여 문제를 처리한 경험이 있습니다.
이처럼 저는 단순한 "JAVA Backend 개발자" 가 아닌 "서비스 업무 담당자"의 책임감을 가지고, 코드 외적에서 발생한 문제이더라도 최선을 다해 할수있는 것을 찾고 문제 해결을 주도적으로 수행하고 있습니다.

나의 장점

저는 제가 할 수 있는것을 찾아 헤메는 것을 몹시 좋아합니다. 단순하게 주어진 기능만을 개발하는 것이 아니라 조금만 더 개발하면 어떻게 우리 서비스가 사랑받을 수 있을지 생각하는 과정이 즐겁고 주도적으로 행동하는 뿌듯함을 주기 때문입니다.
단순히 공지사항 팝업 기능 개발을 요구 받았을 당시 팀원들은 단순히 공수 추가만을 걱정하고 있었습니다. 이때 저는 기존에 공지사항 등록 기능이 있다는 점에 착안하여, 옵션 기능만 추가하고 Cookie 셋팅만 추가적으로 진행하면 공수를 최소 4일 이상 줄일 수 있다는 점을 제시하여 개발하였고 이때 가장 큰 뿌듯함을 느꼈습니다.
또한 협력사의 Docker/K8S 네트워크 장애로 발생한 로그를 제시하여 협력사에게 제시하였을때 협력사 PM의 감사인사는 매우 큰 기쁨과 제 자신에게 원동력을 충전해주는 계기가 되었습니다.
이처럼 저는 주도적으로 움직이고 끊임없이 할 수 있는 일을 찾는 장점을 갖고있습니다.

이직사유

저는 현재 AI 기업 "코난테크놀로지" 에서 업무를 수행 하고 있습니다. 최초 JAVA Backend 개발로 입사하였으나 빠른 업무 수행과 능력 향상을 위해 Jquery를 통한 웹 페이지 개발 업무도 병행하고 있습니다. 그러나 회사의 영업 방향이 변경됨에 따라 주 업무가 LLM 파인 튜닝, 데이터 엔지니어링 계열로 변경될 에정에 있습니다. 이에 따라 JAVA Backend 업무를 수행하고 해당 영역에서 역량을 기르고자 이직을 결심하였습니다.

댓글