미리보기
기본 정보

6년간 Back-End 개발 중인 소프트웨어 엔지니어입니다. 역할, 책임, 협력이란 가치를 최우선 하여 고품질의 안정적인 애플리케이션을 제공하는 것을 추구합니다. 이를 위해 완성도 높은 소스를 생산하는 데 역량을 쏟고 있으며 필요한 순간 도입할 수 있도록 새로운 기술을 꾸준히 습득하도록 노력하고 있습니다. 현재는 기업 콘텐츠 관리 시스템 및 AI 서비스를 담당하고 있으며 안정화, 신규 개발, 고도화, 장애 대응 등 전반적인 개발 및 운영을 담당하고 있습니다.
기술 스택
경력
(주)더존비즈온
주임연구원 • 통합서버엔진Cell
ERP, 그룹웨어, ECM을 통합한 하나의 비즈니스 플랫폼에서 기업 내 전체 콘텐츠를 관리하는 자사 솔루션 시스템을 개발 중입니다.
회사에서 생산되는 모든 문서를 개인 PC가 아닌 중앙 서버로 강제 자산화하여 중복되는 파일을 제거해 효율적으로 스토리지를 관리합니다. 또한 업로드된 모든 파일을 암호화해 외부 공격으로부터 데이터를 안전하게 보호하고 자산화된 파일의 공유, 접근 제어, 폐기까지 파일의 전체적인 라이프 사이클을 관리합니다.
업무 중 생산되는 모든 산출물을 회사 자산으로 간주하고 생산, 유통, 폐기까지 통합적으로 관리하는 시스템을 만들어 보자는 제안으로 현 직장에 합류하게 됐습니다. 솔루션 개발하며 쌓인 노하우를 바탕으로 문서 관리, 자산화, 매체제어까지 다양한 TF 조직의 핵심 인원으로 활동하며 정책 수립과 개발에 참여했습니다.
최근에는 중앙화된 기업 내부 데이터를 기반으로 업무 효율과 보안에 최적화된 AI 서비스를 개발했습니다. Elasticsearch(ES)를 활용한 검색-증강 생성(RAG) 기술을 통해 기업 고유 데이터 활용을 최적화하였습니다. 사용자의 작업 연속성과 효율성을 높이기 위한 AI Archive 기능을 설계 및 구현하였고, AI Metering & PTU 대시보드 개발을 통해 사용자 활동과 AI 사용량의 효과적인 모니터링 및 관리를 지원했습니다.
(3년 4개월 | 정규직)
(주)사이버다임
주임 • 솔루션사업본부
기업 콘텐츠를 중앙화하여 저장하고 접근 권한으로 무분별한 활용을 제어하며 어떻게 사용됐는지 이력을 관리하는 문서 중앙화 시스템을 개발했습니다. 고객사 환경에 맞춰 조직도 연동 및 기존 파일 시스템 데이터 마이그레이션과 DRM, 검색 엔진 등 타 솔루션 연동을 담당했습니다.
(3년 1개월 | 정규직)
프로젝트
(주)더존비즈온
기업 내부 데이터 기반 AI 서비스 개발
상황
1. 기업 내부 데이터 활용 요구 증가에 따라 효율적인 데이터 분석 및 보안성이 강화된 AI 기반 서비스 필요
2. AI 기능 활용 시 지속적 업무 수행과 이전 작업의 재사용성이 낮아 사용자 편의성 및 업무 효율성 저하
3. AI 사용량 및 기능 관리가 미흡해 서비스 운영 및 비용 관리 어려움이 발생
수행내용
1. 기업 고유 데이터에 최적화된 검색-증강 생성(RAG)을 위한 Elasticsearch(ES) 연동 및 데이터 관리 기능 개발
2. 사용자 경험 개선 및 업무 연속성 향상을 위한 AI Archive 기능 설계 및 개발
3. AI Metering & PTU 기능 개발을 통해 AI 사용량 관리, 사용자 활동 내역, 통계 확인 가능한 대시보드 구축
4. 자주 사용하는 문서에 대한 편리한 AI 분석 지원을 위한 AI 문서 관리 및 분석 기능 설계 및 구현(기업 특허 출원 진행 중)
결과
1. AI 기반 통합 분석 서비스 구축으로 기업 내 데이터 활용 효율성 및 업무 처리 속도 향상
2. RAG 데이터 연동을 통한 정보 정확성 향상 및 독창적 결과물 제공으로 실무 활용성 증대
3. 사용자 맞춤형 Archiving 기능을 통해 업무 연속성과 사용자 경험 대폭 개선
4. 체계적 AI 관리 기능 제공으로 운영 효율성 및 비용 관리 개선
5. AI 문서 관리 기능을 통한 문서 관리의 편의성 및 정보 공유 활성화로 협업 환경 개선
추가내용
1. 대규모 사용자 요청과 데이터 처리를 효율적으로 수행하기 위해 Spring Webflux를 도입하여 논블로킹 및 비동기 아키텍처를 구축해 높은 동시성 및 시스템 응답성을 달성하여 서비스의 안정성과 확장성을 크게 향상시킴
(주)더존비즈온
Grpc 서버 아키텍처링 및 ProtoBuf 통신 구현
상황
1. 강제 자산화를 위해 기존과 다르게 PC를 제어할 수 있는 환경이 필요했으며 이는 광범위한 범용성을 가진 소프트웨어를 요구
2. Agent 도입 시 웹 브라우저보다 Agent를 통한 요청 트래픽이 더 많을 수밖에 없고 대용량 파일 전송을 고려하면 효율적인 통신이 필요한 상황이 야기됨
3. 기존 데이터 구조는 PC 제어에 특화된 Agent에 불필요한 구조가 혼합되어 있어 그대로 이식해 사용할 수 없는 구조적인 한계를 지님
수행내용
1. 실시간 통신이 가능한 소켓 기반의 새로운 개발 방식 적용을 위해 자사 솔루션 Server-Client Grpc 도입
2. Agent 전용 데이터 구조화 및 ProtoBuf Message 정의
3. Grpc 요청 처리 특화 전용 인터페이스 설계 및 핵심 기능 개발
4. Server-Client Multiplexing 연결 구성으로 파일 업로드/다운로드 구현
결과
1. Grpc를 통한 Binary 데이터 전송 및 효율적인 파싱으로 신속하고 경량화된 통신 구조 제공
2 Agent 전용의 통신 환경 구축으로 자사 솔루션, 플랫폼 장애 영향 최소화 및 안정적인 환경 제공
3. 서버 클라이언트 간 스트리밍으로 실시간 업데이트 및 대용량 데이터 전송(1.5GB 파일 업로드 기준 30초 → 19초)
4. Stub 자동 생성으로 서버 구현을 단순화하여 확장성 및 유지 보수성 향상
추가내용
1. 초기에는 Agent 통신을 위해 일반적인 TCP 소켓 통신을 고려했으나 서버/클라이언트에서 동시에 protoBuf 파일을 관리해야 하는 번거로움에도 불구하고 http/2 통신, Json과 비교해 가벼운 직렬화 데이터, Byte 그대로 객체 레퍼런스 매핑 등 ProtoBuf의 강점에 집중하여 최종적으로 Grpc를 도입하여 개발해 데이터 효율성과 높은 성능을 구현함
(주)더존비즈온
중앙 집중형 플랫폼 구축을 위한 문서 자산화 오토메이션
상황
1. 상대적으로 보안성이 떨어지는 개인 PC를 대상으로 한 악의적인 공격으로 인해 파일이 손상되거나 데이터가 유출되는 피해 발생
2. 회사 자산의 무분별한 유출로 인한 유무형의 피해가 증가함에 따라 강력한 파일 통제 기능의 필요성이 부각됨
3. 고객사에서 자사 솔루션에 업로드된 파일의 무분별한 다운로드를 제어하고 누가 언제 어떤 파일을 다운로드했는지 추적 및 통제하는 기능 요구
수행내용
1. 강제 자산화 대상 파일 및 응용프로그램 정의
2. 대상 응용프로그램, 웹 사이트 첨부 제어를 위한 DB 설계 및 기능 개발
3. 파일 반출 승인 프로세스 개발
4. 자사 솔루션 시스템 드라이브 접근 제어 기능 개발
결과
1. 사용자가 자사 솔루션에 선택적으로 파일을 업로드하는 게 아닌 자동으로 업로드해 중앙 집중형 환경을 구성하고 업로드된 파일에 대한 통제를 강화
2. 파일 반출 프로세스를 통해 승인된 파일만 다운로드하도록 제한해 무분별한 파일 유출 방지
3. White-list 기반 자사 솔루션 시스템 드라이브 접근 제어로 보안성을 강화해 허가받지 않은 프로그램의 악의적인 접근을 차단
4. History Monitoring 기능을 통해 자사 솔루션에 존재하는 모든 파일에 대한 열람, 수정, 다운로드, 변경 사항 모니터링으로 인한 인사이트 확보
추가내용
1. PC 응용프로그램, 모바일 앱, 웹 브라우저 등 다양한 클라이언트의 파일 통제 정책을 통합해 개발하여 강화된 보안성과 일관된 보안 정책 적용을 실현
2. 파일 업로드를 강제로 하는 것은 사용자 경험에 영향을 미칠 수 있어 사용자 경험을 최소화하면서도 보안 정책을 강화하기 위해 단계적으로 보안 정책을 적용해 사용자가 변화에 적응하도록 프로세스 체계 확립
(주)더존비즈온
안정성 강화를 위한 잠재적 리스크 관점 리팩토링
상황
1. 오류 가능성을 내포한 로직이 시스템 내 분산되어 있어 유지 보수 부담 및 신규 개발 어려움 발생
2. 메인 비즈니스 로직과 결합된 서브 비즈니스 로직으로 인해 전체적인 응답 시간이 증가하여 사용자에게 느린 시스템이라는 부정적인 인식 초래
3. 처음 도입한 Spring 버전을 유지하여 새로운 보안 취약점 패치와 신규 및 개선된 기능을 사용할 수 없는 상황이 지속
수행내용
1. 비동기 작업 큐를 도입하여 서브 비즈니스 로직을 분리하여 효율적으로 처리하도록 개발
2. SQL Query 검토, 인덱스 개선, 영속성 프레임워크 최적화
3. 불필요한 데이터를 가져오거나 전송하지 않도록 데이터 모델 조정
4. Spring Framework에서 Spring Boot로 전환
결과
1. 프로젝트 구조 간소화로 인한 개발 생산성 향상으로 프로젝트의 전반적인 효율성을 높이고 팀 멤버 간 원활한 협업 기반 마련
2. 서버 응답 시간 개선으로 메인 화면 진입 시간 30% 감소
3. 데이터베이스 조회 성능 개선으로 리스트 조회 응답 시간이 이전의 900ms에서 100ms로 개선
4. 프로젝트 기반 구조의 현대화로 스프링 의존성과 서드파티 라이브러리 최신 기능 및 성능을 활용
추가내용
1. 비동기 작업 큐를 개발해 부가 기능을 별도 처리하도록 개선. 특히 휴지통 영구 삭제 기능의 경우 용량 산정 로직에 많은 시간이 지체됐지만 비동기 작업 큐를 도입하고 응답 속도를 크게 개선(10000ms → 300ms)
(주)더존비즈온
에러 핸들링 레퍼런스 및 코딩 컨벤션 수립
상황
1. 통일되지 않은 오류 핸들링으로 사용자에게 제시되는 알림, 메시지가 클라이언트 전반에 걸쳐 통일성이 부족하여 사용자들이 오류 상황을 이해하기 어려운 문제가 발생
2. 코딩 스타일의 다양성과 미비한 코딩 컨벤션으로 일관성 없는 코드에 소스 분석 어려움이 발생
수행내용
1. 통일성 없는 오류 처리를 개선하기 위해 에러 핸들링 레퍼런스 작성
2. 다양한 코딩 스타일 문제점 조사 및 분석
3. 일관된 코딩 스타일을 정의하는 표준 코딩 가이드라인을 도입
결과
1. 예외 처리의 일관성을 확보하고 유연한 오류 대응 체계를 확립해 팀 전체적으로 빠른 대응이 가능해졌고 이는 프로젝트 안정성을 높이는 영향력을 가지게 됨
2. 코드의 가독성을 향상시키고 소스 분석 효율 향상
추가내용
1. 예외 복구가 가능한 Checked-Exception은 예외 복구하고, 오류 메시지 및 코드 재정의 진행. 에러 핸들링 레퍼런스를 작성해 결과적으로 히스토리를 모르는 사람도 오류 처리가 가능하도록 개선
(주)사이버다임
검색 엔진 인덱싱 최적화
상황
1. Elastic Search 풀 스캔 인덱싱 예상 기간이 전체 일정 중 50%에 해당하는 6개월로 산정됨. 요구 사항 변경에 따른 재색인 기간을 고려하면 풀 스캔 인덱싱 기간 단축이 최대의 이슈로 부각됨
2. DRM 암호화가 설정된 파일은 검색 엔진 인덱싱 대상에서 제외되어 검색 활용 불가
3. 도면, 출력물 등 상당한 양의 하드카피 자료를 관리하는데 상당한 노력과 자원이 소요되며 정보를 찾는 작업은 오로지 수작업으로 일일이 진행하는 불편함 존재
4. 기존 파일 관리 시스템 서버 Stand-Alone 구성으로 인한 장애 발생 시 복구가 어려운 상황에 직면
수행내용
1. Elasticsearch 기반 검색 엔진 솔루션 연동 테이블 설계 및 기능 개발
2. 검색 엔진, OCR, 썸네일 파일 인덱싱을 위한 DRM 라이브러리 연동을 통한 멀티스레딩 복호화 모듈 개발
3. 풀 스캔 인덱싱 기간 단축을 위한 DB Trigger 개선, 중복 데이터 제거 스케줄링 개발
4. 고가용성(Active-Active) 구성 전환
5. Active 서버 간 세션 동기화 Ehcache 이용해 구현
결과
1. 초기 예상된 풀 스캔 인덱싱 기간인 6개월에서 3개월로 기간을 단축해 유지 보수 및 안정화 기간을 확보했으며 프로젝트 중간 인덱싱 조건 변경에 의한 재색인 리스크 해소
2. 하드카피 자료의 디지털 문서화로 인해 사장된 자료에서 유의미한 자료로 재탄생하여 체계적인 관리 프로세스를 제공하고 사용성과 검색 활용성 극대화
3. 고가용성을 확보함으로써 시스템 안정성 확보
추가내용
1. 6개월의 풀 스캔 인덱싱 기간을 효율적으로 사용하기 위해 개선 작업을 진행했으며 3개월의 기간을 단축했으며 남은 3개월의 기간은 시범 운영 기간으로 활용해 안정적인 서비스 기반 마련
포트폴리오
URL
첨부파일
교육
숭실대학교(학점은행제)
대학교(학사) | 컴퓨터 공학
2020.07. ~ 2021.02.
수료
신구대학교
대학교(전문학사) | 웹IT
2012.03. ~ 2018.02.
졸업
이매고등학교
고등학교
2009.03. ~ 2012.02.
졸업
자기소개
저는 아래와 같은 강점이 있는 개발자입니다.
1. 서비스가 나아가야 할 방향에 확신이 있다면 인사이트와 데이터를 바탕으로 적극적으로 목소리를 낼 수 있습니다. 직급이나 위치에 주눅 들지 않고 더 나은 방법이 있다면 의견을 어필하고 넥스트 플랜을 제시합니다.
2. 다양한 사람들, 조직과 커뮤니케이션에 특화되어 있습니다. 건설적인 의견 대립에 귀 기울일 줄 알며 감정적인 소통이 아닌 문제 해결에 포커싱을 맞춰 성공적인 결과를 위해 모든 역량을 쏟습니다. 본인의 실수에 관대하거나 합리화하지 않으며 비판적인 의견도 존중해 더 나은 결과를 위해 협력합니다.
3. 오류가 발생 가능한 부분은 덮어두고 넘어가지 않습니다. 사용성이 낮은 작은 오류일지라도 사용자 입장에서는 시스템에 대한 부정적인 인식을 만들어 줄 수 있기 때문에 먼저 이슈화하고 수정 방향성을 제시합니다.
4. 업무에 Ownership을 가지는 개발자입니다. ‘사소한 오류는 없다.’ 라는 생각으로 전체적인 그림을 보고 자신의 일이 미칠 수 있는 영향을 고려해 업무에 임합니다. 한번 시작한 일은 반드시 끝낸다는 마인드셋으로 일을 추진하며 중간에 포기하거나 중단하지 않습니다.
현재는 기업 콘텐츠 관리 시스템 및 AI 서비스를 담당하고 있으며 안정화, 신규 개발, 고도화, 장애 대응 등 전반적인 개발 및 운영을 담당하고 있습니다.