V7awkwm1iucmta5uxdog

남경호

저는 유연함을 좋아합니다. 여기서 제가 말하는 유연함이란 코드의 유연함과 사고의 유연함을 말합니다.

코드의 유연함이란 코드가 굳어지지 않도록 하는 것입니다. 지속적인 리펙터링, 테스트 코드 작성, 새로운 기술에 대한 도전 등은 제가 관습 등에 얽메여 코드가 굳어지지 않고 유연한 코드로 제품을 만들어갈 수 있는 원동력이 된다고 생각합니다.

사고의 유연함이란 하나의 관점이나 태도에 빠져있지 않고 균형을 가진 생각을 하는 것입니다. 지속적인 학습과 좀 더 나은 협업을 위한 노력들로 인해 개발자 외 직군들의 사고방식과 행동들들 이해하기 위해 노력하고 있습니다.

요가, 스트레칭과 같이 유연함을 요하는 자세는 평소에는 하지 않던 자세를 오랜시간 연습한 끝에 취할 수 있게 됩니다. 저는 이 유연함을 가지기 위해 지금도 노력하고 있습니다.


veluxer62@gmail.com
Github
Blog
Linkedin
저서: 사례로 배우는 언어 전환 프로젝트 관리

Work Experience

(주)스포카

백엔드 개발 팀장

백엔드 개발팀 관리 및 키친보드 서버 개발

Mar. 2021 ~ 현재

사용자 인증 기능 개선

배경
  • 기존 JWT 인증 방식에서 Access Token 탈취 위험 및 권한 변경 시 즉시 대응 불가능한 문제 존재
작업
  • Refresh TokenRefresh Token Rotation 도입으로 보안 강화
  • 권한 변경 시 실시간 대응을 위한 알림 발행 기능 개발
성과
  • 보안 수준 강화 및 권한 변경 즉시 적용 가능

AI 주문서 생성 기능 개발

배경
  • 매장은 키친보드의 주문 방식이 불편, 유통사는 문자 주문서 처리에 어려움 존재
작업
  • 생성형 AI(GPT-4o-mini) 를 활용하여 주문서 자동 생성 기능 개발
  • 사업팀과 협력하여 POC 후 유통사 서비스 적용
성과
  • 주문서 생성 자동화로 사용자 및 유통사 만족도 증가
  • 사업팀에서 신규 유입 확대 수단으로 평가

대사/정산 기능 개발

배경
  • 거래대금 정산 과정의 효율성 개선 및 사고 방지 필요성 존재
작업
  • PG사 결제 내역과 거래내역을 자동으로 비교하는 대사 기능 개발
  • 고객사별 정산금 자동 산정 및 지급을 위한 정산 기능 개발
성과
  • 2년간 정산 사고 0건으로 안정적인 운영
  • 정산 프로세스 자동화로 재무 담당자의 효율적인 업무 수행

서버 언어 전환

배경
  • 기존 Python + Flask 서버의 숙련도 및 유지보수성 문제 존재
작업
  • Kotlin + Spring Boot 기반으로 서버 전환 계획 수립 및 총괄 진행
성과
  • 전환 후 구성원들의 서비스 이해도개발 생산성 향상
  • 프로젝트의 작업 공수 예측 정확성 개선

팀 관리 및 개발 문화/업무 프로세스 수립 및 개선

배경
  • 팀 내 생산성 향상 및 지속 가능한 개발 문화 수립 필요
작업
  • 주기적 면담 및 분기 평가를 통한 신뢰관계 구축
  • 개발 전 설계 문서 작성 및 팀 리뷰 문화 도입
  • 테스트 코드 커버리지 80% 이상 달성 및 테스트 코드 문화 확립
  • 업무 프로세스 자동화 도입 (컨벤션 자동화, 기능 테스트 등)
성과
  • 3년간 팀원 이직률 0%, 안정적 팀 운영
  • 서버 가용률 99.96% 유지
  • QA 이슈 중 백엔드 코드 문제 비율 5.2% 로 매우 높은 작업 완성도

