미리보기
기본 정보
다양한 소프트웨어 개발 경험을 가진 8년차 개발자 문철현입니다.
자기소개
다양한 소프트웨어 개발 경험을 가진 8년차 개발자 문철현입니다.
다양한 스택(Spring 기반 백엔드, iOS 및 Windows native 앱)의 개발 실무 경험이 있습니다.
헬스케어 및 네트워크 보안 분야에 종사하며 도메인 전문성을 쌓았습니다.
신규 프로젝트의 기획부터 배포까지 전 과정을 주도한 경험과, 레거시 시스템의 운영 및 리팩토링
경험이 있습니다.
프로젝트에 적합한 오픈 소스를 선별, 분석, 적용한 경험과 각각 7.4k, 1.4k, 390 stars를 보유한 3개의
오픈 소스 프로젝트에 기여한 경험이 있습니다.
트러블 슈팅 경험을 기록하고 공유하기 위한 글을 기술 블로그에 작성합니다. (74개 글 발행)
개발자로서, 효율적인 개발 방법과 안정적인 설계에 대해 항상 고민합니다.
크로스 플랫폼 앱 프로젝트의 UI 코드 85% 공통화를 통해 개발 생산성 향상
주요 비즈니스 로직에 대한 단위 테스트 작성
경력
(주)에이치디정션
팀원 | R&D Unit
2024.05. ~ 2024.08. (4개월)
회사 설명: 클라우드 기반 EMR(의무기록 시스템) 개발 헬스케어 스타트업
담당 업무:
”truedoc TAB”의 iOS(iPad) 버전 앱 개발 및 TestFlight 관리
”truedoc TAB”과 연계하는 Backend API 수정 및 개선
Kotlin (Spring Boot) / Swift / SwiftUI
(주)모니터랩
팀원 | SRA팀
2022.12. ~ 2024.05. (1년 6개월)
회사 설명: 연 매출 100억대 코스닥 상장 웹 방화벽 기업
담당 업무:
VPN Client “AIConnector” 신규 개발 및 유지보수 (iOS / macOS)
안정적인 VPN 네트워크 연결 및 실시간 사용량 제공, 다국어 지원
App Store 검색 키워드 “AIConnector”
Swift / SwiftUI / Combine / async & await
(주)아름누리메디컴
팀장 | 솔루션 운영팀
2016.03. ~ 2022.04. (6년 2개월)
회사 설명: 대학병원 및 병/의원 의료 전산 솔루션 기업
담당 업무:
병원에서 사용하는 건강검진 전산 솔루션 개발 및 유지보수 (Windows)
신규 거래처 프로그램 보급 & 협력사 Interface 프로그램 개발
EMR(전자 차트) / PACS / 카드 결제 단말기 / E-mail & SMS 등
Delphi / MSSQL / Java8 / Spring
기술 스택
Java, Spring Boot, MySQL, iOS, Swift, SwiftUI
프로젝트
"truedoc TAB" 앱 기능 개선
(주)에이치디정션
2024.05. ~ 2024.08.
[설명]
“truedoc TAB”은 병원에서 사용하는 무인 접수 KIOSK Application 입니다. Backend 개발자이자 iOS 앱 개발자로서, 사내 앱 개발 담당자의 부재 기간(2년)동안 쌓인 VOC를 해소하고, 그동안 업데이트 하지 못했던 연계 API 변경 작업과 데이터 마이그레이션 작업을 수행했습니다.
앱 환경설정 CRUD API 개발
정책상 고정값인 앱의 환경설정 값을 사용자(병원)가 커스터마이징 할 수 있도록 개선
Schema 설계 수정 및 API 신규 개발, VO 정의 등 API 개발 업무 수행
원내 의약품 재고 관리 API 개선 및 버그 수정
API의 검색 필터 조건 추가 구현
잘못 작성된 쿼리를 수정하여 데이터 불일치 버그 수정
iOS 앱 기능 개선
사용자가 커스터마이징 기능을 사용할 수 있도록 앱의 View와 로직을 변경하고, iOS 버전별 동작이 상이한 버그 수정
[경험]
프로젝트를 수행한 기간은 한달 정도로, 짧은 일정동안 코드 베이스 분석과 도메인 스터 디를 병행하였습니다. 결과적으로 신규 버전을 성공적으로 출시하였고, 이 과정에서 기 획자 및 디자이너와 Figma, Jira 등 커뮤니케이션 도구를 활용한 효과적인 소통을 경험 할 수 있었습니다.
[사용 기술]
• Kotlin / Spring Boot / MySQL / SwiftUI
"AIConnector" iOS & macOS 앱 개발
(주)모니터랩
2022.12. ~ 2024.05.
[설명]
“AIConnector”는 자사의 클라우드 기반 보안 플랫폼인 “AIONCLOUD” 접속에 사용하는 VPN Client 입니다. iOS/macOS 앱 개발자로서, 앱의 최초 기획 단계부터 App Store 배포, 유지보수까지 모든 과정에 관여하였습니다.
SwiftUI 기반 크로스 플랫폼 애플리케이션 개발
iOS/macOS 크로스 플랫폼 애플리케이션 개발
UI 코드 85% 공통화를 통해 개발 생산성 향상
VPN 기능 구현
Apple NetworkExtension 프레임워크를 활용한 VPN 기능 구현
OpenVPN 및 WireGuard 프로토콜 동시 지원 구현
루트 인증서 설치 기능 구현
VPN 앱 전용 self-signed 루트 인증서 설치 및 확인 기능 구현
iOS는 정책상 third-party 앱이 직접 루트 인증서를 설치시킬 수 없는 문제
인증서 다운로드 웹페이지를 제작하여 다운로드 기능 제공
다운로드 후 자세한 설치 방법을 제공하는 온보딩 화면 개발
macOS 배포 루트 변경
macOS 앱의 시스템 권한 확보를 위한 배포 전략 변경
App Store -> .dmg 패키징 및 공증 프로세스로 전환
아카이빙부터 .dmg 파일 생성 단계까지 자동화를 위한 빌드 스크립트 작성
XPC Service(daemon) 구현을 통한 VPN 터널링 및 앱 강제 종료 방지 기능 구현
GraphQL 서버 통신 기능 구현
GraphQL 백엔드 API와의 통신을 위한 네트워크 계층 구현
URLSession 기반 JSON 통신 방식으로 개발하여 third-party 라이브러리(Apollo)
의존성 추가 없이 구현
프로젝트 구조 리팩토링
iOS/macOS 공통 비즈니스 로직 및 View 컴포넌트를 SPM으로 모듈화
모듈화를 통한 코드 재사용성 증대 및 빌드 시간 평균 10초 감소
핵심 비즈니스 로직 및 ViewModel에 대한 Unit Test 구현 (테스트 커버리지 40%)
오픈소스 기여
ActivityIndicator: SwiftUI로 작성된 Indicator(로딩 애니메이션) 라이브러리
LinkNavigator: SwiftUI로 UIKit의 NavigationController를 통해 네비게이션
시스템 구성을 편하게 도와주는 라이브러리Sparkle: macOS 전용 애플리케이션 업데이트 라이브러리
[경험]
이 프로젝트를 통해 앱 개발의 전체 사이클을 경험할 수 있었습니다. 특히, 이전에 사용해보지 않았던 SwiftUI를 실제 프로덕트에 적용하며 새로운 기술을 빠르게 습득하고 숙련도를 높일 수 있었습니다. 도전적인 과정이었지만, 동시에 매우 보람찬 경험이었습니다.
또한, 경쟁사 제품을 분석하고 우리의 상황에 맞게 개선, 적용하는 과정에서 네트워크 보안과 VPN 도메인에 대한 지식을 쌓을 수 있었습니다. 앱 개발을 혼자 맡아 진행하면서 좋은 아키텍처를 구축하는 데 어려움이 있었지만, 이를 통해 MVVM 구조에 대해 더 깊이 고민하게 되었고, 전역 상태 관리의 효율적인 방법을 모색하며 Redux 같은 프론트엔드 아키텍처 개념을 공부해 프로젝트에 녹여보기도 했습니다.
결과적으로, 테스트가 용이하고 유지보수가 쉬운 구조로 앱을 개발할 수 있었으며,
AIONCLOUD의 릴리즈 일정에 맞추어 성공적으로 앱을 배포할 수 있었습니다.
[사용 기술]
Swift / SwiftUI / iOS / macOS
고려대학교 병원 건강검진 솔루션 보급
(주)아름누리메디컴
2020.11. ~ 2021.11.
[설명]
삼성SDS의 ‘고려대학교 병원 차세대 EMR(병원정보시스템) 보급’ 프로젝트에
‘건강검진 특화 솔루션’ 납품을 수주하여, 자사의 솔루션인 ‘누리온’을 보급한 SI 프로젝트입니다. Windows 앱 개발자이자 Backend 개발자로서, 요구사항을 반영한 자사
솔루션 커스터마이징과 연계 API 개발을 담당하였습니다.
검진항목 처방 기능 및 출력물 커스터마이징
고려대학교 3개 병원(안암, 구로, 안산)의 각 요구사항을 반영
자동 묶음 처방 세팅 기능 개발을 통해 접수 업무 시간 단축
검진 기록지, 종합검진 결과지 등 각 병원별 전용 출력물 52종 개발
EMR 연계 인터페이스 프로그램 개발
삼성SDS의 EMR과 자사 솔루션 간 인터페이스(Windows 앱) 개발
MVC 아키텍처 패턴 적용
고려대학교 학사 DB 연계 API 개발
검진 수가 할인/면제 관리를 위한 고려대학교 학사 DB 연계 API 7개 개발
Java Spring 기반 REST API를 구현하여, 고려대학교의 클라우드에 직접 통합
NCP의 Cloud-Function 기반 서버리스 아키텍처로 구성
SQL 프록시 서버 개발
기존의 자사 솔루션은 2-Tier(Client & DB) 구조로, 납품을 위해 3-Tier(Client & WAS & DB) 구조로 전환을 수행
Tomcat & JSP 기반 WAS 개발을 담당하여, 약 3000개의 클라이언트 SQL 쿼리를 JSP 파일로 재작성하여 서버 구축
서버 재시작 없이 쿼리를 변경할 수 있어야 한다는 요구사항을 만족하기 위해 JSP 기술을 선택
[경험]
기술적 역량 뿐만 아니라 실무적 경험을 크게 향상시킬 수 있는 프로젝트였습니다. 1년간 3개 병원에 파견되어 사용자들과 직접 소통하며 커뮤니케이션 스킬을 강화할 수 있었고, 대형 병원의 의료 시스템에 대한 도메인 지식도 습득할 수 있었습니다. 또한, Spring 프레임워크와 웹 기술을 실무에 적용해 보면서 REST API가 동작하는 구조와 설계 방식에 대해 고민해보는 계기가 되었습니다.
[사용 기술]
Delphi / Java8 / Spring / Tomcat / JSP
건강검진 솔루션 "누리온" 신규 보급 및 유지보수
(주)아름누리메디컴
2016.03. ~ 2021.03.
[설명]
“누리온”은 자사에서 자체 개발한 병,의원용 건강검진 업무 특화 솔루션입니다.
Windows 앱 개발자로서, 솔루션 유지보수 및 신규 기능 개발, CS 업무, 신규 거래처
납품 등 솔루션을 운영하는데 필요한 전반적인 업무를 담당하였습니다.
솔루션 운영 및 유지보수
약 350개 거래처(1차의원~대학병원) 관리 및 신규 거래처 설치·교육 수행
소스코드 .zip 파일 관리 방식에서 버전 관리 시스템(SVN, Git) 도입 및 이관 주도
근무 기간 5년 중 마지막 1년은 운영팀 팀장으로 활동
Redmine 도입을 통해 이슈 관리 체계 구축하여 레거시 개선, 팀 문화 개선 주도
레거시 프로젝트 리팩토링
병원별 분리되어 있는 서브 프로젝트의 공통 모듈화를 위한 아키텍처 설계 및 구현
레거시 시스템 마이그레이션 프로젝트 착수 및 초기 단계(진행률 10%) 진행
국민건강보험공단 연계 API 모듈 개발
건강검진 대상자 및 수검항목 조회, 수검 확정, 변경 기능 구현
.dll 형태로 구현하여 여러 프로젝트에서의 호환성 및 확장성 확보
외부 서비스 연동 모듈 개발
다양한 의료 전산 솔루션(EMR, PACS 등)과의 연동 인터페이스 프로그램 개발
카드 결제 시스템, 문자 및 이메일 발송 서비스 등 외부 서비스 통합 모듈 구현
공지사항 시스템 개선
공지사항 시스템을 앱 내부의 단순 텍스트 방식에서 웹 뷰 기반으로 개선
기존 사용하던 파일 배포 서버를 활용한 HTML/CSS 기반 정적 페이지 구현
프로그램 변경점 및 가이드를 텍스트와 이미지로 전달하여 가독성 향상 및 사용자 경험 개선
사용자 매뉴얼 작성
사용자 관점으로 작성한 프로그램 가이드 작성 및 배포(PPT 600p 분량)
거래처 배포를 위한 주요 기능 요약본을 간편 가이드로 작성
가이드 보급을 통해 CS 업무 리소스 감소에 기여
[경험]
아름누리메디컴에서 근무한 기간동안 솔루션 운영 팀에서 근무하며, 다양한 측면에서 성장할 수 있었습니다. 1년 정도의 짧은 기간이었지만 한 팀의 팀장으로서 팀을 이끌고 리더십을 발휘해보는 경험을 쌓았습니다. 또한, CS 업무를 병행하면서 고객과의 직접적인 소통을 통해 커뮤니케이션 스킬을 향상시킬 수 있었고, 특히 병원에 직접 출장을 다니며 솔루션을 제공하고 설치하는 과정에서 단순히 개발자를 넘어 회사의 일원으로서 고객을 대하는 방법을 배웠습니다. 이러한 경험들을 통해 기술적 역량과 함께 비즈니스와 고객 관점의 사고를 기를 수 있었습니다.
[사용 기술]
Delphi / Windows / MSSQL / Oracle
포트폴리오
교육
인하대학교
대학교(학사) | 소프트웨어융합공학
2021.03. ~ 현재 | 재학 중
자격증
정보처리기사
취득 | 한국산업인력공단
2019.11.
외국어
영어
일상 회화 가능