kyoutae_93@naver.com
010 9109 2682
AWS, Kotlin, Spring Boot, JPA, MySQL
2023
2023.08.07 ~ 2024.08.16 _ 1년 1개월
차별화된 안전 시스템을 바탕으로 이뤄지는 중고 명품 C2C 거래 플랫폼
AWS, Docker, Beanstalk, Datadog
Kotlin, Spring Boot, Gradle, MySQL, JPA, NestJS, TypeORM
Angular, TypeScript
중고 명품 위탁 판매 시스템 개발
검수 센터 업무 효율성 증진을 위한 중고 명품 검수 시스템 개발
시크 고객앱 안전성 향상을 위해 신규 서버로 API 마이그레이션 진행
등록 매물 노출을 위한 네이버 카페(시크먼트 명품 커뮤니티) 게시글 크롤링 개발
Datadog(데이터독) PoC 진행
Database Replication 구성에 따른 Read / Write 분산 처리를 위한 JDBC 드라이버 변경
2021
2021.11.29 ~ 2023.06.30 _ 1년 8개월
IT 기술을 활용해 이동의 문제를 해결하는 모빌리티 플랫폼
AWS, Docker, Kubernetes, Helm, Datadog
Kotlin, Spring Boot, Gradle, MySQL, JPA, Apache Kafka
NextJS, Angular, TypeScript, Material UI
인터널 개발 챕터 리더 역할 수행
드라이버 공급과 라이더 수요 지표를 통한 실시간 관제 시스템 개발
비즈니스 고객 어뷰징 방지를 위한 시간 제한 시스템 개발
비즈니스(B2B) 포털 온보딩 시스템 개발
드라이버 온보딩 DRS(Driver Relationship System) 개발
드라이버 모집 페이지 개발
2019
2019.09.02 ~ 2021.11.20 _ 2년 3개월
자유여행 / 항공권 / 실시간예약 등 각종 여행 정보를 제공하는 OTA(Online Travel Agency) 플랫폼
Java, Spring Boot, Spring Webflux, Gradle, MyBatis, Oracle
Angular, TypeScript, Kendo UI Framework
Git 배포 전략 수립
항공 스케줄 최저가 제공
한글 번역 항공 운임 규정 키워드 추출
국제선 항공 스케줄 조회 API 개발
대한항공 조회 서비스 API 개발
2017
2017.02.20 ~ 2019.06.29 _ 2년 5개월
도면 및 기술 문서 자료를 안전하고 체계적으로 관리하는 IT 솔루션 시스템 제공
Java, Spring Framework, Maven, MyBatis, Tibero, Oracle, MSSQL
JavaScript, jQuery, Kendo UI Framework
KF-X TISS(KAI) 기술 자료 관리 시스템 도입
도면 관리 시스템 내 부서 게시판 개발
솔루션 내 시스템 위험 이슈 시각화 지표 개발
도면 관리 솔루션 업체별 마이그레이션 진행
주요 콘텐츠의 효과적인 노출을 위한 메인 레이아웃 리뉴얼 작업
2023
2023.08.07 ~ 2024.08.16 _ 1년 1개월
차별화된 안전 시스템을 바탕으로 이뤄지는 중고 명품 C2C 거래 플랫폼
Spring Boot / Kotlin / Gradle / JPA / NestJs / TypeScript / TypeORM
시크 고객앱 마이그레이션 진행
API 마이그레이션 계획 수립 및 진행
Legacy Nodejs 서버(API, Batch 서버)에서 Kotlin 서버로 마이그레이션 진행
코드 영역 / 데이터 영역으로 분리하여 리소스를 기준으로 가장 리스크가 적은 코드(단순 조회 기능 등)부터 마이그레이션 진행
네이버 카페(시크먼트 명품 커뮤니티) 게시글 크롤링 개발
네이버 카페(시크먼트 명품 커뮤니티) 매물을 크롤링하여 앱에서 활용할 수 있도록 데이터 적재
판매자 검색 API 개발
검색어 텍스트가 ID에 포함된 판매자 리스트와 해당 판매자의 판매 중인 상품 / 거래 완료된 삼품 개수를 제공하는 API 개발
Redis를 활용해 판매 중인 상품 개수를 10분동안 캐시하여 API 응답 속도 개선
네이버 카페(시크먼트 명품 커뮤니티) 게시글 크롤링 개발
외부 데이터를 수집하여 받은 이미지를 내부 시스템에 업로드하기 위해 크롤링 서버와 업로더 서버가 HTTP 통신을 시도
MultipartFile의 복수 파일을 주고받는 데이터의 크기가 커지면서 직렬화 과정에서 CPU 사용량이 급증
크롤링 서버의 CPU 사용률이 100%에 가까워져 응답하지 않는 문제 발생
MultipartFile 형태의 파라미터를 이미지 URL로 받을 수 있는 파라미터로 리팩토링
이미지를 업로더 서버에서 직접 다운로드받게 하면서 크롤링 서버의 CPU 사용률을 60%까지 감소시켜 안정성 향상
판매자 검색 API 개발
AWS ElasticCache-Redis를 사용한 Look Aside / Write Around 전략으로 캐시 적용
판매자 검색 API 응답 데이터의 경우 최신 상태를 유지하는 것이 고객에게 중요하기 때문에 Look Aside 전략 선택
판매 중인 상품 수와 거래 완료 상품 수가 변하더라도 고객이 판매자를 직접 검색해야 API를 호출하므로 데이터 삽입 시 캐시 컨트롤을 하지 않아도 되기 때문에 Write Around 전략 선택
API 호출을 통한 데이터 조회 시 캐시 저장소 확인 후 데이터가 없는 경우만 DB를 조회하여 캐시를 갱신하고 응답을 내려주는 방식으로 구현
마이그레이션을 통해 API에 맞게 도메인을 분리하여 장애 전파를 차단해 API 안전성 향상
네이버 카페(시크먼트 명품 커뮤니티)와 시크 앱에 올라오는 상품을 동기화시켜 약 2만 개에서 3만 개로 등록 매물 수 증가
Redis를 활용해 판매 중인 상품 개수를 10분동안 캐시하여 API 응답 속도 개선
NestJs / TypeScript / TypeORM / JavaScript
상품 등급 선별 및 정밀 검수를 위한 부속품 데이터 수집 API 개발
원활한 부속품 데이터 수집으로 검수 시 동봉되어 오는 부속품 분실률 감소
검수 상품 입출고 시 사용되는 ZEBRA 바코드 스캐너와 BIXOLON 프린터를 연동하는 물류 관리 시스템 개발
출력한 입고 영수증을 통해 검수 누락 / 중복 검수 등 검수 과정에서 발생하는 업무 비효율성 제거
Firebase Realtime Database를 이용해 입고 현황을 실시간으로 보여주는 입고 현황판 개발
단순 입고 현황 파악을 위해 관리자 시스템에 접속하는 시간을 단축하여 업무 효율성 개선
고객이 검수 요청한 제품의 진행 현황을 보여주는 검수 진행 과정 리포트 API 개발
이전에는 고객들이 실시간으로 알 수 없었던 검수 진행 과정을 보여줌으로 인해 검수 과정 고객 문의 감소
검수 리포트 이미지 워터마크 추가를 위한 AWS Lambda Function 개발
이미지가 AWS S3에 저장되면 AWS Lambda가 트리거되어 워터마크를 삽입하고 다시 AWS S3에 저장되도록 구현
워터마크 이미지를 교체해 언제든지 새로운 워터마크를 적용할 수 있도록 확장성을 고려하여 구현
이미 등록되어 있던 검수 이미지 약 30만 장에 워터마크 삽입 마이그레이션 진행 (약 15분 소요)
AWS BeanStalk / EC2 / Docker / DataDog
Nodejs & Kotlin 서버 Datadog(데이터독) 연동
모니터 설정 후 장애 발생 알림을 받기 위해 Datadog(데이터독) 웹훅을 이용해 SMS를 발송하는 AWS Lambda 개발
Datadog(데이터독)을 적용한 뒤 장애 트래픽 흐름, 장애 발생 위치, 이슈 쿼리 등의 분석이 용이해짐
장애 발생 알림 수신을 슬랙 채널에서 SMS로 변경함에 따라 즉각 장애 처리 및 대응이 가능해짐
APM Traces를 이용하여 검색 API를 분석 시 원하지 않는 조회 쿼리 발견
분석 결과 Kotlin JPA 환경에서 Lazy Loading이 동작하지 않는 이슈 발견
Kotlin은 모든 클래스와 프로퍼티가 Final로 되어 있기 때문에 Hibernate가 Final인 클래스를 상속하지 못해 Proxy가 생성되지 않아 항상 Eager 방식으로 동작하는게 원인, Kotlin 설정에 all-open 플러그인을 적용하여 문제를 해결
Spring Boot / Kotlin / Gradle
Read / Write 분산 처리를 지원하지 않는 AWS MySQL JDBC 드라이버 사용으로 트래픽이 급증하는 상황에서 Database 병목을 피할 수 없어 서버 전체가 다운되는 현상 발생
AWS Advanced MySQL JDBC 드라이버로 변경 후 Read / Write 분산 처리를 적용해 병목 현상이 발생하지 않도록 수정
API에 Read Replica Custom Annotation 구현
코드 레벨에서 Dynamic Data Source Routing 방식 적용
AWS RDS 사용으로 Write DB의 사용량 감소되고 Read DB에 사용량 증가하여 각 API들의 병목 현상 감소
2021
2021.11.29 ~ 2023.06.30 _ 1년 8개월
IT 기술을 활용해 이동의 문제를 해결하는 모빌리티 플랫폼
Kotlin / Spring Boot / JPA / Angular / TypeScript
비즈니스 계정일 경우 사용 가능 시간에만 호출할 수 있도록 설정할 수 있는 기능 개발
탑승 목적(외근, 야근 등)에 따라 시간 제한을 별도 설정할 수 있는 기능 개발
주 X 시간 단위 제한을 설정하는 타임 테이블 템플릿 개발
무분별한 비즈니스 계정 사용으로 인해 과소비 되는 업체 비용을 절약 및 올바른 복지로 활용할 수 있도록 개선시켜 계약 해지율 감소
Kotlin / Spring Boot / JPA / Angular / TypeScript
드라이버 공급과 승객 수요 지표를 통해 적절한 배차가 실시간으로 가능하도록 하는 관제 시스템 개발
Naver MAP API를 통해 드라이버 공급과 승객 수요 데이터를 활용한 지역별 폴리곤(Polygon) 지도 지표 개발
공급 밀집 지역에서 수요 밀집 지역으로 이동하는 루트의 ETA(Estimated Time of Arrival, 도착 예정 시간)를 확인하는 API 개발
공급 밀집 지역 드라이버와 수요 밀집 지역 승객 위치의 위경도 정보를 받아 아이나비 API에 맞게 가공해 RestAPI 방식으로 호출
아이나비 API에서 받은 응답 값을 관제 센터에서 알아볼 수 있도록 가공해 관제 시스템에 제공
특정 지역에서 탑승하지 못하는 승객들이 배차 받을 수 있도록 드라이버를 이동시켜 공급 밀집 지역 및 배차 실패율 감소
지역별 공급과 수요에 대한 정보를 폴리곤(Polygon) 지도를 통해 지표를 확인할 수 있도록 개선
Kotlin / Spring Boot / JPA / NextJS / TypeScript / AWS S3 / AWS RDS / Terraform
개인 드라이버 온보딩 파트(지원, 계약, 보험, 인가 신고 등) 시스템 개발
온라인 계약서 작성이 가능하도록 모두싸인 서명 문서 전송 API 개발
인프라 구성을 위한 Terraform 작업
마이그레이션 진행 관련 파이프라인 개발
지류 문서 자동 파일 분리 기능 개발
인프라 구성을 위한 Terraform 작업
신규 프로젝트 인프라 구축을 위해 Terraform을 처음 도입하면서 Amazon RDS를 포함한 클라우드 리소스를 자동화하여 관리
마이그레이션 진행 관련 파이프라인 개발
Firebase Function에서 Kotlin Spring Boot로 API, DB 마이그레이션 작업 진행 중 데이터 유실 문제 발생 가능성 예상
기존 Firebase Function을 호출하던 웹 기능은 유지하고 데이터 이관 시 RestAPI 방식의 파이프라인을 추가하여 데이터 유실 없이 API 이관
지류 문서 자동 파일 분리 기능 개발
담당자가 지류 문서를 한 번에 스캔 후 업로드 하기 때문에 여러 종류의 문서가 혼합되는 문제 발생
AWS S3에 파일이 업로드되면 AWS Lambda가 트리거되어 파일 내부 페이지를 기준으로 split 후 PyPDF2 라이브러리를 사용해 종류에 맞게 여러 문서를 가공할 수 있도록 AWS S3에 저장하는 Python 기능 개발
서면으로 받아 수동으로 관리 중인 문서들을 모두싸인 서비스를 연동하여 언제 어디서든 활용할 수 있도록 개선
엑셀로 관리되며 활용이 어렵던 데이터들을 시스템화하여 드라이버 관리 업무에 효율성 증대로 드라이버 등록률 증가
Terraform 도입 후 코드 기반의 인프라 구축으로 일관성과 신뢰성 향상
Angular / TypeScript / Firebase / Kotlin / Spring Boot / JPA
구글폼으로 접수받던 드라이버 모집 과정을 시스템화
최초 MVP(Minimum Viable Product)는 Firebase를 통해 개발 후 Kotlin, Spring Boot로 전환
카카오 API를 활용하여 친구 초대 기능 개발
접수 과정 시스템화를 통해 수동으로 지원자에게 직접 연락해 상세 정보를 확인하는 비효율적인 업무 프로세스 개선
2019
2019.09.02 ~ 2021.11.20 _ 2년 3개월
자유여행 / 항공권 / 실시간예약 등 각종 여행 정보를 제공하는 OTA(Online Travel Agency) 플랫폼
Spring Boot / Angular / Oracle
항공사 API를 활용하여 항공 최저가 데이터 조회 API 개발
가장 최근 제공되는 최저가와 고객이 실제 확인하는 최저가를 비교하기 위한 관리자 기능 개발
Java / Spring Boot / MyBatis / TypeScript / Angular / Kendo UI Framework
외부 API를 통해 영문 항공 운임 규정을 조회하고 한글 번역 데이터로 변환하는 API 개발
한글 번역 데이터에서 원하는 키워드(가격 등)를 추출하는 API 개발
추출한 데이터를 활용할 수 있도록 운영중인 운임 규정 데이터와 동일한 형식으로 비교할 수 있는 기능 개발
Java / Spring Boot / MyBatis / TypeScript / Angular / Kendo UI Framework
국제선 항공사 API를 통해 항공 스케줄을 조회하여 응답으로 받은 XML 데이터를 UnMarshalling(언마샬링)해 변환하는 API 개발
내부에서 국제선 항공 스케줄을 사용 및 확인할 수 있도록 관리자 기능 개발
2017
2017.02.20 ~ 2019.06.29 _ 2년 5개월
도면 및 기술 문서 자료를 안전하고 체계적으로 관리하는 IT 솔루션 시스템 제공
Java / Spring Framework / Tibero / MyBatis / JavaScript / jQuery / Ajax / Kendo UI Framework
KAI(한국항공우주산업주식회사) 인프라 환경에 맞춰 도면 관리 솔루션 배포
KAI(한국항공우주산업주식회사) 요청에 따른 도면 관리 시스템 권한 개발
문서 등록 시 상위 담당자가 수신 후 결재 가능하도록 검토 기능 개발
Java / Spring Framework / MyBatis / Oracle / JavaScript / jQuery / Ajax / Kendo UI Framework
부서에 맞는 권한에 따라 게시판을 이용할 수 있도록 접근 권한 개발
게시글 생성 / 조회 / 수정 기능 API 개발
드래그 앤 드롭(Drag-and-drop) 방식의 파일 업로드 기능 구현
Java / Spring Framework / MyBatis / Oracle / JavaScript / jQuery / Ajax / Kendo UI Framework
시스템에서 발생하는 에러 수집 기능 개발
최근 30일간 이슈별 가중치 조회 API 개발
가중치 데이터 가시화를 위해 Kendo UI TreeMap 화면 개발
2023
2023.06
일반적인 글자 수 세기 기능에 블로그 체험단을 타깃으로 공백/특수문자/이모티콘 제외 기능 등이 추가된 프로그램
NextJS, Firebase
Firebase Hosting 배포 경험
정규식을 활용하여 자/모음을 제외한 글자 수 세기 기능 구현
정규식을 활용하여 특수문자를 제외한 글자 수 세기 기능 구현
정규식을 활용하여 공백을 제외한 글자 수 세기 기능 구현
원하는 키워드 세기 기능 구현
2023.01
캐나다 현지 라멘 가게 결제 시스템
ReactJS, Express, AWS EC2, MySQL
개발 리더 역할 수행
해외 업체와 협업 경험
ReactJS / NodeJs + Express 기술 경험
프로젝트 및 인프라 설계
음식, 옵션, 주문, 결제 등 테이블 설계
구매 프로세스 설계 및 구현
장바구니 기능 구현
HTTPS 적용
2020
2020.09 ~ 2021.04
주어지는 제시어에 맞춰 N행시에 도전하고 투표를 통해 1위를 가리는 플랫폼
Java, Spring Boot, AWS EC2, Angular, TypeScript, MySQL, JPA
AWS 인프라 지식 습득
JWT, SNS 로그인, JPA 등 새로운 기술 경험
환경 구성부터 배포까지 서비스 제작에 필요한 전반적인 과정 경험
JWT(JSON Web Token)를 이용한 로그인 기능 구현
카카오 로그인 API를 이용한 로그인 기능 구현
JPA를 이용한 데이터베이스 연동과 CRUD 구현
Spring Quartz를 이용해 도전자 순위를 계산하는 배치 시스템 구현
JavaMailSender를 이용해 인증 및 뉴스레터 구독 시스템 구현
Angular 9 -> 10 버전 업그레이드로 인해 발생하는 라우터 방식 트러블 슈팅
AWS EC2를 이용한 클라우드 서버 구축
AWS Route 53을 통한 도메인 등록
API Server : github.com/NaKyouTae/mercury-server
Batch Server : github.com/NaKyouTae/mercury-batch
읽기 쉬운 코드가 좋은 코드라고 생각합니다.
읽기 쉬운 코드를 작성하기 위해서는 약속된 코드 컨벤션을 지키고, 알아보기 쉬운 함수명을 만들고, 코드를 설명하는 주석을 다는 것이 필요합니다.
1. 약속된 코드 컨벤션 지키기
읽기 쉬운 코드를 만들기 위해 가장 기본이지만 필수적인 항목입니다. 약속된 규칙을 지키면서 코드를 작성하면 동료들이 코드를 분석하는 데 필요한 시간을 최소한으로 줄일 수 있습니다. 코드 가독성 및 효율성도 높일 수 있기 때문에 좋은 코드를 만들기 위해서 꼭 필요한 요소입니다.
약속된 코드 컨벤션을 잘 지키려면 코드 컨벤션을 규격화하고 동료들과 리뷰를 통해 위배되는 코드를 수정하는 과정을 거치는 것이 중요합니다.
코드 리뷰를 통해 프로젝트와 맞지 않거나 오래된 컨벤션을 수정하면 전반적인 코드 품질도 향상시킬 수 있습니다.
2. 누구나 알아볼 수 있는 함수명 만들기
코드의 목적과 의도를 제대로 전달하기 위해서 변수명 또는 함수명을 명확하게 정의할 필요가 있습니다.
존재 이유와 역할이 잘 포함되어 있는 이름일수록 코드 관리 및 활용이 용이해집니다. 코드 가독성을 위해서는 단순 단어의 나열이 아닌 앞서 말한 코드 컨벤션 규칙에 따라 의미를 담고 있는 이름으로 명명하는 것이 중요합니다.
프로젝트와 전혀 상관없는 단어, 일반적으로 사용하지 않는 단어, 뜻이 명확하지 않는 단어, 약어 등이 포함되지 않도록 정의하는 것이 동료들이 코드를 이해하는 데 있어 혼란을 줄일 수 있습니다.
3. 코드를 설명하는 주석 달기
개발 코드에서 주석은 안내 표지판과 같습니다. 결제, 정산 등의 경우 관련된 정책이 어렵기 때문에 제대로 이해하고 개발하지 않으면 오류가 발생할 확률이 높아집니다. 이런 경우 주석을 통해 기능과 관련된 정책 설명, 조건과 결과 등을 작성해두면 초기 개발 이후 코드를 수정하거나 분석할 때 코드 이해에 도움을 줄 수 있고, 새로운 동료가 프로젝트에 투입될 때 코드 온보딩 자료로 활용할 수도 있습니다.
이런 과정을 통해 코드를 간결하고 이해하기 쉽게 작성하면 이미 개발한 코드의 기능이 변경되거나 확장이 필요한 경우 최소한의 노력으로 기능을 수정할 수 있습니다. 읽기 쉬운 코드일수록 코드가 변경될 때 나타날 오류를 예측하기 쉽기 때문에 유지 보수 및 확장이 편리해집니다.
또한 동료들이 코드를 분석하고 리뷰하는 데 사용하는 시간을 단축시켜주기 때문에 각자의 업무 효율, 더 나아가 협업의 효율을 증대시킬 수 있습니다.
DRS Repository Owner 역할을 맡아 드라이버 온보딩 시스템인 DRS(Driver Relationship System) 구축 프로젝트를 진행한 적이 있습니다. 초반 스프린트에서 Estimation이 제대로 되지 않아 전체적인 일정이 연기되고 팀 내에서 오픈 일정을 미루자는 의견까지 나왔습니다.
최종 오픈 일정이 연기되지 않게 하기 위해 계속해서 문제점을 분석하고 최선의 선택지를 고민했습니다. 일정을 세부적으로 설계하여 실천 가능한 목표를 설정하고 이슈가 생기면 계획했던 스프린트 내에서 해결되도록 팀원들과 공유 후 빠르게 이슈를 해결해 나갔습니다. 프로젝트 관리 방향을 좀 더 체계적으로 바꾸니 일정이 지체되는 상황이 줄었고, 처음 수립했던 목표 일정대로 프로젝트를 마무리할 수 있었습니다.
DRS 프로젝트 신규 인프라 구축 작업을 할 때 처음으로 Terraform을 도입해 수정사항을 쉽게 추적하고 효율적인 배포가 가능하도록 했습니다. Amazon RDS 등의 클라우드 리소스를 자동화하여 관리하면서 코드 기반의 인프라 구축으로 일관성과 신뢰성을 향상시켰습니다.
기존에 사용하던 Firebase Function에서 Kotlin Spring Boot로 API, DB 마이그레이션을 진행할 때는 데이터 유실이 생길 수 있는 문제를 미리 예상했습니다. 기존 Firebase Function을 호출하던 웹 기능은 그대로 유지하고, 데이터 이관 시 RestAPI 방식의 파이프라인을 추가하여 데이터 유실 없이 API를 성공적으로 이관했습니다. 이 과정에서도 팀원들과 안정적 데이터 이전을 위해 철저한 검토 과정을 거쳤습니다.
시스템 개발이 어느 정도 진행되고 나니 기획대로 만들어도 실제 업무 담당자가 사용하기에는 불편한 것들이 보이기 시작했습니다. 업무 담당자가 보통 지류 문서를 개별 스캔 후 등록하는 것이 아닌 모아둔 문서를 한 번에 스캔하고 등록하려고 하니 파일을 분리해야 하는 번거로운 과정이 있다는 걸 발견했습니다.
기존 기획에는 없었지만 개발팀에서 건의 후 시스템의 편의성을 위해 자동 파일 분리 기능을 추가하기로 했습니다. 업무 담당자가 파일 구분 없이 지류 문서를 업로드했을 때 AWS S3에 파일이 저장되면 AWS Lambda가 트리거 되어 파일 내부 페이지를 기준으로 분리(split) 하고, PyPDF2 라이브러리를 사용해 종류에 맞게 여러 문서를 가공할 수 있도록 AWS S3에 저장하는 기능을 개발하였습니다. 이후 문서 등록 및 관리 업무 효율성이 크게 향상되었다는 긍정적인 피드백도 받을 수 있었습니다.
처음 목표로 했던 최종 오픈 일정이 거의 다가왔을 때 남아있던 개발을 마무리하는 것과 동시에 추가 피드백 사항들을 반영했습니다. 오픈 일정이 거의 임박해지니 일정 관리를 잘하고 있었음에도 피드백을 처리할 시간이 부족했습니다. 하지만 처음부터 위태로웠던 일정을 정상 궤도에 올려놨던 경험으로 다들 의기투합해서 추가 요구사항을 집중해서 개발하고 반복적으로 검토받으며 프로젝트 완성도를 높였습니다. 팀원들과 함께 짧은 시간에 몰입하여 문제를 해결하니 프로젝트 완성도 뿐만 아니라 팀워크도 향상됐음을 느낄 수 있었습니다.
수립한 목표를 단순히 처리하는 업무로 생각하지 않고, 팀과 개인의 목표로 확장시켜 책임감을 갖고 목표를 달성하는 데 기여할 수 있었습니다. 기술적 성장은 물론 팀워크의 중요성을 깊이 이해하게 된 프로젝트라 의미 있는 경험으로 기억에 남습니다.
메인 서버에 장애가 발생하면 정산 관련 로직이 동작하지 않는 문제를 해결하기 위해 정산 서버를 새로 구축하는 프로젝트를 진행한 경험이 있습니다. 이 프로젝트의 목표는 메인 서버에 있는 정산 로직을 신규 서버로 옮겨 정산 로직의 안정성을 확보하는 것이었습니다.
새로 도입하려는 Apache Kafka 적용이 순조롭게 진행되지 않자 리팩토링 프로젝트라는 이유로 점점 팀 내 업무 우선순위에서 프로젝트가 밀려났습니다. 팀 전체가 기술에 대한 이해가 부족해 동기가 저하됐다고 생각되어 기술 스터디를 제안했습니다. 이 스터디에서는 해당 프로젝트에서 필요한 기술뿐만 아니라 진행 중인 다른 업무에서 고민이 되는 기술적인 문제까지 함께 논의하는 시간을 가졌습니다.
업무라는 정해진 시간과 틀에서 벗어나 팀원들과 공유하며 기술을 논하니 개별적으로 학습할 때보다 효과가 좋아 팀원들 모두 열의를 갖고 동기를 다질 수 있었습니다. 스터디 이후 프로젝트를 재개하자 헤매던 Apache Kafka 적용도 막힘없이 진행되어 프로젝트를 이어갈 수 있었습니다.
이 프로젝트를 진행하면서 저는 단순히 기술력만 갖춘 개발자보다 문제를 파악하고 적절한 해결책을 제시하며 같이 일하는 동료들에게 길잡이 역할을 수행할 수 있을 때 더욱 큰 성취를 얻는 사람이라는 것을 깨달았습니다. 앞으로는 개인적인 역량 성장 뿐만 아니라 팀의 효율성을 위해 생산성을 증대할 수 있도록 프로세스를 개선하고 장애 요소를 제거할 수 있는 방법, 팀워크로 시너지를 창출할 수 있도록 적절한 피드백을 주고 받는 방법에 대해 고민하고 역량을 향상시켜 최종적으로는 테크 리더를 목표로 하고 싶습니다.
좋은 테크 리더가 되기 위해서는 팀의 생산성을 저해하는 원인을 파악하고 이를 해결하기 위한 방안을 마련하는 것이 중요합니다. 또한 팀원이 잘 할 수 있는 업무를 파악하고 리소스를 효율적으로 분배할 수 있는 가이드 역할도 필요합니다. 테크 리더를 목표로 하여 평소 동료들의 강점을 파악하고 분석하는 힘을 기르고 건강한 피드백을 주고 받으며 더 좋은 피드백을 주고 받는 방법에 대해 계속해서 고민해 나갈 것입니다.
가능하다면 다양한 프로젝트를 진행해보고 기술에 대한 학습 경험을 통해 동료들에게 기술적인 고민이 생긴다면 같이 논의해보고 함께 성장해 나갈 수 있는 시간도 쌓아가고 싶습니다. 이러한 노력을 통해 개인뿐만 아니라 팀의 역량을 극대화하고 함께 동기부여할 수 있는 환경을 만들며 끊임없이 배우고 성장하는 자세로 커리어를 쌓아가고자 합니다.