사용 기술

  • Kotlin
  • Spring Boot
  • GraphQL / REST
  • Spring Data (JPA / Elasticseach / Redis / JDBC)
  • PostgreSQL / Elasticsearch / ActiveMQ / Redis
  • AWS / Sendbird / Elastic Cloud
  • Github / Terraform / CircleCI
  • Typescript / React

(주)클래스101

백엔드 개발자

커머스 플랫폼 백엔드 서버 개발

Jun 2020 ~ Feb. 2021

대사 기능 개발

배경
  • 주문 시스템과 PG사 결제내역 간 불일치로 정산 업무 이슈 자주 발생
  • 재무팀과 개발팀의 업무 효율성 저하
작업
  • 여러 PG사 결제 데이터를 주문 내역과 자동 비교하는 대사 기능 개발
  • 일별, 월별 대사 리포트 제공 기능 구현
성과
  • 조기 이슈 발견을 통해 개발팀 업무 부하 감소
  • 정산 정확성 향상으로 재무팀의 업무 효율성 증대

CI/CD 파이프라인 구축

배경
  • 팀 내 표준화된 CI/CD 부재로 신규 팀원의 배포 어려움 존재
작업
  • Azure DevOps로 CI/CD 파이프라인 구축하여 배포 자동화
  • 신규 구성원이 쉽게 이해하고 사용할 수 있는 파이프라인 환경 구축
성과
  • 신규 입사자 혹은 새로운 스쿼드원의 배포 환경 적응 단축
  • 배포 현황 가시성 확보로 배포 이슈 대응 시간 감소

사용 기술

  • Java
  • Spring Boot
  • Spring Data JPA
  • MariaDB / MongoDB
  • AWS
  • Github / Azure Devops

(주)엑스트라이버

백엔드 개발자

트립스토어 서비스 API 서비스 및 Back-Office 서비스 개발.

Oct. 2018 ~ Jun 2020

여행 상품 특가 기능 개발

배경
  • 여행상품 판매 촉진을 위해 가격정책 관리 기능 필요
작업
  • 여행사별/상품별 가격정책 설정 가능한 백오피스 기능 개발
  • 특가 적용 배치 기능 개발 및 배포
성과
  • 패키지 여행 박람회를 성공적 개최
  • 월 이용자수 50만명 달성(2018년 10월 기준)

타임 세일 기능 개발

배경
  • 여행상품 판매를 촉진을 위한 특정 시간 특가 프로모션 필요
작업
  • 특정 기간과 상품을 타겟으로 세일가 적용 가능한 기능 개발
  • 특가적용 성능 향상을 위한 배치 기능을 개선
성과
  • 특가의 적시성 향상
  • 월 이용자수 100만명 달성(2019년 2월 기준)

여행 상품 정보 고도화

배경
  • 이용자가 증가하며 상품 상세정보 보강 요구사항 증가
작업
  • 백오피스에서 상품정보 관리 및 검색 기능 고도화
성과
  • 특가 가격정책 적용 조건 확대
  • 풍부해진 여행 상품 정보
  • 월 이용자수 100만명을 달성(2019년 2월 기준)

사용 기술

  • Kotlin
  • Spring Boot
  • Spring Data JPA
  • MariaDB / Elasticsearch / Redis
  • AWS
  • Github / Azure Devops

(주)닉스테크

백엔드 개발자

SOC 플러스(통합 보안관제 시스템) 개발, ADS 플러스(이상징후 탐지 시스템) 개발

Jul. 2015 ~ Sep. 2018

QRadar 연동

배경
  • 특정 고객사의 SIEM 장비(QRadar)와 기존 솔루션 연동 필요
작업
  • QRadar와 자사 솔루션의 이벤트 연동 배치 프로그램 개발
  • 연동 기능을 범용화하여 다른 고객사에서도 쉽게 활용 가능하도록 구현
성과
  • 신규 SIEM 장비 연동을 통한 신규 고객사 유치
  • 제품의 확장성 및 호환성 증대

보안 관제 보고서 기능 개발

배경
  • 고객사의 주기적 보안 보고서 제공 요구
작업
  • 고객 맞춤형 일별, 주별, 월별 보고서 생성 기능 개발
  • 데이터 시각화를 위한 차트 및 통계 생성 기능 구현
