미리보기
기본 정보

저는 주변과 함께 성장하는 것, 함께 자라기를 잘 실천하는 사람 중에 한 명입니다. 동료가 가진 어려운 상황에 공감하는 것이 좋은 개발자가 되기 위한 첫 번째 조건이라고 생각합니다. 개발도 사람이 하는 일이고, 개발자 혼자서만 서비스 개발을 하는 것은 아니라고 생각합니다. 누구나 오류 또는 어려움을 만날 수 있고, 그럴 때 함께 하면 더 빨리 좋은 방향으로 문제를 해결할 수 있습니다.
포트폴리오
기술 스택
Java, Kotlin, Spring Boot, AWS, SQLD
교육
중부대학교
대학교(학사) | 국제통상학과
2014.03. ~ 2018.02. | 졸업
KG IT BANK
사설 교육 | Java SW 개발자 양성 과정(5개월)
2018.04. ~ 2018.09. | 졸업
코드스쿼드
사설 교육 | 코드스쿼드 마스터즈 코스 백엔드 과정 수료
2021.01. ~ 2021.06. | 졸업
자격증
SQLD
PASS | 한국 데이터 산업 진흥원
2021.10.
경력
주식회사 무신사
팀원 | 랭킹서비스팀
2022.09. ~ 2023.02. (6개월)
회사 소개: 패션 플랫폼 회사
퇴사 이유: 개인 사정으로 건강상의 이슈가 생겨 휴식을 위해 퇴사
담당 업무 소개
① 랭킹서비스 운영
② 랭킹 프로젝트 Java 언어에서 Kotlin 언어로 마이그레이션
담당 업무 상세 설명
랭킹 서비스 운영 및 Kotlin 언어로 마이그레이션
기간
- 2022.09 ~ 2023.02
개요
- 기존의 랭킹 서비스 프로젝트 운영과 과거에 검색 팀에 묶여 개발되어진 랭킹 프로젝트를 검색 팀에서 랭킹 팀으로 분리가 되면서 랭킹과 관련된 프로젝트 분리와 이관이 필요하게 됨
담당업무
① Java 11로 개발되어진 랭킹 프로젝트를 Kotlin 1.5.X 로 마이그레이션
② 검색 팀 프로젝트에 개발되어진 랭킹프로젝트를 분리해서 랭킹팀으로 이관
③ 해당 프로젝트는 QA까지 참여함
세부사항
① 프레임워크: Spring Boot
② 사용언어: Java, Kotlin
③ 환경: AWS 환경
이투스 교육 / 이투스 에듀
팀원 | 서비스 지원 개발
2022.01. ~ 2022.07. (7개월)
회사 소개: 중・고등학교 온라인 교육(5월에 회사 명이 바뀌었습니다.)
퇴사 이유: 무신사에서 좋은 기회가 생겨 이직
담당 업무 소개
① AWS Opensearch를 이용한 라이브 모니터링 알림 배치 시스템 개발
② 유저 메세지, 그룹 메세지 보내기 및 알림확인 파일럿 프로젝트 개발 (프로젝트 명: Message Box)
담당 업무 상세 설명
1. AWS Opensearch를 이용한 라이브 모니터링 알림 배치 시스템 개발
기간
- 2022.01 ~ 2022.03
개요
- 팀에서 개발되어지는 프로젝트들의 오류코드를 모니터링하기 위한 알림 배치 시스템이 필요하게 됨. 예를 들어 10분마다 오류에 해당하는 코드가 100회 이상 발생하면 슬랙으로 알림을 받을 수 있도록 함
담당업무
- Packetbeat를 통해 AWS Opensearch에 저장되어지는 응답 데이터를 기반으로 등록된 정책(조건)에 대한 알림 발송 여부를 판별하는 배치 시스템 개발
세부사항
① 프레임워크: Spring Boot
② 사용언어: Java
③ 환경: AWS 환경
④ 기타: Spring Batch 이용
(주) 케이티넥스알
팀원 | Data Engineering 팀
2020.08. ~ 2020.11. (4개월)
회사 소개: KT 계열사로 빅데이터 플랫폼을 개발 및 운영하는 회사
퇴사 이유 : 계약 만료
담당 업무 소개
① 한국관광공사 관광데이터 지표 구축 프로젝트 참여
담당 업무 상세 설명
1. 한국관광공사 관광데이터 지표 구축 프로젝트 참여
기간
- 2020.08 ~ 2020.11
개요
- 카드 결제 데이터, 통신 및 기지국 데이터 기반으로 새로운 관광데이터 구축
담당업무
- 지역별 이동 행태 분석 테이블 개발 작업
세부사항
① 업무환경: NDAP(해당 회사의 Hadoop Eco-System으로 된 SW 제품)
② DW: Hive
③사용 언어: HiveQL
업무 과정
① 고객 요구사항 정의
② 영역을 세 단 계로 나눔(Staging, Managing, Analytics)
③ HDFS에 있는 데이터 파일 Staging 영역으로 DDL 작업 진행
④ Staging 영역에서 컬럼기반으로 저장하기 위해 Managing으로 ORC 테이블 생성
⑤ Managing 영역에 있는 데이터를 집계하여 Analytics영역에 분석 테이블 개발
(주)아이지에스
팀원 | 기술지원실
2018.11. ~ 2020.03. (1년 5개월)
회사 소개: 넷마블 자회사로 게임 QA, CS를 담당하는 회사
퇴사 이유: 조직 개편으로 직무 변경 위기에 처함
담당 업무 소개
① 팀에서 개발되어지는 AI 모델 프론트 웹 페이지 기획 및 개발(CI 팀/ 팀원)
② 게임 BI 데이터 추출(넷마블 BI 서비스팀 파견, 기술지원실/ 팀원)
담당 업무 상세 설명
1. 팀에서 개발되어지는 AI 모델 프론트 웹 페이지 기획 및 개발(CI 팀/ 팀원)
기간
- 2018.11 ~ 2019.09
개요
- 해당 프로젝트는 신입 프로젝트로 시작하게 되었습니다. 팀에서 개발되어지는 머신러닝에 대한 API 및 메타데이터를 관리하고, 한 페이지 안에서 여럿 머신러닝을 시각화한 프론트가 필요하다고 생각이 들어 기획을 하게 되었고, 팀의 권유에 Django 프레임워크로 프로젝트를 하게 되었습니다. 당시에 프론트에 대한 지식이 부족하여 프론트 프레임워크를 사용하지 않고, HTML, CSS만으로 개발한 것이 많이 아쉽습니다.
담당업무
① AI 모델을 시각화 한 프론트 개발
② 머신러닝에 대한 API 개발 및 메타데이터 관리
세부사항
① 프레임워크: Django
② 언어: Python
2. 게임 BI 데이터 추출(넷마블 BI 서비스팀 파견, 기술지원실/ 팀원)
개요
- 넷마블 게임 별 사업, 마케팅 부처에서 비즈니스 파악 및 개선을 위해 업무지원 요청
기간
2019.09 ~ 2020.03
담당업무
① 데이터 추출
업무과정
① 게임 별 사업, 마케팅 부처에서 데이터 추출과 관련하여 요청된 업무 내용 파악
② 요청 내용에 맞는 데이터 추출을 위해 데이터 구조 파악
③ 데이터 구조 파악 완료 후, 분석 및 이슈 대응이 가능한 데이터(의미있는 데이터)로 처리
세부사항
① DW: MSSQL, Google BigQuery
② 사용언어: SQL
자기소개
회고
개인 사정으로 건강상의 이슈가 찾아와 휴식을 결정했습니다. 적은 연차로 커리어에 좋지 않은 선택임에도 불구하고도 무신사 퇴사라는 과감한 선택을 했습니다. 다행히 현재는 개인적인 이슈가 매우 안정되어 다시 구직중에 있습니다. 약 1년간의 휴식을 취하면서 궁극적으로 제가 '어떠한 개발자가 되고 싶은지', '어떠한 서비스를 만들고 싶은지'에 대해서 깊은 고민에 빠지게 되었습니다. 그동안 취업을 하는 행위 자체가 중요해서 서비스와 상관없이 이력서 지원, 면접, 입사에만 집중해 왔었습니다. 하지만 이제는 서비스에 초점을 맞추어 정말 즐겁게 서비스를 고민할 수 있는 곳에서 성장을 하자는 결론을 내렸습니다.
저는 이런 개발자가 되고싶습니다.
변화를 두려워하지 않고 성장하고 싶어요
저는 우연한 계기로 IT의 세계로 입문하게 되었습니다. 그래서 지금까지 비전공자로 살아남기 위해 노력했던 경험들이 변화와 배움의 중요성을 느끼게 해준 것 같습니다. 개발자가 되기 위한 여정이 시작된 곳은 취업 준비를 위해 엑셀 자격증 공부를 하고자 찾아간 컴퓨터 교육 학원이었습니다. 알고 보니 그곳은 국비 교육 학원이었고 어차피 개인 부담이 없으니 온 김에 해보는 게 어떻겠냐는 영업에 넘어가 교육과정에 등록하게 되었습니다. ‘엑셀이나 프로그래밍이나 컴퓨터로 하는 건 똑같으니까, 나중에 써먹을 날이 오겠지?’라는 정말 단순한 생각으로 시작하게 되었는데 오류(error)가 발생하면 그것에 대해 찾고 코드를 고치면 바로 반영이 되어 웹 브라우저에서 확인할 수 있는 게 너무 신기하고 재미있었습니다. 이런 과정이 즐거워서 전공과는 아무런 관련이 없는 IT 회사로 취업했습니다.
하지만 데이터 추출 업무만을 했기 때문에 점점 웹 개발 직무와 멀어진다고 느꼈고, 개발과 관련하여 아직은 실력이 부족하다고 느껴 퇴사했습니다. 그리고 기초적인 컴퓨터 공학 지식과 Java와 Spring Boot를 공부하러 부트캠프에 들어가게 되었습니다. 국비교육 학원에서는 전공지식보다 프레임워크 사용을 위한 기초적인 이론과 프로젝트 위주였기 때문에 컴퓨터공학 지식을 배우는 건 사실상 처음이라 너무 힘들었지만, 이 지식이 쌓여 보다 견고한 개발을 할 수 있을 것으로 생각되어 즐겁게 공부한 것 같습니다.
한 달 남짓으로 압축한 컴퓨터공학 기초 교육이 끝나고 Spring Boot에 대한 기본적인 지식을 배우고 나서는 프론트엔드, 모바일 팀원들과 협업하며 프로젝트를 진행했습니다. 이런 과정 속에서 비록 소규모 프로젝트이지만, 동료들과 새벽까지 토론하며 좋은 코드는 무엇인지 고민해 보고, 또 더 좋은 협업 방식은 무엇인지 고민하며 함께 서비스를 만든다는 게 어떤 것인지를 알 수 있게 되었습니다.
이전 회사에서는 경험하지 못했던 AWS, 데이터베이스 설계, 테스트 코드, 코드 리뷰등 값진 경험을 했다고 생각합니다. 부트캠프가 끝난 지금도 일 보 전진을 위한 자기 계발보다는 한 사람분의 일을 해낼 수 있는 사람이 되기 위해 인프런(inflearn)에서 유명한 웹 개발 관련 강의들을 수강하면서 따라 해보거나 부트캠프에서 추천해 준 직무 관련 도서들을 조금씩 챙겨보고 있습니다.
비록 얼결에 시작한 개발 직무지만, 만약 변화를 두려워했다면 0부터 다시 시작하는 마음으로 퇴사하고 부트캠프에 참여하지 않았을 것이고, 지금처럼 전공 수업 때 배운 무역에서의 페이로드(payload)보다 http 메시지에서의 페이로드가 더 익숙해지는 일도 없었을 것입니다. 앞으로도 배움에 가치를 두고 과거를 벗어 던질 수 있는 용기를 가지고 앞으로 나아가고자 합니다.
함께 성장하기 위해 저는 소통하려고 노력해요
부트캠프에서 백엔드 개발자로 프론트엔드와 모바일과 협업을 해야 했습니다. 처음 프로젝트를 진행했을 때는 서로의 기술에 대한 배경지식이 부족하여 소통에 어려움이 있었습니다. 그래서 초반에는 갈피를 잡지 못하여 어찌할지 몰라 우왕좌왕 진행했지만, 협업이 잘 이루어지려면 소통을 어떻게 해야할지 동료들과 함께 고민도 많이 했습니다.
부트캠프에서 처음으로 프로젝트 했던 때가 생각납니다. TO DO LIST를 관리할 수 있는 애플리케이션을 2주 동안 개발하는 일이었는데, 처음이라 어떻게 시작을 해야할지, 무엇부터 커뮤니케이션해야 하는지 잘 몰랐습니다. '백지장도 맞들면 낫다'라는 속담처럼 팀원과 기획서를 분석하기 시작했고, API 협의를 진행해야 프론트엔드와도 소통이 잘 될 수 있다는 것을 알게 되었습니다.
그리고 원활한 프로젝트가 되기 위해서는 업무 공유가 더 자세히 이뤄져야 함을 배웠고, 매일 데일리 스크럼을 통해 우리는 어느 정도까지 개발했는지, 현재 문제점은 어떤 게 있는지, 프론트엔드나 모바일에서 필요한 내용은 없는지 확인했습니다.
어떠한 일이든 어려움이 존재하고, 완성을 향해 달려가다 보면 그 속에서 무엇이든 배워 성장할 수 있었습니다. TODO LIST 프로젝트는 저에게 가장 즐거웠던 프로젝트입니다. 팀원과 함께 성장한다는 것이 무엇인지 피부로 느낄 수 있었고, 2주 동안이지만 거의 매일을 새벽 1시~2시까지 팀원과 시간이 가는지도 모르고 프로그래밍에 심취했습니다.
그리고 함께 성장하기 위해서는 질문을 부끄러워하지 않는 태도도 필요했습니다. 되든 안 되든 팀원과 소통하며 부딪히면 목표를 완수할 수 있고, 나 또한 성장할 수 있다는 것을 깨달았습니다. 처음 프로젝트를 할 때는 바보 같은 질문일까 봐 대충 아는척하면서 넘길 때가 많았습니다. 하지만 배움의 구멍만 생길 뿐, 모두에게 긍정적이지 못했습니다.
부트캠프 과정이 끝난 뒤에 따로 진행하는 프로젝트에서는 모르는 것이 있으면 물어보고 그냥 넘어가려고 하지 않습니다. 글을 쓸 때도 제가 봤을 땐 보이지 않던 오타가 다른 사람이 보면 보이는 것처럼 코드에서 고칠 점이 생기면 배움의 기회로 생각하고, 모두에게 좋은 지식을 나눠줄 수 있다고 생각합니다.