Full-Stack Developer
정다솔Dasol Jung
설명할 수 있는 코드를 만듭니다.
4년간 개발자를 가르치던 강사에서, 레거시를 구조화하고 팀의 기준을 세우는 풀스택 개발자 정다솔입니다.
- id235791@gmail.com
- Phone
- 010-6472-2130
- GitHub
- github.com/id235791

소개
IT 교육 강사로 커리어를 시작해 C, Java, Python부터 Spring Boot, React까지 기초와 실무를 아우르는 과정을 직접 설계하고 강의했습니다. 단순한 문법 전달이 아니라 '이해를 기반으로 구현하는 개발자'를 길러내는 데 집중했습니다.
가르치던 기술이 현업에서 어떻게 서비스가 되는지 직접 부딪혀 보고 싶어 개발자로 전환했고, 건설업계 종합 플랫폼 GaiA/CaiROS 오픈과 SaaS-기간계 연동 프로젝트에서 공통 모듈 설계, 디자인 패턴 기반 리팩토링, 보안 인증 개발, Jenkins CI/CD 운영을 맡았습니다.
4인 사이드 프로젝트 duckzip에서는 PM으로서 첫 인프라 세팅부터 4단계 환경 분리 배포, GitHub Actions 기반 협업 자동화, 모든 API가 거쳐 가는 공통 인증·에러 처리 기반까지 개발 환경 전체를 직접 구축했습니다.
강단에서 다진 설명력은 실무에서 코드 리뷰와 팀 표준화로 이어졌습니다. 혼자 잘 짜는 코드보다 팀이 함께 읽고 이어갈 수 있는 코드와 개발 환경을 만드는 것을 가장 중요하게 생각합니다.
- 80%+수강생 취업률
- 4.5 / 5.0평균 강사 만족도
- 1위원내 강사 만족도 조사
- 5명주니어 코드 리뷰·교육
- 4인 팀사이드 프로젝트 PM·인프라 구축
- 4단계환경 분리 배포 (local~prod)
경력
총 6년 6개월 (개발 1년 7개월 · 강의 4년 11개월)
지에스네오텍(주)계약직 · 웹개발자
2026.02 - 재직중 (9개월)
SaaS - 기간계 시스템 연동 개발
- 신세계인터내셔날 Zendesk · ECP · MBS 3중 연동 게이트웨이 정보보안 취약점 대응: 3개 모듈의 MBS 호출을 고정 인증키에서 토큰 발급·캐싱·자동 재발급 방식으로 전환
- 38일간 멈춰 있던 스케줄러 장애 원인(HTTP 타임아웃 미설정)을 찾아 전 모듈에 타임아웃 적용
- LG전자 Zendesk Private App 고도화: 증상 기반 CallCode 추천으로 상담 입력 UX·조회 로직 변경
- 기간계 신규 시스템(N-GSFS) 전환 2회 대응: 7월 아시아 8개 법인, 10월 중동·아프리카 11개 법인(73개국)·인도네시아
- 일정 기반 자동 전환, 전환 RUNBOOK·점검 스크립트 정리, Claude Code를 활용한 레거시 분석과 유지보수 효율 개선
Spring Boot · Oracle · JavaScript · jQuery · Zendesk
아이디어정보기술정규직 · 주임
2025.04 - 2026.01 (10개월)
건설업계 종합 플랫폼 GaiA/CaiROS 풀스택 개발
- 퍼사드, 아토믹, 팩토리, 싱글톤 패턴을 활용한 레거시 리팩토링과 공통 모듈화
- Server-to-Server API, RESTful API 설계 및 구축, 착공계 문서 관리 핵심 기능 합동 개발
- 서비스 오픈을 위한 권한·보안·코드 검측 환경 세팅, Jenkins CI/CD 파이프라인 관리
- 하위 인력 5인 교육 및 코드 리뷰
Spring Boot · Pebble · JPA · MyBatis · PostgreSQL · Redis · Jenkins
KH정보교육원프리랜서 · 전임강사
2023.06 - 2024.12 (1년 7개월)
공공데이터 융합 자바개발자 양성과정 강의
- Spring Boot, React 기반 웹 애플리케이션 개발자 양성
- 수강생 취업률 80% 이상, 평균 강사 만족도 4.3 / 5.0
Java · Spring Boot · MyBatis · React · MySQL
코리아정보보안IT아카데미보습강사 → 프리랜서 전임강사
2019.11 - 2023.02 (3년 4개월)
풀스택 웹 애플리케이션 개발자 양성과정 강의
- 기초·심화 과목, 백엔드·프론트엔드 개발 강의 및 수강생 1:1 보습
- 평균 강사 만족도 4.5 / 5.0, 원내 만족도 조사 1위
Java · Spring · React · Oracle · MySQL
기술 스택
- Backend
- Java, Spring Boot, Spring Framework, JPA, MyBatis, Node.js
- Frontend
- React, Next.js, TypeScript, JavaScript, Vue.js, React Native (Expo), HTML/CSS, jQuery, Ajax, JSP, Thymeleaf, Pebble
- Database & Cloud
- PostgreSQL, MySQL, Oracle, Redis, Supabase, Supabase Realtime, Cloudflare R2
- DevOps & Collaboration
- GitHub Actions, Jenkins, Vercel, CI/CD 파이프라인, 환경 분리 배포, DB 마이그레이션 관리, Discord Webhook, Claude Code Hooks
- Architecture & Etc
- 디자인 패턴, 리팩토링, 모노레포 (npm workspaces), RESTful API, Server-to-Server API, JWT 인증, Gemini API, Ubi-Report, Claude Code
프로젝트
GaiA/CaiROS
2025.04 - 2026.01
아이디어정보기술 · 풀스택 개발 · 공통 개발 · 하위 인력 관리 · 기여도 100%
다양한 이해관계자가 사용하는 대규모 건설 플랫폼을 오픈까지 이끈 풀스택 개발. 레거시를 공통 모듈과 디자인 패턴으로 구조화해 팀의 개발 기준을 세웠습니다.
Spring Boot · Pebble · Vue.js · JPA · MyBatis · PostgreSQL · Redis · Jenkins · Ubi-Report
주요 문제 해결
문제주니어 개발자들이 복잡한 레거시 코드를 충분히 분석하지 않고 그대로 복사해 재사용하면서 비효율적인 구조가 계속 재생산되었고, 코드 검측률 저하와 일정 지연으로 이어졌습니다.
해결정형화된 아키텍처와 코드 구조를 설계해 팀 내 개발 기준을 세우고, 레거시를 컴포넌트·인터페이스 단위로 모듈화해 공통으로 제공했습니다. 팀원 모두가 같은 규칙과 흐름 안에서 개발하도록 만들었습니다.
문제반대로 일부 구성원은 기존 레이어를 무시하고 개인 스타일로 개발해, 복잡한 건설 도메인이 표준 없이 구현되면서 인수인계와 유지보수 부담이 급격히 커졌습니다.
해결개발자마다 따로 만들던 로직을 하나의 공통 모듈로 통합하고, 응답 처리·에러 핸들링 같은 관심사를 분리해 일관된 방식으로 수행하도록 했습니다. 퍼사드, 아토믹, 팩토리, 싱글톤 패턴을 상황에 맞게 적용해 모듈 간 의존성을 낮췄습니다.
문제착공계 문서 관리는 문서 승인 흐름, 상태 관리, 리포팅 등 세부 요구사항이 많은 플랫폼의 핵심 기능이었고, 다른 모듈과 데이터를 주고받아야 했습니다.
해결건설 도메인을 빠르게 학습해 승인 흐름과 상태 관리를 서비스 로직에 반영하고, Server-to-Server 통신과 RESTful API를 직접 설계해 모듈 간 데이터를 교환했습니다. Ubi-Report로 리포팅을 자동화했습니다.
성과
- 착공계 문서 관리 등 핵심 기능을 성공적으로 개발하고 서비스 오픈에 기여
- 공통 모듈과 표준 구조 제공으로 복잡했던 레거시의 유지보수 효율 향상
- 권한·보안·코드 검측 등 서비스 오픈 환경 세팅, Jenkins CI/CD 파이프라인으로 배포 자동화
- 하위 인력 5인 대상 코드 리뷰·교육·도메인 설명으로 팀 생산성과 코드 품질 향상
상세: id235791.github.io/portfolio/projects/construction-platform/
LG전자 Zendesk Private App 고도화
2026.03 - 2026.10
지에스네오텍(주) · 유지보수 · 연동 설계 및 개발 · 기여도 100%
LG전자 글로벌 상담 데이터를 기간계로 보내는 Zendesk 사이드바 앱을 맡아, 증상 기반 CallCode 추천으로 상담 입력 흐름을 바꾸고 기간계 신규 시스템(N-GSFS) 전환을 7월·10월 두 차례 대응했습니다.
JavaScript · jQuery · Vue.js · Zendesk Apps Framework · Zendesk Custom Objects API · Claude Code
주요 문제 해결
문제상담원은 제품을 고른 뒤 긴 CallCode 목록에서 해당 상담에 맞는 코드를 직접 찾아야 했고, 고객이 말한 증상과 CallCode 사이의 연결이 화면에 드러나지 않았습니다.
해결증상(3뎁스)을 먼저 고르면 CallCode를 불러오도록 입력 흐름을 바꾸고, 증상-CallCode 매핑으로 연관 코드 상위 3개를 자동 추천했습니다. 추천 밖의 코드는 [ALL] 버튼으로 전체를 볼 수 있게 했습니다.
문제10월 전환은 법인군마다 셧다운 시작 시각이 달라, 7월처럼 셧다운 상수를 직접 바꿔 재배포하는 방식으로는 대응할 수 없었습니다. 기존 구조도 '전환 대상은 모두 아시아 리전'이라는 전제라 유럽 리전을 표현하지 못했습니다.
해결리전·대상 국가·셧다운 시작·오픈 시각을 담은 일정표와 현재 단계를 계산하는 함수로 바꿔, 일정만 미리 등록해 배포하면 재배포 없이 자동 전환되게 했습니다. 전환 국가 목록도 리전별 구조로 개편했습니다.
문제10월 작업 중 7월 전환에서 '법인 1개 = 국가 1개'로 등록해 10개국이 빠져 있던 것을 발견했고, 앱에 들어 있는 국가코드 파일도 운영 데이터와 달랐습니다.
해결운영 Zendesk의 Custom Object를 기준 데이터로 정하고 대상 국가 조회·누락 점검 스크립트를 만들어 누락된 10개국을 바로잡았습니다. 국가코드 선조회를 RUNBOOK과 CLAUDE.md의 필수 규칙으로 남겼습니다.
성과
- 증상 기반 추천으로 상담원이 긴 CallCode 목록에서 찾던 과정을 상위 3개 선택으로 단축
- 2026.07 아시아 8개 법인 N-GSFS 전환 대응
- 2026.10 중동·아프리카 11개 법인(73개국)과 인도네시아 전환을, 당일 일정 변경에도 대응하며 완료
- 7월 전환에서 누락됐던 10개국을 찾아 반영하고, 다음 담당자가 그대로 따라 할 수 있는 RUNBOOK과 점검 스크립트 정리
상세: id235791.github.io/portfolio/projects/lg-zendesk-app/
신세계인터내셔날 연동 API 보안 인증
2026.02 - 2026.05
지에스네오텍(주) · 백엔드 개발 · 기여도 100%
Zendesk · ECP · MBS 3중 연동 게이트웨이에서, 정보보안 취약점 대응으로 기간계(MBS) 호출을 고정 인증키에서 토큰 발급·캐싱·자동 재발급 방식으로 바꾸고 38일간 멈춰 있던 스케줄러 장애도 찾아 해결했습니다.
Java · Spring Boot · JdbcTemplate · Oracle · Tomcat · Logback · Claude Code
주요 문제 해결
문제기간계 API를 설정 파일에 들어 있는 고정 인증키로 호출하고 있어, 정보보안 취약점 점검에서 외부 호출 보호가 부족하다는 지적을 받았습니다.
해결고정 인증키를 제거하고 기간계 토큰 발급 API로 받은 토큰을 Authorization: Bearer 헤더로 보내도록 바꿨습니다. 요청자 IP를 X-Forwarded-For로 함께 전달해 기간계가 실제 요청자를 식별할 수 있게 했습니다.
문제매 요청마다 토큰을 새로 발급받으면 기간계 부하가 커지고, 처음 설계한 'DB 만료 시각 기준' 판단은 실제 서버의 토큰 만료와 어긋났습니다. 재발급 흐름에도 불필요한 DB 왕복이 3번 있었습니다.
해결토큰을 IP + API 코드 단위로 DB에 캐싱하고, 만료 여부는 기간계 응답 코드로 판단하도록 바꿨습니다. 토큰 인증 오류 코드일 때만 재발급하고, 무효화-재조회-저장으로 나뉘어 있던 흐름을 refreshToken 하나로 합쳐 DB 왕복 3회를 없앴습니다.
문제작업 중 휴면·탈퇴 회원 처리 스케줄러가 2026.03.26부터 38일째 Zendesk API 응답을 기다리며 멈춰 있는 것을 발견했습니다.
해결jstack으로 스레드 상태를 확인해 HTTP 클라이언트에 타임아웃이 없던 것이 원인임을 찾았습니다. 전 프로젝트에 연결 10초 · 읽기 30초 타임아웃과 JDBC 쿼리 타임아웃 5초를 적용하고, 작업 완료를 기다리는 무한 루프에 최대 횟수를 두고, 재처리 시 중복 INSERT를 막았습니다.
성과
- 3중 연동을 포함한 3개 게이트웨이 모듈의 MBS 호출을 토큰 기반 인증으로 전환해 정보보안 취약점 대응 완료
- 토큰 연동이 안정된 뒤 전환 기간용 임시 fallback 코드를 계획대로 제거
- 38일간 멈춰 있던 스케줄러 장애 원인을 찾아 전 모듈에 타임아웃 적용
- 개발명세서 · DB설계서 · 환경 설정 가이드로 다음 담당자가 바로 이어받을 수 있게 문서화
상세: id235791.github.io/portfolio/projects/shinsegae-api-auth/
duckzip (덕집)
2026.04 - 진행중
사이드 프로젝트 · 4인 팀 · PM · 아키텍처 · 인프라/DevOps · 기여도 50%
애니메이션 캐릭터 팬 커뮤니티. 4인 팀의 PM으로 첫 인프라 세팅부터 4단계 환경 분리 배포, GitHub Actions 협업 자동화, 공통 API 기반까지 직접 구축했습니다.
Next.js · TypeScript · Supabase · Vercel · GitHub Actions · Cloudflare R2 · Expo · React Query · Gemini API · Claude Code
주요 문제 해결
문제local, dev, preview, prod 네 환경이 필요했지만 Supabase 무료 플랜은 프로젝트가 2개로 제한되었고, 어느 브랜치에 push하든 Vercel이 빌드를 돌려 빌드 자원이 낭비되었습니다.
해결local/dev/preview는 개발 DB를 공유하고 운영 DB만 분리하는 2-프로젝트 전략을 세우고, 파일 스토리지(Cloudflare R2)도 staging/prod 버킷으로 나눴습니다. Vercel ignoreCommand로 preview와 main만 빌드되게 했고, bash 전용 문법 때문에 조건이 무시되던 문제를 POSIX 호환 문법으로 고쳐 의도대로 동작하게 만들었습니다.
문제외부에서 API를 마음대로 호출할 수 있었고, 버튼을 연달아 누르거나 네트워크가 재시도하면 같은 요청이 중복으로 처리될 수 있었습니다.
해결모든 Route Handler가 거쳐 가는 공통 래퍼(withHandler)에 IP·Origin에 묶인 JWT 검증을 넣고, 공통 apiClient가 토큰을 자동으로 붙이고 만료되면 재발급 후 재시도하게 했습니다. 클라이언트는 진행 중인 같은 요청을 재사용하고, 서버는 Idempotency-Key 캐시로 중복 처리를 막아 이중 방어했습니다.
문제로그인한 사용자의 거의 모든 요청마다 인증 확인 뒤 users 테이블을 한 번 더 조회해, 요청당 DB 왕복이 불필요하게 하나씩 더 붙어 있었습니다.
해결계정 상태, 정지 기간, 가입 완료 시각을 인증 토큰의 app_metadata에 동기화해 두고 미들웨어가 그 값을 바로 읽게 바꿔 요청당 DB 왕복을 절반으로 줄였습니다. 값을 바꾸는 세 곳(제재 처리, 소셜/이메일 가입 확정)에 동기화를 넣고, 기존 계정 데이터 누락으로 생긴 소셜 로그인 리다이렉트 루프도 함께 해결했습니다.
성과
- 첫 인프라 세팅부터 운영 배포까지 전 과정을 직접 구축하고 서비스 운영 중
- 4단계 환경을 무료 플랜 안에서 분리하고 브랜치별 자동 배포 구성
- GitHub Actions와 Discord 알림, Claude Code 훅으로 4인 팀의 브랜치·PR 흐름 자동화
- JWT 인증, 중복 요청 방지, 공통 에러 처리 등 모든 API가 공유하는 공통 기반 제공
- 인증 요청당 DB 왕복 50% 감소
- README 아키텍처 설계도, 온보딩 순서, DB 접근 가이드 등 신규 개발자 문서 정비
상세: id235791.github.io/portfolio/projects/duckzip/ · 서비스 바로가기: gudi-dusky.vercel.app · GitHub: github.com/id235791/gudi-public
기타 프로젝트
과천교회청년교구 웹/앱Next.js · TypeScript · Supabase · Vercel
TypeScript 기반 Next.js 웹/앱 개발과 유지보수, 기능 확장을 맡아 실제 운영 중인 서비스입니다.
강의 자료 저장소Java · Spring Boot · MyBatis · React
강사 시절 Java, Spring Boot, React 기반 개발자 양성 과정에서 사용한 강의 자료와 예제 코드 모음입니다.
학력
- 한양대학교 ERICA캠퍼스 기계공학과 (중퇴)2013.03 - 2020.02
- 선린인터넷고등학교 정보통신과 (졸업)2009.03 - 2012.02
자격증
- 정보처리기능사 한국산업인력공단2021.11