성과
  • 보고서 기능을 추가한 신규 엔터프라이즈 요금제 출시로 매출 증가에 기여

동적 대시보드 및 UI 개편

배경
  • 기존 제품의 UI 노후화 및 고객 맞춤형 대시보드 요청 증가
작업
  • UI를 Bootstrap 기반으로 개편하여 현대적인 디자인 및 사용성을 향상
  • 고객사가 직접 위젯 및 레이아웃을 설정 가능한 동적 대시보드 기능 개발
성과
  • 제품 데모 및 피칭에 도움이 되었다는 영업팀 피드백
  • 고객사 커스터마이징 대시보드 제작 리소스 비용 절감

사용 기술

  • Java
  • Spring Framework
  • Mybatis
  • Freemarker
  • PostgreSQL





Skills


Overall

  • 개발 경력 중 Kotlin 언어를 가장 많이 사용하였고 익숙하며 잘 다룰 수 있습니다.
  • Java는 8과 11을 주로 사용하였고 객체지향과 함수형 프로그래밍 모두 좋아합니다.
  • Spring Boot로 API 서버 및 React를 이용한 백오피스를 구축하고 서비스할 수 있습니다.
  • TDD를 통한 개발 방법을 주로 사용하고 있으며 자신에게 부끄럽지 않은 코드를 작성하기 위해 노력합니다.
  • 아키텍쳐 디자인에 관심이 많으며 더 좋은 설계를 하기 위한 공부를 게을리 하지 않습니다.
  • 효율적인 업무 프로세스에 관심이 많으며 이를 구축하고 활용하기 위해 노력합니다.
  • 소규모 팀관리를 수년간 수행하고 있으며 좀 더 나은 조직관리를 위해 노력합니다.

Co-Work

  • GIT을 이용하여 항상 코드리뷰를 통한 코드 병합을 실천합니다.
  • 제가 가진 생각을 숨기지 않으면서 동료들의 감정이 상하지 않도록 단어 또는 말투에 주의를 기울입니다.
  • 제가 가진 지식을 적극적으로 공유하기 위해 노력하며 문서화를 항상 실천합니다.
  • Jira, Azure DevOps, Confluence, Notion, ClickUp 등을 이용하여 Task관리 및 문서공유를 통해 프로젝트를 수행하고 있습니다.
  • 칸반, 스프린트 두 방식 모두 도입하여 프로젝트를 수행하고 있습니다.
  • 페어프로그래밍을 적극 권장하며 동료들과 합리적으로 페어프로그래밍을 하기 위해 노력합니다.

Database

  • 주로 관계형 데이터베이스를 사용하였고 그외 No-SQL 데이터베이스도 사용해본 경험이 있습니다.
  • 관계형 데이터베이스의 더 나은 조회 성능을 위해 쿼리를 개선할 수 있습니다.
  • 관계형 데이터베이스의 동시성에 대해서 이해하고 있으며 상황에 맞는 격리수준 선택과 잠금을 사용합니다.
  • MongoDB와 Redis, ElasticSearch를 사용해 보았으며 비지니스 요구사항에 맞게 해당 데이터베이스를 선택하여 사용할 수 있습니다.

Front-End

  • Javascript, Typescript를 다룰 수 있습니다.
  • 관리자 페이지 개발 시 Bootstrap과 Ant-Design라이브러리를 이용하여 페이지를 구성할 수 있습니다.
  • React를 사용하여 관리자 페이지를 구성할 수 있습니다.

DevOps

  • AWS를 이용하여 복잡하지 않은 서비스를 구축하고 운영할 수 있습니다.
  • Git Action, Circle CI, Azure Devops등을 이용하여 간단한 CI/CD를 구축할 수 있습니다.
  • Terraform을 다룰 수 있으며 구축된 Terraform 코드를 유지관리 할 수 있습니다.

Others

  • 평소 배웠던 내용이나 저의 생활에 대한 내용을 블로그에 작성하며 정리하고 있습니다.
    https://veluxer62.github.io/
  • "사례로 배우는 언어 전환 프로젝트 관리" 책을 집필하였습니다.