오원준
의료 IT 풀스택 개발자
자기소개서
화면부터 배포까지, 데이터를 잃지 않는 서비스를 책임지는 풀스택 개발자
연속혈당측정(CGM) 의료기기 기업에서 의료 데이터 기반 웹 서비스와 사내 실험 데이터 플랫폼을 개발·운영하고 있습니다. 개인용 혈당 모니터링 서비스, 센서 실험 데이터 분석 플랫폼, 파생 서비스, 고객사 IoT 플랫폼, 감도표 관리 도구까지 여섯 개 프로젝트를 동시에 담당하며 React·Next.js 화면부터 Spring Boot·Flask 서버, AWS 인프라와 배포까지 직접 맡아 왔습니다.
멈추지 않는 배포와 무손실 이전
수동으로 이뤄지던 배포를 자동화하기 위해 저장소별로 GitHub Actions 파이프라인을 만들고, 서버에 키를 두지 않도록 OIDC와 SSM으로 배포를 연결했습니다. 배포 전에는 테스트 게이트를, 배포 후에는 헬스체크와 자동 롤백을 두었고, nginx 업스트림을 바꾸는 blue/green 방식으로 추가 비용 없이 무중단 배포를 구현했습니다. 배포 중 외부에서 수백 번씩 상태를 점검해 실패가 0건임을 확인했고, 운영과 같은 구성의 검증 환경도 함께 만들어 운영에 영향 없이 검증할 수 있게 했습니다.
온프레미스 서비스 두 개를 AWS(EC2·RDS)로 옮길 때는 "정지 → 최종 동기화 → DNS 전환" 순서의 런북을 먼저 작성했습니다. 수십만 행의 데이터를 테이블 단위로 전수 대조해 데이터 유실 없이, 서비스 중단 약 2.5분 만에 전환을 마쳤습니다.
레거시를 안전하게 바꾸기
사내 실험 데이터 플랫폼에 형상관리를 도입하고 코드를 위험도 순으로 정리한 뒤, 접근제어와 보안 체계를 정비했습니다. 차단은 먼저 로그만 남기는 관찰 단계로 실제 호출 경로를 확인한 뒤 적용해 업무가 멈추지 않도록 했습니다. 테스트를 0개에서 211개로 늘리고, 골든 마스터 테스트로 27개 화면의 결과가 같은지 확인하면서 중복 차트 함수와 SQL을 하나로 합쳤습니다. 20초 걸리던 목록 조회는 상관 서브쿼리를 CTE로 바꿔 0.6초로 줄였습니다.
화면까지 직접
React로 사용자·기기·권한을 관리하는 관리자 콘솔을 처음부터 만들었고, Next.js로 고객사 IoT 기기의 웹뷰를 개발하며 기기·서버·화면을 잇는 실시간 통신을 설계했고, 다국어 지원과 Tailwind 전환으로 인라인 스타일 81% 정리까지 맡았습니다. 서버의 시간 저장 방식을 UTC로 바꿀 때는 jest 골든 테스트로 한국 사용자 화면이 바뀌지 않았음을 확인한 뒤 배포했습니다.
추측하지 않고 실측하기
그래프가 주기적으로 비는 문제의 원인이 처음 추정과 다르다는 것을 데이터로 확인하고, 웹과 앱의 계산 규칙 차이를 찾아 결과 일치율을 약 40%에서 100%로 맞췄습니다. 운영 데이터를 바꿀 때는 백업과 드라이런, 전수 대조를 먼저 합니다. 데이터 처리 로직을 교체할 때도 저장값을 전부 다시 계산한 뒤 결과가 모두 일치하는지 확인하고 마무리했습니다.
의료 데이터는 한 행도 잃어서는 안 되고, 서비스는 멈추지 않아야 한다고 생각합니다. 화면부터 서버, 배포까지 전 과정을 이해하는 개발자로서 사용자가 믿고 쓰는 서비스를 끝까지 책임지겠습니다.
역량
경력
2년 8개월- 2026.03 ~ 재직중
(주)유엑스엔
풀스택 개발연속혈당측정 의료기기 웹 서비스·사내 데이터 플랫폼·IoT 플랫폼 6개 프로젝트 동시 담당 (개발부터 인프라·배포까지)
개인용 연속혈당 모니터링 서비스 - AWS 이전·배포 전담, 관리자 콘솔 신규 구축
2026.04 ~ 진행중- 온프레미스 → AWS(EC2·RDS) 이전: 수십만 행 전 테이블 일치 검증, 전환 다운타임 약 2.5분, 인증서 자동 갱신
- 키를 서버에 두지 않는 CI/CD(GitHub Actions + OIDC + SSM)와 nginx blue/green 무중단 배포 - 배포 중 외부 점검 236회 실패 0, 추가 비용 0원
- 관리자 콘솔 0→1 구축(사용자·기기·권한 관리, soft delete), 권한 문자열을 코드 기반 RBAC로 무중단 마이그레이션
- React 화면을 서버 UTC 시각 → 사용자 현지 시간 표시로 전환(차트·목록·리포트), jest + jsdom 골든 테스트로 한국 화면 변화 0 검증
- 리포트 조회 쿼리 29회 → 3회, 응답 8.0초 → 3.6초
- 시간 저장을 UTC 기준(timestamptz)으로 무중단 전환 - 전환 구간 데이터 유실 0행, 골든 마스터 테스트로 화면 변화 없음 증명
- 주기적 데이터 처리 스케줄러·FCM 푸시 출시, 처리 로직 교체 시 저장값 전수 재계산·일치 검증
- 웹·앱 계산 결과가 다른 원인을 찾아 일치율 약 40% → 100%
사내 센서 실험 데이터 분석 플랫폼 - 형상관리·보안·배포 체계 최초 구축
2026.04 ~ 진행중- 레거시 Flask 플랫폼에 형상관리·코드 리뷰 체계 도입
- 접근제어·세션 보안 체계 정비 - 관찰 → 차단 2단계로 업무 중단 없이 적용
- CI/CD: 테스트 게이트 → 헬스체크 → 실패 시 자동 롤백, blue/green 무중단 배포, 테스트 0개 → 211개
- 목록 조회 20초 → 0.6초(상관 서브쿼리를 CTE로 재작성)
- 센서 데이터 가공 파이프라인과 시각화 화면 구축 - 그래프·CSV 결과 100% 일치 검증
- ApexCharts 기반 데이터 비교 화면(최대 10개 선 겹쳐 보기·좌우 분할, 축 범위 직접 입력·축 비율 연동)
- 해외 기기 시간대 처리 - 저장은 UTC, 화면은 보는 사람의 브라우저 시간으로(목록·차트·CSV 전체 적용)
- 골든 마스터 테스트로 결과 동일성 유지하며 리팩터링(차트 함수 6→1, SQL 7벌→1, 미사용 코드 373줄 삭제)
연속혈당 파생 서비스 - 단독 구축·AWS 이관·운영
2026.06 ~ 진행중- 기존 서비스를 복제한 당일 저장소 분리·Docker 배포·HTTPS까지 라이브
- 단일 세션과 10초 이내 실시간 강제 로그아웃, Google·Kakao OAuth, UTC 저장·현지 시간 표시
- 온프레미스 → AWS 이관 단독 완료(전 테이블 일치 검증, DNS 전환), blue/green 첫 전환 점검 225회 실패 0
- 중복 이메일 계정 방지(fail-closed 로그인 + DB partial unique index)
- 단위 테스트 15개 → 119개, 작성 중 운영 코드 결함 8건 발견, 테스트 설계서 45개 항목
고객사 IoT 기기 연동 웹 플랫폼 - 웹뷰·백엔드 개발
2026.04 ~ 진행중- 기기 ↔ 서버 ↔ 웹뷰 실시간 통신(WebSocket) 구축
- Tailwind 전환으로 인라인 스타일 167 → 31개(-81%), 접근성 수정 20곳(div → button), 다국어 지원
센서 감도표 관리 도구 - 단독 개발
2026.04 ~ 진행중- 저장소 생성부터 배포까지 단독 구축, 버전 이력·UPSERT 저장, CSV(RFC 4180)·엑셀 일괄 등록
- 동시 업로드 중복 생성을 PostgreSQL ON CONFLICT 로 원자화, QA 12건 해결
- 대량 갱신은 ROLLBACK 드라이런으로 먼저 검증 후 커밋, 전극별 감도표·모바일 화면 추가
기타
2026.04 ~- 사내 회의록 정리 도구 신규 풀스택(FastAPI + React·Vite·TypeScript), 무중단 교체 중 연속 요청 3,298건 전부 성공
- 팀 문서 저장소 신설(링크·비밀값 자동 검사), PR 컨벤션 정립 후 기존 PR 386개 정리, 6개 프로젝트 인수인계 문서 작성
JavaPythonJavaScriptTypeScriptSpring BootFlaskReactNext.jsSpring SecurityJPATailwind CSSZustandApexChartsAWSDockernginxGitHub ActionsFCMPostgreSQL - 2022.05 ~ 2024.04
상상스토리(주)
연구소 · 주임 · 웹개발Spring 기반 웹 시스템 3건 개발·운영 (포털, LMS, 시설물 관리)
사내 포털 및 접근권한 관리 시스템 개발
2022.05 ~ 2023.08- eGovFramework 기반 포털 시스템 신규 구축
- Spring Security 활용 RBAC 기반 권한 관리 및 인증 시스템 설계·구현
- 시큐어 코딩 가이드 적용 및 보안 강화
- Docker 기반 사내 서버 운영 환경 구축 및 최적화
LMS 및 시설물 관리 시스템 고도화
2023.08 ~ 2024.04- 법무부 솔로몬로 포탈, LMS, 시설물 관리 시스템 개발 및 성능 최적화
- 웹 접근성 WAX Scanner 70 → 90점 개선 (KWCAG 인증 획득)
- SQL Injection, XSS 등 보안 취약점 60건 전수 점검·개선
- N+1 문제 해결을 위한 쿼리 튜닝
- RESTful API 설계 및 로그/통계 대시보드 구현
- 서버 관리 자동화 및 장애 대응 프로세스 체계화
JavaJavaScriptSpring FrameworkSpring BooteGovFrameworkJSPSpring SecurityMyBatisjQueryLinux(CentOS)DockerOracleMySQL
학력
- 2022.05 ~ 2024.02 · 편입/졸업
국가평생교육진흥원 (4년제)
정보통신학과지역 서울학점 3.75 / 4.5 - 2019.03 ~ 2021.02 · 졸업
부천대학교 (2·3년제)
정보통신학과지역 경기학점 3.49 / 4.5- 스마트멀티탭 - IoT 기반 에너지 절약 솔루션 개발 및 안드로이드 앱 연동
- 대중교통 통합 예약 어플 - 좌석 예약·취소·결제 기능 통합
- 숨겨진 명소 알리기 사이트 - 명소 등록/파일 업로드 공유형 웹사이트
- 농구팀 사이트 - 팀 소개, 공지사항, 질문 기능 + 관리자 페이지
교육
- 2025.06 ~ 2025.12
커널아카데미
AI 융합 백엔드 개발 부트캠프JavaHTML5CSS3JavaScriptTypeScriptSpring BootJSPReactJPAjQueryAI APIOracleMySQLPostgreSQL - 2021.07 ~ 2022.01
중앙 HTA
웹 콘텐츠 개발을 위한 응용SW엔지니어링 양성과정JavaOracleJSPHTML5CSS3JavaScriptjQuerySpring
자격증
- 정보처리기사한국산업인력공단 · 2023.06
- SQLD (SQL 개발자)한국데이터베이스진흥센터 · 2024.04
- 네트워크관리사 2급한국정보통신자격협회 · 2023.10
- 정보처리산업기사한국산업인력공단 · 2021.08