
미리보기
- 직업
- 백엔드 개발자
- 이름
- 황창환
- 간단소개
- 비즈니스를 이해하고 임팩트를 주는 것을 좋아하는 개발자입니다. - 견적서 프로세스 표준화 및 자동화 개발을 통해 계약 프로세스 단축, 수익률 개선 개발생산성, 안정적인 개발 설계를 좋아합니다. - 파편화 되어있던 OAuth logic 추상화, 패키지화 하여 개발생산성 극대화 Domain Driven Design을 좋아합니다.

포트폴리오
기술 스택
- 기술 스택
- DDD
- Node.js
- JavaScript
- TypeScript
- TypeORM
- React
- Docker
- Go
경력
- 회사명
- 주식회사이큐브랩
- 직책 • 부서
- Tech Lead • SW팀
- 근무 기간 (근무 형태)
- 2022.02. - 재직 중
- (3년 1개월 | 정규직)
- 담당 업무
리드 개발자: 설계 및 개발 담당, 개발 팀원(3명)에게 이슈 할당 및 개발 주도, 타 팀과 커뮤니케이션
팀 구성: PM 1명, 디자이너 1명, BE&FE 개발자 4명
다양한 영업 도구(허브스팟, dialpad, gmail)에서 개별적으로 수행되던 영업 활동을 인터널 프로덕트로 통합하여 사용 편의성과 데이터 일관성을 극대화 하는 것
통합된 플랫폼을 통한 운영 효율 및 사용자 경험 개선 기대
gmail api를 이용하여 메일 클라이언트 개발 진행 중
kafka event를 이용하여 영업활동 로그 실시간 적재
리드 개발자: 설계 및 개발 담당, 개발 팀원(1명)에게 이슈 할당 및 개발 주도, 타 팀과 커뮤니케이션
팀 구성: PM 1명, 디자이너 1명, BE&FE 개발자 2명
고객 확보 역량을 올리기 위해 게임화 요소(퀘스트, 랭킹) 도입
월별 고객 확보 수 및 영업 활동량 증가
(고객수 1.6배, 활동량 분야별 20~40% 증가)
DDD기반의 설계
kafka message의 key를 이용하여 이벤트간 순서 제어
잠재 고객 데이터 등록 시 전화번호로 회사(약 400만개)를 찾는 로직이 있었습니다. 처음에 OR 로 검색했을 시 개별인덱스를 타고 검색하지 않아 복합인덱스를 줘봤지만 OR의 경우 optimizer가 인덱스를 탈지말지 결정하기 때문에 (index merge or full scan) full scan을 하게 되어 너무 오래걸리는 상황이 있었습니다. 그래서 이부분은 트레이드오프를 감수하고 각각의 column으로 5번을 동시에 io(Promise.all)하여 데이터를 가져오고 중복을 제거했습니다.
리드 개발자: 설계 및 개발 담당, 개발 팀원(2~3명)에게 이슈 할당 및 개발 주도, 전체 견적 플로우 기획 및 제안
팀 구성: PM 1명, BE&FE 개발자 2~3명
기존에 파편화 되어있고 수동으로 하던 계산, 제출, 후처리 프로세스를 표준화 및 자동화 하여 인력 소모, 휴먼 에러를 최소화 하고 계약 체결 프로세스 소요 기간 단축
작업 인원, 시간 최적화 : 기존 하루 2명(풀타임) 작업 -> 1명이 1시간 만에 처리
계약 프로세스 단축: 평균 7.3 영업일 -> 4.6 영업일 (2.7일 단축)
수익률 개선 및 시장 경쟁력 상승: 평균 contribution margin 30% 증가,
월별 고객 확보 건수 1.7배 증가
DDD 기반의 설계를 통한 개발
전체 프로세스 표준화 및 work flow를 도식화, 문서화를 통해 제안함
기존 계산식의 오류를 잡아내어 수익률 개선
처음 요구사항을 들었을 때 제가 조금 더 효율적인 방식으로 재정립 할 수 있겠다고 생각이 들어 전체 프로세스를 표준화하고 work flow를 다이어그램으로 만들어 기획안을 제안하고 통과되어 개발을 하게되었고, 프로세스 자체가 복잡하기 때문에 개발 생산성에 최대한 집중하여 설계를 했었습니다. 최대한 통일된 언어를 사용하고 (ubiquitous language) 개발 로직 flow를 다이어그램으로 정리하고 꾸준히 리팩토링 하여( 14개월간 pr 120개, 1657커밋 ) ddd에 입각한 설계로 개발생산성을 높히고, 에러케이스를 예방하기 위해 테스트코드를 꼼꼼히 작성했습니다. (테스트 케이스 140개)
리드 개발자: 미국 현장 출장 (2023.09 ~ 2023.10)을 통해 실태 조사 후 모니터링 시스템 개발 주도
팀 구성: PM 1명, BE&FE 개발자 2명, IOT 개발자 1명
고객 서비스 불만의 주 원인인 파트너사의 미수거 문제를 해결하기 위해 센서를 설치하여 수거 상태 모니터링 시스템 개발, 미수거 시 자동 알림을 전송하여 본사의 불필요한 크레딧 지급 예방
미국 Houston, Dallas 지역에 센서 750대 설치
실시간 모니터링 시스템 도입으로 수거 미실시 시 센서 촬영 이미지와 쓰레기 fill level 정보를 파트너사에 자동 알림으로 미수거 지역 재수거율 상승
파트너사 미수거 감지를 통한 본사의 무의미한 자금 유출 방지
테넌트 프로덕트 내 모니터링 시스템 구현
IOT + 카프카 메세지를 통해 센서 데이터 수집 및 테넌트 결정 알고리즘 설계
실제 현장(미국)에 가서 고객들을 만나면서 개발자에게 도메인 지식을 늘리는 것이 얼마나 중요한지 깨닫게되는 프로젝트였습니다. 센서를 설치하면서 센서의 데이터가 어떻게 오는지, 어떤방식으로 동작하는지 배우고, 실제 저희가 어떤 고객을 주로 상대하는지 등의 특성을 배워 모니터링 시스템 구축 시 파트너사에게 어떻게 보여줄지, 어떤 방식으로 전달할 지 정했습니다.
기존 rxjs로 되어있던 이벤트 발행부를 카프카를 활용해 멀티 테넌트 구조 대응, 멱등성 보장을 통한 데이터 신뢰도 상승
팀 내 슬로우 쿼리 확인 및 인덱스 설정으로 쿼리속도 1900% 개선 (20~30s -> under 1s)
batch update와 비동기 이벤트 발행에서 동시성 이슈가 발생하여 pessimistic lock을 활용하여 해결.
테스트 코드 강화 및 사내 DevTalk에서 트러블 슈팅 발표하여 재발 방지 교육
영업활동 효율화를 위한 CRM 서비스 개발
2025.01 ~ 현재 진행중
기여도/팀구성
프로젝트 목표
달성 성과
작업 내용
영업직 게이미피케이션 시스템 도입
2024.11 ~ 2024.12
기여도/팀구성
프로젝트 목표
달성 성과
작업 내용
고찰
견적서 프로세스 자동화 개발 주도
2023.09 ~ 2024.11
기여도/팀구성
프로젝트 목표
달성 성과
작업 내용
고찰
센서 기반 수거 모니터링 개발 주도
2023.09 ~ 2023.11
기여도/팀 구성
프로젝트 목표
달성 성과
작업 내용
고찰
유지보수 및 성능 개선
2022.02 ~ 2023.10
- 회사명
- 삼성서울병원
- 직책 • 부서
- 연구원 • 의공학연구센터
- 근무 기간 (근무 형태)
- 2020.12. - 2021.07.
- (8개월 | 계약직)
- 담당 업무
- IEC 62366-1, IEC-62366-2
- ISO 14971
사용적합성 테스트 연구원
프로젝트
- 프로젝트명
- Kafka Connect Exporter
- 소속/기관명
- 프로젝트 기간
- 2025.02. - 진행 중
- (1개월)
- 프로젝트 설명
사내에서 CDC로 사용하고 있는 디비지움에서 오류가 발생하고 있으나 감지가 안되고있었음 ->
감지를 위한 metric 수집 할 수 있는 툴의 필요성 증가
현재 있는 kafkametric 수집 라이브러리들은 kafka 자체에 대한 metric 수집이거나 connect에 대한 metric 수집 기능이 미약하거나 유지보수가 되지 않음
사내 개발문화 개선을 위해 업무 외 시간에 별도로 프로젝트를 진행 및 오픈소스 제공
현재 진행중
로컬환경 구축 후 테스트 완료 ( kafka, prometheus, grafana, debezium )
unit test code 작성중
기술스택: Go, Kafka, Prometheus
깃허브 링크: https://github.com/Ecube-Labs/kafka-connect-exporter/tree/SW-11189
- 프로젝트명
- Douh
- 소속/기관명
- 프로젝트 기간
- 2023.07. - 2023.08.
- (2개월)
- 프로젝트 설명
TypeScript, Node.js 를 이해하기 위해 외부 라이브러리를 최소화 하여 개발
현재 직무에서 사용하고 있는 koa.js를 이해하기 위해 koa.js 소스코드 참고
기술스택: Node.js, TypeScript
깃허브 링크: https://github.com/douhjs/douh
Domain Driven Design 원칙을 따른 서버 프레임워크 오픈소스
- 프로젝트명
- 오픈소스 프로젝트 기여
- 소속/기관명
- 프로젝트 기간
- 2023.08. - 2023.09.
- (2개월)
- 프로젝트 설명
MDN 한국어 번역문서
오픈소스 개발 시 HTTP status에 대한 한국어 번역 설명이 없어 직접 번역하여 contribute함
Nest.js 의 Dependency injection을 간단하게 해주는 오픈소스 라이브러리
MDN
tiny-nestjs
대외활동
- 활동명
- 개발자 네트워킹 모임 운영
- 소속/기관
- 활동 연도
- 2025
- 활동 상세 설명
마틴 파울러의 pattern of enterprise application architecture 독서 스터디
회고
2024년 3월부터 모각코로 시작하여 사이드프로젝트, 스터디등을 진행하는 개발자 모임을 운영 (현재 인원 30명)
현재
- 활동명
- 부트캠프 항해99 기술 매니저 및 최종 프로젝트 심사위원
- 소속/기관
- 스파르타코딩클럽
- 활동 연도
- 2023
- 활동 상세 설명
React 기술 매니저로 2개월간 30여 명 교육생 코드 리뷰, 실시간 Q&A, 세션 진행
Node.js 기술 매니저로 4개월 간 60여 명 교육생 코드 리뷰, 실시간 Q&A 진행
그 외 다수 기수에서 세션 및 개발 멘토링을 진행
교육
- 소속/기관
- 건국대학교
- 종류 | 전공명/전공계열
- 대학교(학사) | 의용전자공학
- 재학 기간 (재학 상태)
- 2014.03. - 2020.02. (졸업)