안녕하세요, 김명재입니다.

    Phone: 010-0000-0000

저는

이력

디어코퍼레이션

기간

2022.05.02 ~ 현재

업무

  • 모빌리티서비스팀 풀스택 개발자 (2023.05.01 ~ 현재)
  • 물류팀 테크리드 (2022.06.01 ~ 2023.04.30)
    • 화물 주선사 대상 SaaS 개발 (배차 & 정산)
  • 모빌리티서비스팀 프론트엔드 리드 (2022.05.02 ~ 2022.05.31)
  • Spring Boot, Terraform, Next.js, React Native, TypeScript

기여한 기술력

모빌리티서비스팀 풀스택 개발자 (2023.05.01 ~ 현재)
물류팀 테크리드 (2022.06.01 ~ 2023.04.30)

화물 주선사 대상 SaaS 개발 (배차 & 정산)

  • AWS 인프라를 VPC부터 Terraform으로 설계 및 구축
  • AWS ECS, AWS Fargate를 사용하는 배포환경 구축
  • Kotlin Spring으로 백엔드 API 구현
  • 백엔드 API의 모든 기능에 대한 테스트 작성
  • 배치 성격의 프로그램을 serverless framework로 작성
    • serverless, AWS Lambda, EventBridge
  • 화물 플랫폼들의 API를 분석하고 종단간 암호화 알고리즘과 암호키 추출
  • OLAP(Online Analytical Process) 워크로드를 감당할 수 있는 시스템 도입
    • AWS Athena, Apache Zeppelin
  • pnpm workspace를 활용해서 전사 프론트엔드 모노레포 도입 (10개 이상의 웹앱을 모노레포에서 관리)
  • Jira의 Release기능을 활용한 버전관리 프로세스 제안 및 도입
    • Jira Automation을 활용해서 릴리즈노트 자동 생성, 슬랙 알림 전송, GitHub에 Release draft 자동생성함
모빌리티서비스팀 프론트엔드 리드 (2022.05.02 ~ 2022.05.31)
  • 리액트 네이티브 모노레포 템플릿 작성 (yarn workspace를 활용해서)
  • Bitrise를 도입해서 앱 CI/CD를 구성
  • Trunk Based Development 문화

우아한형제들

기간

2018.10.15 ~ 2022.04.30

업무

  • 만화경 백엔드/프론트엔드/추천시스템 개발
    • 만화경 팀의 두 번째 개발자로 입사
  • Spring Boot, Spring Data JPA, Spring Web MVC, Spring WebFlux, Spring Data R2DBC, Spring OAuth2, TypeScript, React, Next.js, Redux, Redux Saga, lerna

기여한 기술력

  • 백엔드 애플리케이션 아키텍처 설계 및 구현 (적극적인 TDD 활용)
    • 도메인 영역에 세부사항이 침투하지 않도록 Gradle 멀티모듈 구조 적용
    • 도메인 모듈을 API와 배치 애플리케이션에서 공용으로 쓸 수 있도록 개선
  • 백오피스 CMS 프론트엔드 설계 및 구현 (Next.js, Redux, Redux Saga)
    • 내부용, 작가용 어드민을 하나의 저장소에서 관리하기 위해 lerna로 모노레포 구조 적용
  • 추천시스템 구현 (AWS Personalize, AWS StepFunctions, Apache Airflow)
  • gif resize가 가능한 image-api 설계 및 구현 (sharp)
  • 백엔드 API의 언어를 자바에서 코틀린으로 전환하는 프로젝트를 제안하고 수행
    • 코틀린 스터디그룹을 운영해서 구성원들과 함께 기술을 학습함. 책 Atomic Kotlin 학습
    • 테스트 코드부터 먼저 코틀린으로 변환하고, 변환하는 과정에서 kotest, mockk등을 적용함
    • 테스트 코드의 변환이 완료된 이후부터 새로 작성하는 main코드들도 코틀린으로 작성함
    • 자바로 작성한 부분에 요구사항이 발생하면 코틀린으로 변환 후 요구사항을 반영함
  • 개인별 추천 데이터에 기반한 푸시알림 자동화 (Apache Airflow, Braze)

성과

  • 3년만에 T1에서 T3직급까지 두 번 승진
  • 만화경 웹툰 플랫폼의 비즈니스 요구사항을 만족하는 백엔드 API와 백오피스 CMS 프론트엔드 구현

개인 홈페이지 운영

https://myeongjae.kim

기간

2018.08.13 ~ 현재

목적

학습용 프로젝트. 기술적으로 관심이 가는 기술을 현업에 적용해보기 전에 실험해보는 테스트베드가 주요 용도이며, 평소에 드는 생각이나 회사 기술블로그에 기고한 글을 아카이빙하는 목적으로도 운영중.

학습했던 기술

AWS VPC, AWS EC2, AWS ECS, Vuejs, Go, React, Next.js, TypeORM, InversifyJS, Spring Boot, Docker, Strapi, Heroku


The University of Austin at Texas (미국 텍사스)

기간

2018.04 ~ 2018.05

업무

  • curl library를 활용한 데이터 전송 프로그램 구현
  • C++, libcurl, sftp, expect (linux cli), crontab

기여한 기술력

UT Austin 간호대학에서 사용하던 프로그램이 유지보수가 되고있지 않던 상황에서, 기존의 소스코드를 받아 프로그램이 제대로 작동하도록 구현을 마무리 했다.

프로그램은 A서버에서 환자의 기록을 받아와 B,C 서버로 보낸다. A서버에서 받은 문자열 데이터를 B,C서버가 요구하는 포맷에 맞게 처리하고 전송한다.

프로젝트를 넘겨받았을 때는 전임자가 프로그램을 설계하고 curl library를 활용하는 클래스까지만 구현한 상태였다. 설계 문서를 보고 A서버에 request를 보내서 데이터를 받아오는 부분, 받아온 문자열 데이터를 처리하는 부분, 받은 데이터를 B,C서버로 전송하는 부분을 구현했다.

C++로 작성한 프로그램에서는 A서버의 데이터를 받아와 B,C 서버가 요구하는 포맷의 csv데이터를 생성한다. 데이터 생성이 완료되면 expect용 스크립트를 생성하고 실행한다. expect 스크립트에서는 sftp로 csv파일을 B,C 서버에 전송한다.

성과

  • 목표했던 프로그램을 완성.
  • libcurl 라이브러리의 활용법 학습.
  • expect를 통해 CLI 상호작용을 자동화하는 방법 학습.
  • crontab을 활용해서 프로세스를 정해진 시간에 자동으로 실행하는 방법 학습.

Sandman Media Inc. (캐나다 벤쿠버)

https://www.sandmanmedia.com

기간

2017.01 ~ 2017.02

업무

  • Joomla(CMS) 기반 웹페이지 개발
  • HTML, CSS, PHP

성과

CEO에게 추천서를 받고 Fast learner라고 인정을 받음.

https://cdn.myeongjae.kim/blog/2023/05/김명재_추천서_Sandeep_Reference_Letter.pdf


기고

자격증

학력

  • 한양대학교 컴퓨터전공 (2012.02 ~ 2020.08)