한승엽

Portfolio

Email: youp.han@gmail.com | Phone: 010-8746-1996

LinkedIn | github

업무 경력 상세 (총 15년 5개월)

  • 엠로 (주)

    2025.05 ~ 2025.08 (4개월)

    PSI 프리랜서

    👤 고객사: HL 만도

    • HL 만도 통합 구매 관리 시스템 구축 참여
    • SE: Linux 기반 개발/운영 환경 구축 (Apache, Tomcat 외 외부 Interface Tool 설치)
    • AWS GA (Global Accelerator) 네트워크 활용을 위해 NDS 인원과 협업하여, AWS EC2 인스턴스에 Apache Proxy 설치 및 설정으로 해외 사용자들에게 안정적인 서비스 제공
    • DevOps: 환경별 CI/CD 자동화 파이프라인 구축 (jenkins)
    • 모니터링 (Scouter) 및 형상관리 솔루션(ChangeFlow) 연동 체계 구축
    • 운영을 위한 각 시스템별 설치 방법 및 설정 문서화 및 교육 진행

    주요 역할 및 성과

    HL 만도 통합 구매 관리 시스템 인프라 구축
  • 유비템즈(주)

    2018.07 ~ 2025.04 (6년 10개월)

    3G연구소 AA 팀 지원 프리랜서

    👤 고객사: 이랜드 이노플 (구 시스템즈)

    • .NET 솔루션 기술 (개발/환경) 지원: 이랜드 이노플 Application Architecture 3G연구소 지원
    • DevOps: Agile 협업 도구(JIRA, Confluence) 및 SCM(형상관리도구), CI/CD(Jenkins) 관리
    • 보안: ASP.Net MVC5 기반 VPN 사용자 관리 시스템 개발
    • 인트라넷: WinForm, C#을 이용한 Zendesk API 연동 프로그램 개발
    • 보안: ElectronJS 기반 데스크탑 애플리케이션 개발 및 운영
    • 보안: C# 기반 AWS S3 파일 마이그레이션 프로그램 개발
    • HR: Spring Boot, JPA 기반 API 서비스 개발

    주요 프로젝트

    DevOps: 프로젝트 협업 툴 및 CI/CD 파이프라인 관리
    📌 배경

    초기 환경에서는 Jenkins가 Master–Slave 구조로 구성되어 있었으며,
    운영 중인 대부분의 프로젝트가 .NET Framework 기반이어서 Windows 빌드 환경 위주로 운용되고 있었음.
    그러나 시간이 지나면서 다음과 같은 변화가 발생.

    • Java 기반 서비스 증가
    • Jira/Confluence 등 협업 툴과의 연동 요구
    • 외부/내부 서비스와 Jenkins API 연동 작업 증가

    이에 따라 기존 단일 Jenkins Master에 모든 프로젝트가 몰리며 다음 문제가 발생했다.

    • 빌드 큐 병목
    • 장애 시 전체 서비스 영향도 증가

    AA팀에서, 배포 안정성을 위해 기존 단일 Jenkins 환경을 서비스별로 완전히 분리된 개별 Jenkins로 나누는 작업을 요청.

    📌 역할 및 수행 작업
    • 1. 서비스별 Jenkins 인프라 분리 설계 및 구축
      Windows, Linux 프로젝트 특성에 따라 다음을 개별 환경으로 구성.
      • .NET / .NET Framework 빌드용 Windows Jenkins
      • Java & Spring Boot 빌드용 Linux Jenkins
      • 기타 스크립트/배치 전용 Jenkins

      서비스 운영자들과 지속적으로 소통하며, 각 서비스가 필요로 하는 빌드 도구·SDK·플러그인을 설치 및 최적화 함.

    • 2. Jenkins Pipeline 코드 기반으로 CI/CD 구조 재정립
      AA팀에서 고객사의 프로젝트 수가 많고 UI 기반 설정은 관리가 어려웠기 때문에 Jenkins의 파이프라인 스크립트를 적극 도입토록 요청.
      도입 효과:
      • CI/CD 설정을 코드(Pipeline) 로 관리
      • 유사한 환경의 프로젝트들은 코드 재사용 가능
      • 공통 로직(빌드/테스트/배포/Slack 알림/아티팩트 관리 등)의 재사용 가능

    • 3. 협업 툴 및 외부 시스템 연동
      • Jira 이슈 트래킹과 Jenkins 빌드를 연동하여 자동 상태 업데이트
      • 빌드/배포 결과를 Slack, Email로 자동 알림
      • Nexus 에서의 아티팩트 버전 관리
      • Jenkins REST API를 통한 외부 서비스 에서 버전 별 배포 구현

    • 4. AWS CodeDeploy 연동 — EC2 자동 배포 파이프라인 구성
      • Jenkins 빌드 후 AWS S3에 아티팩트 업로드 → AWS CodeDeploy를 통해 EC2 인스턴스에 자동 배포되는 파이프라인 구성
      • Jenkins Pipeline 내 CodeDeploy 연동 설정 담당
    Spring Boot & JPA 기반 사용자 통합 관리 API 서비스 개발/운영
    📌 개발 배경

    기존 고객사는 브랜드별로 서로 다른 솔루션을 운영하고 있었고, 각 솔루션이 개별적으로 사용자 정보를 관리하고 있었음.이로 인해 다음과 같은 문제점 발생.

    • 서비스별 중복 사용자 정보 발생
    • 최신 사용자 정보를 파악하기 어려움
    • Nets SSO 솔루션 사용으로 운영 비용 증가
    • SSO·AD 연동 과정에서 오류 관리가 중앙에 집중됨

    이 문제를 해결하기 위해 중앙집중형 사용자 관리 API를 Spring Boot 기반으로 구축하여 Keycloak을 중심으로 사용자 정보를 통합 관리하도록 목표를 설정.

    📌 개발 및 개선 내용
    1. 사용자 통합 API 구축
      • Spring Boot + JPA 기반으로 사용자 등록/수정/조회 API 개발 진행
      • 각 서비스는 신규 API를 통해 사용자 데이터를 전달
      • API로 처리된 결과는 동시 개발 진행 된 Keycloak–AD 간 Sync 프로세스를 통해 반영 - AA 팀 진행
      • 서비스별로 필요한 로컬 사용자 데이터는 Keycloak Attribute 기반으로 관리하도록 구조 설계
    2. 오류 분산 처리
      • 기존에는 AD에서 모든 데이터 오류가 집중적으로 발생
      • API 호출 서비스별로 오류를 분산하여 관리하도록 구조 변경
      • 데이터 동기화 오류는 호출한 서비스로 전달되어 원인 파악 후 수정 및 재호출
    3. 데이터 Sync 구조 개선
      • Full Sync(스냅샷), Delta Sync(변경분) 방식 지원
      • API 호출 즉시 반영, (5분 배치) Keycloak 기준으로 정확한 사용자 데이터 일관성 유지
    📌 문제 발생

    오픈 이후 다른 브랜드가 추가 연동되며 사용자가 약 8배 규모로 증가.

    • Full Sync 수행 시간: 첫 브랜드에서 약 15분 → 추가/증가 후 매우 장시간 소요
    • API 호출 측에서 Request Timeout 발생
    • 실제 데이터 업데이트는 모두 정상 처리되었으나, 호출 측에서는 이를 확인하지 못해 오류로 분류됨
    • 대규모 사용자 Sync 로직의 비효율성이 병목 원인으로 분석됨
    📌 해결 방안
    1. API 전체 리팩토링

      초기 3개월 동안 급하게 개발된 코드를 전체 분석하고 구조를 재정비.

      • 불필요한 조회/반복 처리 제거
      • Batch 단위 처리 및 저장 방식 변경으로 성능 개선
    2. Sync 전략 분리(Full vs Partial)
      • Partial Sync(시간 단위 변경분 처리): 매 시간마다 변경된 사용자만 업데이트
      • Full Sync(하루 1회): 전체 데이터를 비교하여 반영
      • Full Sync 시 모든 데이터를 로딩하지 않도록 사용자 식별자만 저장하는 별도 테이블을 운영하여 비교 소요시간 절감
      • Sync 누락 가능성에 대비해, Sync 이후 생성된 신규 데이터는 자동 분류 및 별도 반영 로직 구현
    📌 결과
    • Full Sync 시간 대폭 단축 → API 호출 서비스에서도 결과 수신 가능
    • 저장/업데이트 과정에서 발생하던 구조적 오류 대부분 제거
    • 전체 사용자 데이터 관리가 통합되며 운영 효율성 상승
    • Keycloak 기반으로 SSO 및 AD 연동 관리가 안정화됨
    • 향후 신규 브랜드 추가 시 적용 부담 없이 확장 가능한 구조 마련
    Alibaba Cloud SMS Service 연동 — 중국 내 회원 인증 문자 발송
    📌 개발 내용
    • Alibaba Cloud (Aliyun) SMS Service API 연동 개발
    • 회원 등록 시 SMS 인증번호 발송 기능 구현 — 중국 내 사용자 대상
    • Alibaba Cloud 인증(Auth) 방식으로 API 연동, 메시지 템플릿 포맷 설정 및 발송 처리
    SMB → AWS S3 파일 마이그레이션 프로그램 개발/운영
    📌 개발 배경

    기존에는 사내에서 SMB 기반 네트워크 드라이브(Windows Network Drive) 를 사용해 이미지 및 문서 파일을 저장. 하지만 다음과 같은 문제가 지속적으로 발생.

    • 노후화된 드라이브와 물리 디스크 장애로 데이터 손상 및 읽기 오류 증가
    • 대규모 파일 운영의 안정성 부족
    • 백업·이중화 어려움

    AA팀에서 이를 개선하기 위해 네트워크 드라이브의 모든 파일을 AWS S3로 이전하여 안정적으로 관리하는 서비스 구축. 이를 위해 고객사의 여러 브랜드별 보유한 대량의 파일(브랜드별로 수 TB, 최대 약 17TB)을 오류 없이 이전할 수 있는 전용 마이그레이션 프로그램 개발이 필요.

    📌 개발 내용

    “S3로 파일을 업로드 및 다운로드 하는 마이그레이션 프로그램”

    • 메인 마이그레이션 프로그램 (.NET 기반)
      SMB 경로 탐색 → 파일 읽기 → DB 저장 → AWS S3 업로드 → S3 경로 DB 업데이트
      수십만 개 이상의 파일을 대상으로 전체 업로드 처리
    📌 문제 발생
    • 수십만 건의 파일 업로드 중 읽기 오류, 파일 권한 오류, 경로 깨짐, 파일 손상 등 다양한 예외 발생
    • 전체 업로드 중 오류 건수가 많아져 누락 파일 관리가 어려움
    • 모든 작업을 메인 프로그램 하나로 처리해 오류 관리/재시도 반복이 비효율적
    📌 해결 방안

    문제를 해결하기 위해 “오류 자동 점검·재업로드 구조”를 갖춘 프로그램을 추가로 개발.

    • 1. 로컬 디렉토리 분석 프로그램 개발
      파일서버 내 이동 할 디스크의 전체 파일 목록(경로/파일명/사이즈/수정일)을 스캔
      기존 프로그램의 대상 경로 누락을 대비
      “업로드 대상 마스터 리스트” 생성
    • 2. 오류 로그 분석 & 재업로드 를 위한 리스트 작성 프로그램 개발
      마이그레이션 중 발생한 오류 로그 파일을 자동으로 분석
      오류로 처리된 파일들을 별도 리스트로 정리
      재업로드를 위해 누락 파일을 원본 파일과 비교하여 재처리 되도록 리스트 작성
    • 3. 메인 업로드 프로그램 기능 확장
      추가로 오류 파일 리스트만 선택해 업로드 기능 개발
      전체 마이그레이션 완료 시점에서 누락·오류 파일 없이 100% 반영 가능해짐
    📌 결과
    • 대량 파일 전송에서도 누락/오류 없이 안정적인 마이그레이션 달성
    • 최대 10TB 이상 많은 파일들을 브랜드별로 성공적으로 AWS S3로 이전
    • 운영자가 오류 파일을 수작업으로 재확인하던 과정 완전 제거
    • SMB → S3 이전 후 서비스 운영 안정성 향상 및 유지보수 비용 절감
    ElectronJS 기반 데스크탑 애플리케이션 개발/운영
    📌 개발 배경

    기존 파일 관리 서비스는 웹 기반으로 개발되어 AWS 외부망에서 접근 가능.
    하지만 고객사는 데이터 보안 정책상 내부망에서만 접근 가능해야 하는 요구사항이 전달됨.
    AA 팀에서 다음 조건을 충족하는 전용 데스크탑 애플리케이션 개발을 요청

    • 내부망에서만 동작하며, 실행 시 보안 프로그램 구동을 꼭 확인해야 함
    • 웹 서비스와 동일한 기능을 제공하되, 추가 기능들을 함께 개발

    이 요구사항을 충족하기 위해 AA 팀에서 분석완료 한 ElectronJS 기반 데스크탑 클라이언트 개발.

    📌 개발 내용
    • Electron 기반 데스크탑 앱 구현
    📌 결과
    • 내부망 전용 파일 관리 서비스가 데스크탑 앱 형태로 안정적으로 제공됨
    • 보안 프로그램 연동으로 외부망 접근 차단 및 정보 유출 위험 제거
    • 사용자 환경은 웹과 동일하며, 추가기능으로 향상된 사용자 경험 전달
    Zendesk API 기반 사용자 정보 수정 프로그램 개발
    📌 개발 배경

    통합 계정 서비스에서 정직원/파트너사 구분을 위해 이메일 체계가 변경됨.
    하지만 기존에 파트너사들이 사용하던 Zendesk 고객센터 시스템에서 이메일 정보가 자동으로 동기화되지 않는 오류가 발생했다. PMO 팀의 요청으로 AA 팀에서 분석한 내용을 기반으로 개발 진행 함.

    Zendesk 자체 기능으로 해결할 수 없어, 모든 파트너사 계정을 강제로 업데이트하는 전용 수정 도구 개발.

    📌 개발 내용
    • Zendesk API 기반 계정 정보 수집
      Zendesk REST API를 이용해 전체 사용자 목록을 조회
      사용자 ID, 이메일, 태그, 그룹 등 메타데이터를 수집
      통합 계정 서비스에서 전달된 “최신 파트너사 이메일 목록”과 비교
    • 이메일 불일치 사용자 자동 검출
      변경 전·후 이메일 매칭 로직 구현
      기존 이메일과 업데이트된 파트너사 이메일이 불일치한 계정만 선별
      로그 기반으로 수정 필요 계정 리스트 자동 생성
    • 이메일 일괄 강제 업데이트 프로그램 개발
      Zendesk API의 사용자 Update 엔드포인트를 활용
      선별된 계정에 대해 이메일을 일괄 수정
      실패 시 재처리 리스트로 분류하여 안정성 강화
      .NET 기반 운영 툴 형태로 개발하여 관리자가 직접 실행 가능하도록 제공
    📌 문제 해결 결과
    • Zendesk 계정–통합 계정 간 이메일 불일치 문제 완전 해소
    • 모든 파트너사 계정의 이메일이 최신 정보 기준으로 정리됨
    VPN 사용자 관리 시스템 개발
    📌 개발 배경

    외부 네트워크 환경에서 내부 시스템 리소스를 안전하게 사용할 수 있도록 VPN 장비 새로 도입함.
    이에 따라 사용자 관리를 수행하는 운영자용 VPN 사용자 관리 프로그램 을 보안팀에서 AA 팀으로 요청. 요청사항은 회의를 통해 정리되었고, 개발 진행함.

    • 요청에 의한 VPN 사용자 등록 / 삭제
    • 배치작업으로 통한 사용자 정보 일괄 업데이트
    • 운영팀(Service Desk)이 직접 작업 가능하도록 화면 추가

    이를 위해 VPN 장비 업체가 제공한 API 가이드 및 스펙을 분석해 전용 관리 시스템 개발 진행.

    📌 문제 1 — JSON 기반 업데이트 방식의 속도 문제

    초기 개발은 VPN 장비 업체에서 제공한 JSON 기반 사용자 업데이트 API 가이드를 그대로 적용하여 구현.
    하지만 테스트 과정에서 문제 발생.

    • 배치 작업 시, 사용자 한 명 업데이트하는 데 약 1.5초 소요
    • 배치 작업 시, 사용자 수 2000 명을 타겟으로 개발 중이여서, 총 소요 시간이 기하급수적으로 증가
    • 실제 운영에서 사용할 수 없는 수준으로 성능이 낮음
    ✔ 해결

    장비 업체와의 커뮤니케이션을 통해 JSON 방식이 아닌 XML 기반(XR 포맷) 업데이트 API 확인.
    이를 기반으로 프로그램을 수정한 결과:

    • 사용자 1명 업데이트 속도: 1.5초 → 0.5초
    • 기본 성능 약 3배 향상
    📌 문제 2 — 전체 데이터 재저장 방식에 따른 비효율

    초기 가이드에 따르면:

    • VPN 장비에는 사용자로 등록된 사용자들의 조회 API가 없음
    • 그 결과, 배치 시 전체 사용자 정보를 매번 모두 전체 업데이트해야 했음
    • 기존 사용자도 “추가/갱신” 방식으로 다시 저장
    • 삭제 작업까지 포함하면 전체 Batch 작업 시간이 매우 길어짐

    ⏱ 초기 성능
    약 2,000건 기준: 20분 이상 소요
    삭제 처리까지 포함하면 30분 이상 소요

    📌 개선 — Sync 로직 재설계

    오픈 이후 추가 개선 작업 시 다음 아이디어를 제안 및 구현.

    • 1. 장비 업체와 협력하여 모든 데이터 (저장된 사용자 포함) 를 한번에 호출할 수 있는 API를 확인
    • 2. 전체 데이터 중 “저장 된 사용자 정보”만 필터링
      사용자 리스트 부분만 추출
    • 3. 변경분(Delta) 만 업데이트하도록 구조 변경
      필요한 데이터만 수정
    ✔ 성능 결과
    • 전체 Sync 30분+ → 15초 미만으로 단축
  • 키라 (주)

    2016.04 ~ 2018.02 (1년 11개월)

    판매관리솔루션팀 프리랜서

    👤 고객사: British America Tobacco Company

    • British America Tobacco 판매 시스템 프로젝트 리드 및 테스트 리드
    • 판매 시스템 AWS 이전 프로젝트 테스트 리드
    • Android 기반 Sales 기기 재설계 및 포팅 프로젝트 리드

    주요 프로젝트

    판매 시스템 아마존 클라우드 이전 프로젝트

    기존 데이터센터에 위치한 모든 판매 데이터와 사내 서버 기반의 판매 시스템을 AWS EC2 (말레이시아 리전)로 이전하는 프로젝트를 수행하였음. 당시 한국 리전이 없어 말레이시아 리전을 사용하였으며, AWS 인프라 구성은 한국 AWS 파트너사인 메가존에서 담당하였음. 프로젝트는 BAT Korea, BAT Malaysia, BAT Global IT Team 3개 조직과 영어로 소통하며 진행하였음.

    본 프로젝트에서 기술 구현보다 테스트 리드(Test Lead) 역할을 담당하였으며, 이에 따라 전체 비즈니스 프로세스를 이해하고 체계적으로 문서화하는 업무를 수행하였음. 다양한 현업 부서와 지속적으로 소통하여 고객사가 사용하는 판매 시스템의 엔드투엔드 프로세스를 파악하고 관련 문서를 정리하였음.

    이를 기반으로 각 프로그램 화면과 기능을 효율적으로 이해할 수 있었으며, 단위 테스트, 시스템 테스트, 통합 테스트, 고객 테스트(UAT) 등 전체 테스트 단계에 필요한 시나리오 및 검증 문서를 모두 작성하였음. 또한 실제 서비스 전환을 위해 컷오프(Cut-over) 전략 및 실행 문서(런북)를 준비하여 안정적인 클라우드 이전을 지원하였음.

    안드로이드 Sales 기기 재설계 및 포팅 (1차 프로젝트)

    기존 C++로 개발된 세일즈 애플리케이션이 탑재된 노후 포터블 POS 기기를 안드로이드 기반 기기로 교체하면서, 기존 애플리케이션을 안드로이드 버전으로 포팅해야 하는 요구가 발생하였음. 13년 이상 사용된 기존 프로그램에는 문서가 전혀 존재하지 않았기 때문에, 모든 화면과 기능을 직접 분석하여 전체 동작 프로세스를 파악하였음. 분석 결과를 기반으로 필요한 화면들을 선정하고, 디자이너와 협업하여 안드로이드 환경에 적합한 UX 중심의 화면을 새롭게 디자인하였음. 동시에 도출된 기능 정의서를 기반으로 화면 및 기능 개발을 병행하였음.

    기존 프로그램은 외근 시 데이터 입력 후 사무실 복귀 시 별도의 싱크 장비에 접속해 중앙 서버로 데이터를 전송하는 방식이었으나, 안드로이드 포팅을 통해 LTE 기반의 실시간 데이터 저장이 가능해졌음. 또한 안드로이드 환경에서 오피스 도구 사용이 가능해지면서 문서 작업까지 수행할 수 있는 확장된 업무 환경을 제공할 수 있었음.

    Mobile Device Management (MDM) System 배포 및 관리

    안드로이드 세일즈 기기가 영업 인원들에게 배포되면서, 내부 데이터가 외부로 유출될 가능성이 증가하였음. 이를 방지하기 위해 MDM 기반 보안 프로그램을 선정하여 도입하였음. 도입된 MDM 솔루션의 관리자(Admin) 기능 전반을 분석하여 모두 문서화하였고, 현업에서 요구한 정책 및 제어 기능들을 설정하여 전 영업 기기에 일괄 배포하였음. 이를 통해 세일즈 기기의 보안 수준을 강화하고 안정적인 단말 통제 환경을 구축하였음.

    2차 안드로이드 프로젝트 (POS, E-Commerce, Customer Loyalty 등)

    전자담배 제품 의 온라인 전자담배 판매가 가능해지면서, 외부에서 개발한 E-Commerce 서비스와 기존 세일즈 판매 시스템 간의 데이터 연동이 필요한 상황이 발생하였음. 이를 위해 POS, Customer Loyalty 등 다양한 모듈과의 연계 요구 사항이 확산되었고, 이에 대응하기 위한 2차 안드로이드 프로젝트가 진행되었음.

    본 프로젝트에서는 프로젝트 리드와 테스트 리드 역할을 동시에 수행하였으며, 각종 회의를 주도하고 개발자 교육을 위한 산출물을 작성하였음. 또한 작업·코드 리뷰를 통해 개발팀과 지속적으로 소통하며, 기능 정의 문서와 검증 가이드를 작성하는 등 프로젝트 추진에 필요한 핵심 업무들을 담당하였음.

  • Ncer,.co.Ltd

    2012.10 ~ 2013.11 (1년 2개월)

    컨텐츠 개발팀 파트장

    요약: 개발 파트장으로, 주 고객인 CJ Entertainment 사에서 어플리케이션 기획을 받아 디자인 팀과 개발팀과 협업하여 다음 프로젝트들을 수행함. CI/CD 도입 및 Trello 사용

    공통 환경: cocos2d-x, c++, iOS Objective-C, android, Trello, GIT, Jenkins

    주요 프로젝트

    CJE 유아 우선 Ncer 교육 어플리케이션 개발

    CJ 에듀케이션의 유아교육 애플리케이션 개발 프로젝트를 수주하여, 두 가지 유형의 교육용 애플리케이션을 개발·납품하였음. 하나는 스토리텔링 기반 애플리케이션이며, 다른 하나는 유아가 직접 화면을 터치하며 상호작용할 수 있는 교육용 애플리케이션이었음. 두 애플리케이션 모두 Cocos2d-x 기반 프레임워크를 활용하여 개발하였음.

    스토리텔링 애플리케이션은 초기 플래시(Flash)로 제작된 콘텐츠를 기반으로 해야 했기 때문에, 플래시 데이터를 분석하여 Cocos2d-x에서 읽을 수 있는 엑셀 기반 데이터 포맷으로 변환하고 이를 바탕으로 기능을 구현하였음.

    교육용 애플리케이션은 CJ 에듀케이션에서 자체 제작한 Cocos2d-x 기반 프레임워크를 기반으로 개발하였으며, 프레임워크에 부족한 기능은 현업과 협의하여 신규 모듈을 개발·추가하였음.

    본 프로젝트에서 가장 어려웠던 점은 기술적 이슈보다 팀 간 소통이었음. 개발팀·기획팀·디자인팀이 서로 다른 관점과 아이디어를 가지고 있었기 때문에, 이를 하나의 제품 방향으로 정렬하기 위해 많은 협업과 커뮤니케이션이 필요했음.

    개발팀 파트장으로서, 신입 위주의 개발팀을 이끌며 기획·디자인팀이 개발 산출물을 신뢰할 수 있도록 샘플 제작, 반복 회의, 지식 공유, 코드 리뷰, 테스트 검증 등 Agile 프로세스를 체계적으로 운영하였음. 이를 통해 팀원들은 자신이 작성한 코드에 대해 확신과 성장 경험을 쌓을 수 있었으며, 내부 및 외부 이해관계자들의 지속적인 신뢰와 지원은 프로젝트 수행과 완료에 큰 도움이 되었음.

    • Alphabeasties : 2013 Parents` Choice Gold Award 수상
    사내 프레젠테이션 용 프로토타입 앱 개발 및 프레임웍 구축
    자체 유아 교육 어플리케이션 개발
  • 펠리시스 Felissis

    2011.10 ~ 2012.07 (10개월)

    컨텐츠 개발 프리랜서

    요약: 디자인 팀장과 함께 iOS 어플 기획 주도 및 iOS 어플 개발팀원으로 아래 프로젝트들을 수행함.

    주요 프로젝트

    신규 모바일 애플리케이션 개발을 위해 iOS 팀과 Android 팀으로 구성된 신규 개발팀을 구성하였음. iOS 개발이 주였지만, 기획 단계에서 브레인스토밍에 참여하였으며, 각 화면 개발 기획에도 참여하였음. 사실 개발 도구 및 언어 습득보다 전체 개발–배포–출시 프로세스를 이해하는 데 더 많은 어려움이 있었음.

    당시 모바일 플랫폼 개발 초기 시기였기 때문에 팀원 대부분이 잘 알지 못하는 부분이 많았음. 그러나 발생하는 문제들을 하나씩 해결하며 서로 지식을 공유하였고, 이를 기반으로 기능들이 하나씩 구현될 때마다 큰 성취감을 느낄 수 있었음.

    소통과 협업의 중요성을 실감할 수 있었던 프로젝트였으며, 신생 팀임에도 불구하고 도출한 아이디어가 고객들의 니즈와 부합함을 확인할 수 있었음. 또한 동종 업계에서 우리에게 협업과 협조를 요청하면서, 우리 아이디어가 시장에서 경쟁력을 갖출 수 있음을 증명할 수 있었음.

    위니의 동물원 - 아동 교육 앱
    위니의 동물원 - 단어장 앱
    구구단 워즈 - 구구단 학습을 위한 간단한 게임 앱
    위니의 동물원 라이트 - 무료 버전 앱
    위치기반서비스 키즈카페찾기 앱 v1.0 앱
    위치기반서비스 키즈카페찾기 앱 v2.0 앱
    위치기반서비스 키즈카페찾기 admin 사이트 구축
  • 라스트캠핑 커뮤니케이션스

    2011.07 ~ 2011.09 (3개월)

    솔루션 개발 프리랜서

    주요 프로젝트

    라스트 캠핑 가격비교 사이트 구축
    📌 개발 환경

    캠핑 커뮤니티, 가격비교, 캠핑장 검색 등 캠퍼들이 필요한 다양한 정보를 한 곳에서 제공하는 포털 성격의 프로젝트였음. 개발자 롤로 투입되었으며, 이전 PKay2 팀원들과 함께하여 팀워크 측면에서는 안정적으로 협업할 수 있었음.
    개발 환경은 CakePHP 기반의 MVC 구조였으며, MySQL 및 CakePHP 내장 ORM을 활용하는 프레임워크 특성을 이해하며 개발을 진행하였음.

    📌 문제

    담당한 화면 중 특히 난이도가 높았던 부분은 20여 가지 이상의 조건(지역, 구조, 편의시설, 날짜 등) 으로 검색되는 캠핑장 검색 화면이었음. 각 조건을 선택할 때마다 실시간으로 검색 리스트가 갱신되는 구조였는데, 초기 요구사항은 단순했으나 테스트 데이터가 완전하지 않았고, 테스트가 진행되면서 요구사항이 계속 변경되었음.
    이로 인해 조건 처리 코드가 점점 복잡해지고 난독화되었으며, 결국 PL로부터 리팩토링을 지시받았으나, 코드 구조가 이미 너무 복잡해져 처음으로 개발 진행 포기 선언을 하였음.

    📌 해결

    이후, PM 의 요청으로 PO 팀의 도움을 받아 해당 화면의 요구사항을 전면 재정리하였고, 개발팀 선배들과 함께 view 및 controller 레벨의 코드를 리팩토링하여 기능 요구사항에 맞는 최종 결과물을 완성하였음.
    이를 통해 복잡한 요구사항 변화 속에서 리팩토링의 중요성과 구조적 설계의 필요성을 크게 깨닫는 프로젝트였음.

  • 피케이투PKAY2

    2011.01 ~ 2011.07 (7개월)

    솔루션 개발 프리랜서

    👤 제휴사: Gmarket

    주요 프로젝트

    Gmarket 제휴 게임 아이템 거래 사이트 구축
    📌 배경/환경

    플레이어들이 이용하는 다양한 온라인 게임에서 획득한 전자화폐 및 아이템을 안전하게 거래할 수 있는 게임 아이템 거래 솔루션 구축 프로젝트였음. G마켓과 제휴하여 Gmarket 도메인을 통해 접속할 수 있도록 하였으며, G마켓 회원은 별도의 로그인 과정 없이 즉시 게임 아이템 거래 사이트를 이용할 수 있도록 SSO 기반 연동을 구현하였음.

    📌 역할 및 수행 내용

    프로젝트에서 개발자 역할을 담당하였으며, 전체 솔루션 중 고객 마이페이지(Client 화면) 를 개발하였음. 이후 사내 CS(Custom Service)팀에서 요구하는 운영 관리 솔루션을 추가 개발하였으며, 프로젝트는 MS MVC 3.0 기반에 SubSonic ORM을 적용한 구조로 진행하였음.

    특히 고객 전화 응대 프로세스를 지원하기 위해녹취파일 솔루션과의 연동,걸려온 전화번호 기반 고객 문의 이력 조회·저장 기능,상담 이력 관리 화면 구축등을 CS 팀과 긴밀히 협업하며 개발하였음.

    또한 특정 게임의 아이템 및 시세 정보를 수집하기 위한 웹 크롤러 프로그램을 개발하여 운영에 활용하였음. 프로젝트는 전반적으로 전자상거래(e-Commerce) 구조와 유사하여, 보안·정산·실시간 거래 처리 등 다양한 기술 요소를 경험하며 구현하였음.

  • 노아테크놀로지NoaTechnology

    2010.06 ~ 2010.12 (7개월)

    솔루션 개발 과장 팀원

    👤 고객사: 숭실/영동대 평생교육원

    주요 프로젝트

    LMS (Learning Management System) 개발
    📌 배경 및 문제점

    평생교육원에서 사용할 LMS 솔루션을 내부에서 자체 개발하는 프로젝트로, 본인은 MS MVC 1.0 기반의 첫 프로젝트로 참여하였음.
    투입 시점에는 약 6개월 동안 개발이 진행되었음에도 불구하고, 고객에게 전달된 산출물은 전혀 없었으며, 화면(UI) 구현도 거의 이뤄지지 않아 프로젝트 실패 상태로 간주되는 상황이었음.
    본 프로젝트는 숭실대와 영동대 두 교육원을 대상으로 동일한 프레임워크와 유사한 데이터 엔티티 구조를 기반으로 하되, 교육원별 디자인 및 추가 요구사항을 반영하여 각각 납품하는 형태였음.
    그러나 실제로는 프레임워크와 일부 데이터 엔티티만 존재하는 수준이었으며, 상세 요구사항 정의, UI 화면 설계, 기능 구현이 거의 진행되지 않아 고객은 6개월간 아무런 진척 상황도 전달받지 못한 상태였음.

    📌 해결 방안 및 수행 과정
    1. 개발 환경 정비 및 시스템 도입
      • 투입 직후 PM과 개발 인력들이 함께 프로젝트 운영 방식을 전면 재정립하였음.
      • 공통 PM이 고객과 긴밀히 소통하며 요구사항 및 UI 피드백을 정리하여 전달
      • 이 과정에서 처음으로 Agile 개발 방식을 경험
      • 사내 서버에 Jira를 구축하여 To-do 리스트 및 작업 현황을 체계적으로 관리
      • Cruise Control 기반 자동 배포 시스템 도입→ 빠르고 안정적인 배포가 가능해져, 각 이터레이션마다 고객에게 개발 진척과 실행 가능한 결과물을 공유할 수 있었음

      이를 기반으로 프로젝트가 완전히 리셋된 상태에서 정상적인 개발 프로세스를 다시 구축하게 되었음.

    2. Agile 기반 개발 실행

      본인은 영동대 측 개발 리드로서

      • 개발자 2명
      • 디자이너 1명
      • 공통 PM과 협업하여 개발 일정을 주도하였음.

      수행한 주요 역할은 다음과 같음.

      • 개발자 2명의 역량을 진단하고 역할 및 To-do 리스트를 재배분
      • 6주 이내 전 화면(UI) 개발 완료를 목표로 계획 수립 및 관리
      • 화면 개발 완료 후 전체 흐름 테스트를 진행하고, 영동대 담당자와 함께 기능 검증 수행
      • 테스트 기간 중 도출된 개선 사항을 지속적으로 반영
      • 마지막 약 1주간의 UAT 기간 동안 집중적으로 품질 개선
      • 최종적으로 영동대 평생교육원을 직접 방문하여 납품 승인(Complete Sign-off) 획득
    📌 결론 및 성과

    해당 프로젝트는 고객사와 사내 모두에서 이미 실패한 프로젝트로 인식되고 있었으며, 내부 사기도 매우 낮은 상태였음. 이러한 환경에서 프로젝트를 정상화하고 납품까지 완료하는 과정은 큰 도전이었음.
    그러나 고객과의 지속적인 소통을 통해 정확한 요구사항 파악과 빠른 피드백 반영이 고객 만족도를 높이는 핵심 요소임을 체감하였음. 이를 기반으로 프로젝트를 성공적으로 마무리하며, 문제 해결 능력, 고객 커뮤니케이션 능력, Agile 기반 개발 경험, 초기 실패 프로젝트의 정상화 노하우를 얻을 수 있었던 매우 가치 있는 경험이었음.

    EduFunFun LMS 개발

    기간: 2010.10 ~ 2010.12

    📌 배경

    EduFunFun 프로젝트는 온라인 영어 학습을 위한 LMS(Learning Management System) 성격의 교육 플랫폼 구축 프로젝트였음. 본사에서 필리핀 지사에 영어 교육 시설을 설립하고, 한국과 필리핀 간의 실시간 영어 교육 서비스를 제공하기 위한 기반 시스템을 마련하고자 추진된 프로젝트였음.
    본 LMS는 JSP 기반으로 개발되었으며, 필리핀 현지 선생님과 학습자가 실시간으로 연결될 수 있도록 화상 교육 솔루션(Video Conferencing)을 도입함. 이를 통해 학습자가 직접 선생님을 보며 듣고 상호작용할 수 있는 온라인 학습 환경을 제공하였고, 고객이 온라인으로 영어 수업에 쉽게 접근할 수 있도록 사용자 경험을 강화한 시스템을 구축하였음.

  • (주)키라인포시스

    2007.06 ~ 2010.06 (3년 1개월)

    이랜드 주얼리 시스템 관리

    👤 고객사: 이랜드 시스템즈

    • ELAND 주얼리 브랜드(Lloyd, Clue, OST) POS 시스템 관리 및 개발
    • ASP, Visual Basic 6.0, MS SQL 기반 시스템 유지보수

    주요 프로젝트

    ELAND 주얼리 POS 시스템 개발 및 관리
    📌 배경

    이랜드 그룹 내 주얼리 브랜드(Lloyd, Clue, OST)에서 직영점 및 가맹점 매장의 판매 업무에 사용되는 POS(Point of Sales) 시스템의 유지보수 및 기능 확장 개발을 담당하였음.

    📌 문제

    초기에는 중국 개발센터가 신규 기능 개발을 모두 수행하고 본인은 운영(Run) 역할만 맡고 있었음.
    그러나 시간이 지나면서 중국 개발센터와 주얼리 운영 실무진 간의 커뮤니케이션 문제가 지속적으로 발생함. 요구사항과 다른 화면이 전달되거나 일정이 지연되는 사례가 반복되었고, 결국 매장 운영에 지장을 줄 수준에 이르러 고객과 합의 후 추가 개발 업무를 국내에서 직접 진행하기로 결정됨.

    📌 해결 방안

    이에 따라 본인의 역할은 운영에서 운영 + 개발로 확대되었음.
    해당 POS 시스템의 기술적 구조는 다음과 같았음.

    • Front: ASP + ASP Script
    • Business Layer: Visual Basic 6.0
    • 컴파일된 DLL이 COM+에 등록되어 DB와 연동.

    웹 개발 경험이 많지 않은 상황이었으나, 기존에 이미 운영 중인 POS 화면이 있고, 매장 200개 이상에서 요청하는 기능 확장 위주였기 때문에 기존 소스 분석 → 구조 파악 → 신규 기능 확장의 흐름으로 빠르게 대응할 수 있었음.

    📌 성과
    • 약 2주 만에 VB6 + ASP + COM+ 구조를 완전히 이해 및 습득
    • 독자적으로 개발 환경 및 테스트 환경을 재구성하여 안정적인 개발 체계를 마련
    • 이를 기반으로 신규 기능 개발 및 매장 운영 요구사항 대응을 안정적으로 수행
    • 시스템 구조 및 서버 구성까지 파악하게 되면서, 이후 서버 리소스 증설·이전 작업에도 핵심 역할을 수행할 수 있었음
    • 단순 코딩보다 POS 운영 비즈니스와 요구사항 분석 역량이 크게 성장한 프로젝트였으며, 동시에 새로운 언어·구조를 빠르게 습득하는 역량도 강화되는 경험이었음

학력 및 병역사항

  • University of Technology, Sydney (UTS)

    2014.02 ~ 2015.12

    Master of Information Technology (Extended)

    졸업논문: Efficient Adoption Practice of DevOps

    3,790편의 논문 중 32개의 관련 논문을 체계적 문헌 검토 방법을 사용하여 선정 및 검토하여 지식 기반을 제공하고, 현재 정보 관리 시스템에 DevOps를 도입하는 데 있어 정보에 입각하고 효과적이며 위험이 적은 방법을 제시합니다.
    [NotebookLM에서 자세히 보기]
  • Western Michigan University

    2004.05 ~ 2006.12

    Computer Information Systems (편입)

  • 군 복무

    2001.03 ~ 2003.05

    육군 병장 만기 제대 (육군 5군단, 145 정보대대)