미리보기
기본 정보

배움에 두려움이 없고 성장을 갈망하는 소프트웨어 엔지니어입니다. SI/SM 그리고 서비스 기업의 엔지니어로 활동했습니다.
자기소개
백엔드 개발자로서 3년간의 다양한 경험을 통해 성장한 최철원입니다. 대기업과 서비스 기업에서의 근무 경험을 통해 다양한 프로젝트에 참여하고 소중한 배움을 얻었습니다.
대기업에선 개발에 그치지 않고, 타 부서와의 프로젝트 회의에 자주 참여하면서 요구사항 파악과 타 팀과의 원활한 커뮤니케이션의 중요성을 간접 경험하게 되었습니다. 서비스 기업에서는 MSA, DDD, K8s와 같은 최신 기술 트렌드에 대한 이해를 높이고, RFC(Requests for Comments), ERD(Engineering Requirements Document)와 같은 문서 작성에 대한 중요성을 학습했습니다. 그리고 프로젝트에 참여하면서 테스트 코드 작성, 코드 리뷰, 로깅 설정, 모니터링과 같은 다양한 작업을 경험하며 실무 역량을 향상시켰습니다. 또한, 메모리 최적화와 리팩토링을 통해 끊임없이 개발자로서 성장하고 발전해왔습니다.
저는 앞으로도 새로운 도전과 학습에 열려있으며, 지속적인 발전을 통해 더 나은 개발자가 되기 위해 노력하겠습니다. 감사합니다.
Github: https://github.com/cheolwon1994 (클래스101에서 작업했던 계정은 삭제된 상태입니다)
블로그: https://imnotabear.tistory.com/
기술 스택
Java, Kotlin, Spring, Spring Boot, Oracle, MySQL, MongoDB, AWS, JavaScript, Logstash, Github, REST API, GraphQL, CI/CD
경력
CLASS 101
Software Engineer | Classmate Platform
2022.05. ~ 2023.07. (1년 3개월)
기술 스택: Java 11/17, GraphQL, REST, AWS, K8s, MongoDB, AuroraDB, React, Typescript, Harness CI/CD
- Class 101 수강환경 및 강의 백엔드 개발 담당
- 플레이리스트, 국제화 프로젝트 백엔드 개발
- Harness CD Pipeline 구축
- 로깅/모니터링을 기반한 장애 대응 효과 상승
- 유지보수/확장성 있는 설계를 할 수 있도록 노력
- 개발 전 RFC 문서를 작성해 팀원들과 리뷰
- TDD 개발 방식 활용
현대아이티앤이
선임 | 드림투어파트
2020.06. ~ 2022.05. (2년)
기술 스택: Java 7, RequireJS, JQuery, Mybatis, OracleDB, Nexacro, REST, Socket
- B2B 유지보수 담당
- B2C 개발 및 유지보수 담당
- 숙박대전 행사 개발
- 호텔 API 연동
- 항공 API 연동
- 쿠폰 및 프로모션 개발
- SSO 연동 개발
프로젝트
Playlist
CLASS 101
2023.05. ~ 2023.07.
유*브 뮤직과 같이 강의들에 대한 플레이리스트를 만들고 공유할 수 있는 프로젝트에 참여하였습니다. 이 프로젝트는 Hexagonal Architecture를 기반으로 한 MSA 프로젝트로, 총 6개의 서비스가 서로 통신하는 형태입니다. 약 9명의 팀원들과 함께 진행했으며 맡은 작업은 다음과 같습니다.
- GraphQL을 통한 Query, Mutation 처리
- REST API 이용하여 서비스간 통신
- Schema 설정을 위한 논의 및 RFC 작성
프로젝트를 진행하며 여러 서비스와 통신을 위해 스키마 논의와 설립, zero-trust 개념의 필요성 그리고 검증 로직의 위치의 중요성에 대해 배울 수 있었습니다. 그리고 서비스간 API Request 및 Response 형태 수정이 빈번하게 일어났었는데 서로 공유가 제대로 이뤄지지 않았던 적이 몇 번 있었습니다. 하지만 CI나 로컬에서 테스트를 하면서 Infrastructure module에 작성한 테스트 코드를 통해 이 이슈들을 바로 잡을 수 있었으며, 이때 테스트 코드의 중요성을 다시 한번 느꼈습니다.
CI/CD Tool 변경
CLASS 101
2023.04. ~ 2023.05.
신규 프로젝트를 위해 생성되는 서비스들의 CI/CD Pipeline을 Drone에서 Harness로 이전하는 작업을 팀원 1명과 함께 진행했으며 맡은 작업은 다음과 같습니다.
- Canary 기반 CD Pipeline 생성 및 Trigger 설정
- Helm Chart를 신규 Repo로 이전하고 모니터링 통한 메모리 최적화 수행
모니터링은 Datadog, Lens, K9s를 활용하여 진행했습니다. 모니터링을 기반으로 Pod의 안정성을 유지하면서 메모리 최적화를 진행함으로써 자원 효율성을 개선했습니다.
KTLO(Keeping The Lights On)
CLASS 101
2022.11. ~ 2023.04.
이 기간은 대규모 프로젝트들이 끝난 직후로, 서비스의 안정성과 기능 개선에 주력하여 공헌하였습니다. 주요 개발 기능은 다음과 같습니다.
주요 개발 기능
- GraphQL 요청/응답 로깅: 서비스 안정화를 위해 Spring AOP를 활용하여 GraphQL 요청과 응답을 Datadog에 로깅하도록 개발하였습니다. 이를 통해 서비스의 동작을 모니터링하고 잠재적인 이슈를 조기에 파악할 수 있게 되었습니다. 또한 추후 Instrumentation을 이용하여 로깅 방식을 개선하기 위한 계획도 수립하였습니다.
- 미디어 서비스 리팩토링: 문제가 있는 라이브러리를 제거하기 위해 모든 Rest API에 대한 Postman 테스트를 생성하고 테스트 코드를 추가로 개발하여 안정성을 확보했습니다. 그리고 안정적인 배포 및 롤백을 위해 롤링 배포에서 카나리 배포로 전환했습니다.
- 수강환경 개선: 구글에서 화면 정보를 수집할 수 있도록 수강환경의 구조를 변경하고, 재생중인 강의 자동 스크롤 기능을 추가 개발하였습니다. 이를 통해 사용자 경험을 개선하고, 편리한 서비스 이용을 제공하였습니다.
- B2G 관리: 현업의 요구사항에 따라 B2G쪽의 추가 개발을 진행했습니다.
- Authentication 강화: 성인인증 여부 검사 기능을 개발하여 서비스의 보안성을 강화하였습니다.
이 기간 동안 미디어 서비스 리팩토링을 진행하면서 모니터링의 중요성과 배포의 신중함에 대한 인식을 한층 더 깊게하게 되었습니다. 미디어 서비스 리팩토링 도중 운영 서버에서 문제가 발생했으며, 이 문제는 수강환경과 관련된 이슈로 인해 긴급한 롤백을 수행해야 했습니다.
이슈가 발생한 주된 원인은 JSR-275 라이브러리로, 특정 Root 라이브러리가 이를 사용하고 있는 구조였습니다. 이를 해결하기 위해 JSR-275와 연관된 API를 수정하고 개발, 운영 서버 순서로 테스트 및 배포했지만 에러를 불러 일으켰습니다. 이 문제의 근본 원인은 Root 라이브러리의 하위 라이브러리 중 하나가 다른 API에서 발생한 예외를 인터셉트하는 과정에서 ClassNotFoundException을 던진 것이었습니다.
이를 해결하기 위해 다른 하위 라이브러리들을 분석하고 운영 서버에서 사용중인 모든 API에 대한 Postman 요청을 만들고 테스트했습니다. 그리고 사용자 경험에 불이익이 최소화될 수 있도록 롤링 배포 대신 카나리 배포를 통해 변경 비율을 점진적으로 늘려가며 배포를 수행하였습니다. 이를 통해 사용자들의 경험에 영향을 주지 않으면서 문제를 해결하는 방법을 찾아냈습니다.
이러한 경험을 통해 변경 사항이 서비스에 영향을 미칠 수 있는 상황에서는 모니터링과 배포의 신중함이 얼마나 중요한지를 깨닫게 되었습니다. 이러한 과정을 통해 더욱 견고하고 안정된 서비스를 개발하고 유지하는 데 필요한 능력을 키울 수 있었습니다.
Globalization
CLASS 101
2022.06. ~ 2022.11.
제가 참여한 프로젝트는 세계적으로 확장하기 위한 자막 번역 프로젝트였습니다. 이 프로젝트는 Hexagonal Architecture 기반의 MSA를 활용하여 구현되었으며, 다양한 AWS 서비스를 활용하였습니다. 제가 수행한 주요 작업은 다음과 같습니다
- AWS MediaConverter를 이용한 대용량 미디어 전사 및 번역
- Lambda를 활용한 시스템 API 로직 구현
- 데이터 저장: MongoDB는 구조화된 데이터를 저장하고 조회하기 위해, S3는 미디어 파일 및 자막 파일을 보관하기 위해 사용되었습니다.
이 프로젝트에서는 AWS의 다양한 기능들을 학습하고 활용할 수 있었습니다. 번역, 음성추출과 같은 다양한 기능부터 시작하여 비동기식 통신을 위한 이벤트 기반 처리를 수행하는 이벤트 브릿지까지 다양한 측면을 경험하였습니다. 또한 람다를 활용하여 시스템 API 호출을 구현하면서 이벤트 드리븐 아키텍처를 실제로 적용하고 경험해 볼 수 있었습니다.
숙박대전 행사
현대아이티앤이
2022.02. ~ 2022.03.
한국관광공사와 여러 여행업체의 제휴 행사에서 드림투어의 대표로 참여하여 개발을 책임졌습니다. 이 프로젝트에서는 고객사의 개발자와 협업하여 요구사항을 파악하고, 한국관광공사의 API를 통해 쿠폰 상태 확인 및 이용 서비스를 개발하였습니다. 제가 개발한 작업은 다음과 같습니다.
- 쿠폰 관련 API 로직 개발
- 쿠폰 발급 화면 개발
- 결제 로직 리팩토링 수행
- 쿠폰 발급 확인용 관리자 화면 개발
- 재사용성이 높은 코드로 개발
이 프로젝트를 통해 결제 과정의 복잡한 코드를 정리하고 클린 코드의 중요성을 깨닫는 한편, 설계부터 구현까지 직접 수행하면서 개발자와 프로젝트 관리자의 역량을 향상시킬 수 있었습니다.
더현대트래블 유지보수 및 개발
현대아이티앤이
2020.07. ~ 2022.05.
더현대트래블 QA 시점부터 참여하여 전반적인 서비스 유지보수 및 개발을 담당했으며, 다른 서비스와 연동 혹은 자체 서비스 개선 작업을 수행했습니다.
주요 작업 내용
- 수동 쿠폰 발급 시간 50% 이상 단축
- THT 임직원 자동인증을 개발하며 전월 대비 임직원 인증 고객수 5배 증가
- 이벤트/제휴쿠폰 기획 및 개발을 통해 쿠폰 형태 다양화와 쿠폰을 통한 예약 3배 상승
- H.Point 그리고 그룹웨어 SSO 연동 개발을 통해 회원가입 수 증가
- 다른 업체들에게 제공한 URL을 통해 유입될 시 유입코드를 비교하여 특정 상품 전시 혹은 쿠폰 발급 개발
- GA연동을 통한 사용자의 행동과 서비스 이용 패턴을 분석하고, 이를 기반으로 데이터 주도적인 개선 작업을 진행
대외활동
SSAFY(3기)
SSAFY
SSAFY 3기에 참여하여 다양한 기술과 개발 경험을 쌓았습니다.
- 컴퓨팅적 사고능력 배양: 컴퓨팅적 사고를 기반으로 문제를 해결하는 방법과 알고리즘에 대한 기초를 배웠습니다.
- 팀 프로젝트 진행: 협업과 문제 해결 능력 학습하고 웹 개발 경험 습득
- 웹 개발 기술 습득
- FE: HTML, CSS, JavaScript
- BE: Java, MySQL, Spring Framework
겨울방학 인턴
만도헬라 일렉트로닉스
만도헬라 일렉트로닉스에서의 근무 기간은 2018년 12월부터 2019년 2월까지로, 안드로이드와 모션인식 분야에서 주요 작업을 수행했습니다.
[안드로이드]
기간: 2018.12~2019.01
안드로이드 플랫폼에서 작업한 내용은 다음과 같습니다.
- 디바이스(스마트워치)와 앱 간 블루투스 통신을 통해 전달받은 결과를 분석하여 화면에 표시하는 기능을 개발
- 카메라를 이용한 바코드 자동인식 기능을 개발
[모션인식]
기간: 2019.01~2019.02
- 스마트워치를 통해 축적된 데이터를 라벨링하여 분류 작업을 진행
- TensorFlow를 활용한 간단한 모션인식 모델을 개발
- 스마트워치로부터 입력된 데이터를 분석하고 패턴을 인식하여 사용자의 동작을 파악하는 작업을 수행
- 95%의 정확도를 보유한 모델을 개발
볼랜드(BALLAND)
아주대학교
2014년부터 2020년까지 아주대학교 정보통신대학 축구 소학회에 소속되어 활동했습니다. 해당 소학회는 재학생들로 구성되어 약 100명 이상의 인원이 소속되어 있습니다. 제가 참여한 기간 중인 17년도에는 소학회 회장을 맡아 조직의 지도자로서의 역할을 수행했습니다.
소학회에서는 교내에서 열리는 다양한 축구 대회에 참가하며 활발한 활동을 진행했습니다. 이러한 대회들에서 수상을 많이 했습니다. 이로써 제가 축구를 비롯한 스포츠분야에서 뛰어난 기술과 리더십을 발휘할 수 있는 능력을 갖췄습니다. 이러한 경험은 팀워크와 협업 능력을 향상시키는 데 큰 도움이 됐습니다.
아주대학교 정보통신대학 축구 소학회에서의 활동을 통해 뛰어난 리더십과 역량을 발휘하여 많은 대회에서 우수한 성과를 거두었습니다. 이러한 경험들이 제가 지금까지의 성공과 도전에 큰 영감을 주었습니다. 또한, 그동안의 활동을 통해 팀원들과의 협업과 조화로운 관계를 형성하며 서로를 이해하고 도우며 성장하는 중요성을 깨달았습니다.
교육
아주대학교
대학교(학사) | 소프트웨어학과
2014.03. ~ 2020.02. | 졸업
외국어
영어
일상 회화 가능
자격증
정보처리기사
기사 | 한국산업인력공단
2019.11.