정현진

Software engineer | Start-up CEO

About Me

SpringBoot / NodeJS / Typescript / GraphQL / ReactJS / AWS 를 주로 사용해 온 개발자입니다. 테스트체크리스트 가 우선인 개발을 중요시하며, 체크리스트 주도 개발(CDD) 이라는 개발 방법론을 만들어 팀 내에 공유했습니다.
도메인 프로젝트를 구현하고, 코드에 숨겨진 도메인을 드러내기 위한 설계 및 개선, 시스템 유지보수 등을 했습니다. 개인의 성장과 욕심보다는, 유저에게 전달되는 가치 가 가장 중요하다고 생각합니다. 항상 목적과 가치에 흥분합니다.

현재는 많은 이들에게 가치를 전달하기 위해 스타트업을 운영하고 있습니다!

Experience

Cosmic Connection

CEO

2022.10 ~ ing

사람들이 더욱 가까워지고 이어지기를 원하는 조직, 2023 예비창업패키지 최종 선정

  • 무물 앱 릴리즈. 사람들 스스로가 더 나은 기분을 느낄 수 있는 공간(앱)을 제공하는게 목적.
  • 사업 방향성 설정, 프로덕트 개발, 마케팅 등 MVP를 위한 모든 과정에 참여. 현재 유저 약 800명, 소셜 네트워킹 부문 174위

CJ ENM 캐디터

테크 리드

2022.09 ~ 2022.12

https://chaeditor.im

웹소설 또는 웹툰 작가를 위한 작품/캐릭터 빌딩 플랫폼, CJ ENM 사내벤처 Series A 1기에 선정된 팀

  • 신규 프로젝트 설계/개발/배포/운영, 사용자스토리 기반/테스트 주도 개발을 통한 가치 전달. 진행 프로젝트
  • 기획자, 개발자 간 유저 스토리 기반의 소통을 주도.
  • 테스트 및 체크리스트 중심 개발을 주도. Test/Checklist Driven Development
  • 프로젝트가 끝날 때마다 회고를 주도. KPT 기법

트레바리(TREVARI)

도메인 엔지니어

2020.09 ~ 2022.09

https://trevari.co.kr

누적 회원 수 15 만 명과 함께한 프리미엄 독서모임 커뮤니티, 총 90 억 투자 유치

  • 신규 프로젝트 설계/개발/배포/운영, 사용자스토리 기반/테스트 주도 개발을 통한 가치 전달. 진행 프로젝트
  • 절차 지향 코드를 도메인 기반의 이해하기 쉬운 객체지향 코드로 개선. 이해하기 위한 코드는 약 10,000 줄에서 15 줄로 감소.
  • AWS Lambda, EventBridge 를 통해 하루 약 1,500 건의 문자 발송 자동화 및 유지보수. Serverless framework 마이그레이션.
  • 운영 업무 자동화/효율화를 위한 백오피스 기능 설계/개발/유지보수, 크루의 관리 시간 약 70% 감소

조인트리(JOINTREE)

행정안전부 네트워크 엔지니어

2019.02 ~ 2019.10

내/외부망 합 3000대 규모 네트워크 관리 및 보안 업무 지원

  • Network 관리 L2/L3 Switch, Router, Backbone, IPT, 패킷분석, 통신회선 구축, 논리적/물리적 망분리, 원활한 통신 위한 효율성 고려 네트워크 구축
  • 보안업무 지원 통합관리시스템(EMS), 네트워크 차단/탐지 시스템(IPS/IDS), 네트워크 접근 통제 시스템(NAC), 방화벽(F/W), 사내 보안 정책

Skill

Language

  • Java, Javascript, Typescript

Backend

  • Spring Boot, Spring MVC, Spring Batch, Spring Data JDBC, Spring Cloud AWS
  • NodeJS, GraphQL, Sequelize
  • Mockito, JUnit 4/5
  • Gradle

Frontend

  • ReactJS, NextJS
  • NPM, Webpack
  • HTML, CSS

DevOps

  • Postgresql, MySQL
  • Linux
  • Docker, Docker Compose, Dockerfile, Docker Image
  • AWS EC2, Elastic Beanstalk, SQS, SNS, SES, S3, RDS, Lambda, Cloud Watch, Event Bridge

Network

  • Cisco Router/Switch configuration & installation
  • Alcatel L2/L3/Backbone configuration & installation
  • IP Phone Settings
  • Network Access Control

Projects

캐디터(Chaeditor) MVP

자세히

웹소설 또는 웹툰 작가를 위한 작품/캐릭터 빌딩 플랫폼입니다. 현재 수백개의 캐릭터와 작품이 플랫폼을 사용하는 작가의 손에서 탄생했습니다.

  • 주요 API Controller 개발
  • 주요 도메인 레이어 개발
  • 주요 어플리케이션 레이어 개발
  • Mockito, JUnit 을 이용한 도메인/어플리케이션 테스트 코드 작성
  • 데이터베이스 스키마 설계 및 정의
  • 서버 구축 및 배포 플로우 정의
  • 페이지 UI 구현

평생교육원 전환

자세히

트레바리의 평생교육원 전환으로 파생된 시스템 아키텍처 개선 프로젝트입니다. 기존 레거시 시스템의 불편함을 해소하고, 변화에 닫혀있던 딱딱한 시스템에서 하루 약 2만 건 이상 발생하는 이벤트를 처리할 수 있는 유연한 시스템으로 변경되었습니다.

  • SQS Message Consumer(Spring Cloud AWS Messaging)
  • 주요 도메인 레이어 개발
  • 주요 어플리케이션 레이어 개발
  • Mockito, JUnit 4/5 를 이용한 도메인/어플리케이션 테스트 코드 작성

주문 아키텍처 개선

자세히

트레바리 주문 아키텍처를 개선했습니다. 절차 지향 코드를 도메인 기반의 이해하기 쉬운 객체 지향 코드로 개선했습니다. 이에 따른 리팩토링이 주된 작업입니다. 개발자가 이해하기 위한 코드는 10,000 줄에서 15 줄로 감소했습니다.

개발자가 주문 신청 시스템의 이해에 들이는 시간을 줄입니다.

  • 어떤 Validate, Rollback, Process 가 진행되는지 한 눈에 파악할 수 있습니다.
  • 시스템의 단순화로 인해, 복잡도가 낮아집니다.
  • 복잡도가 낮아지면서, 개발자의 개발 속도가 빨라집니다.
  • 비교적 피처를 빠르게 추가할 수 있게됩니다.

놀러가기 서비스 개선

자세히

트레바리 시스템 내 개념으로만 존재하던 놀러가기 서비스를 개선했습니다. 크루는 유저가 신청한 놀러가기 서비스를 수기로 처리했었고, 유저는 자신이 놀러가기를 할 수 있는지 확실하게 알 수 없었습니다. 놀러가기라는 도메인을 드러내 두 불편함을 해소했습니다.

  • API Controller
  • 외부 모듈 조회(놀러가기 쿠폰)
  • 도메인 개발
  • 도메인 상태 관리
  • JDBC Repository

클럽 소개글 개선

자세히

트레바리 클럽의 각 파트너는 클럽에 필요한 정보를 삽입해야 합니다. 크루는 파트너와 직접 커뮤니케이션하며 수기로 확인했던 방식을 자동화했습니다. 클럽 소개글 완성 시간이 평균 36분에서 10분으로 약 72% 대폭 감소, 클럽 소개글 완성도가 평균 78% 에서 99% 으로 21% 증가했습니다.

  • 클럽 소개서 테이블 설계
  • 소개서 피드백 테이블 설계
  • Sequelize Migration 을 통한 테이블 추가 및 컬럼 변경
  • GraphQL Resolver 를 이용한 CRUD API 정의

기간 만료에 따른 티켓 만료 처리

자세히

트레바리 유저는 각 서비스를 이용할 수 있는 티켓을 소유합니다. 티켓은 만료된 일자가 지나면 사용할 수 없게 설계되었는데, 만료 시 티켓을 제거하는 작업입니다. 하루 약 400개의 티켓이 제거됩니다.

  • 도메인 작업을 통해 티켓 만료 여부를 확인
  • Batch Configuration 을 통한 만료 티켓 제거

유클매(유저-클럽 매칭)

자세히

트레바리 클럽 선택이 어려운 유저를 위해 질의응답을 통한 클럽 추천을 받습니다. 질의응답한 유저 중 85%가 클럽 미경험자입니다.

  • 테이블 설계
  • 결과 데이터 마이그레이션
  • Create, Update API
  • Google Analytics 이벤트
  • Kakaotalk 공유 및 링크 복사

자스민

자세히

유저는 트레바리 독서모임 클럽을 결제할 때 책과 함께 결제할 수 있습니다. 클럽을 결제한 후 책을 따로 구매해야 했던 불편한 경험을 해소했습니다. 클럽 구매 유저 중 18%가 책을 함께 구매, 주당 약 90권의 책을 판매했습니다.

  • 책에 대한 주문 정보를 저장합니다.
  • 책을 함께 주문했을 때, 책 금액을 포함한 금액이 결제됩니다.
  • 책을 함께 주문했을 때, 주문됨 이벤트를 발행합니다.

DLQ Notification

자세히

트레바리 시스템 내 Consumer 가 SQS 메시지 소비에 실패했을 때, 알림을 받을 수 있도록 합니다. 에러가 발생했을 때 빠르게 발생 사실 및 원인을 파악할 수 있도록 하는 것이 목적입니다.

  • SQS 메시지 소비 실패 시 DLQ 삽입
  • Lambda 함수를 이용한 DLQ 메시지 소비
  • Lambda 함수를 이용한 슬랙 알림 메시지 발송

휴면 계정 처리

자세히

트레바리에 1년 동안 로그인하지 않은 유저는 1년이 경과된 시점부터 휴면 계정으로 간주해, 정보를 파기하거나 분리 보관해야 합니다. 트레바리에선 적용되지 않고 있던 휴면 계정 변환 작업을 진행했습니다. 작업 완료 시점 약 4.1만 명을 휴면 계정으로 전환했습니다.

  • ReactJS 를 이용한 휴면 해제 페이지
  • 크루 어드민 페이지 내 휴면 계정 조회 페이지
  • 크루 어드민 페이지 내 휴면 계정 수동 해제 기능

트담트담

자세히

트담트담은 환자들만 심리 상담을 받는다는 인식에서 벗어나, 모든 사람들이 마음 건강을 위해 상담을 받는 프로덕트입니다. 호시담 심리상담센터와 협업했습니다. 기존 트레바리 클럽 프로세스를 차용했습니다.

  • GraphQL API 요청을 통한 가입 문자 발송
  • 메일 발송
  • 마음스캔 결과 테이블 설계
  • 마음스캔 결과 API 정의
  • 페이지 추가

마음 스캔 리포트

자세히

트담트담에서 자존감을 주제로 한 마음 스캔입니다. 23개의 검사 문항과 8개 결과 유형으로 구성됩니다. 타사와 협업 중이던 ‘트담트담' 서비스의 인지도 상승을 목적으로 작업했으며, 해당 상품 구매로 이어질 것으로 기대했습니다. 마음 스캔 목표 8,500명 대비 67%(5,705명)가 참여했습니다.

  • Google Analytics 이벤트 수집
  • 페이스북, 카카오톡 공유하기 / 링크 복사 기능
  • 마음 스캔 검사 페이지

Education

AWS 아키텍처 설계 및 운영 전문가 양성과정

2019.12~ 2020.07

AWS 클라우드 교육

  • 클라우드를 향한 관심이 호감으로 바뀌어 수강한 교육
  • AWS Cloud, Openstack
  • 클라우드 뿐만 아니라 네트워크, 개발, 보안, 서버 분야 강의도 진행하며 전체적인 서비스 흐름을 파악
  • 본 과정 종합평가 최우수 교육생

공주대학교 정보보호 영재교육원 수료

2018.03 ~ 2018.11

정보보호 분야에 관심을 보이는 이들을 선발 후 무상 정보보호 교육

  • Spoofing, 사회공학공격 등의 해킹기법에 대해 대응방안 물색
  • 정보보호 기술 발표(블록체인 기술)
  • 사이버공격 대회

국제기능올림픽대회 특별교육 이수

2017.11

한국산업인력공단 산하 Linux server 교육

  • Bind9, Ldap, Apcahe 등의 서버 구축
  • Network service 구성
  • Directory, File System 관리

IT Network System

2016.03 ~ 2019.02

한국산업인력공단이 주최하는 기능경기대회를 목적으로 개설된 동아리

  • Network/Server 이해와 구성 가능한 기술 수준을 요구
  • 2019 한국산업인력공단 표창
  • 2018 전국기능경기대회 장려상
  • 2018 대전지방기능경기대회 금메달
  • 2017 대전지방기능경기대회 은메달
  • 2016 (사)기능한국인회 장학생

계룡디지텍고등학교 정보통신과

2016.03 ~ 2019.02

정보통신 특성화 고등학교

  • 2019 기능상
  • 2018 교내 전공연구회 1위
  • 2017 교내 전공연구회 1위

Certificate

  • 2020.07 Azure Certified AZ-900
  • 2020.02 Cisco Certificate Network Associate
  • 2019.05 정보처리산업기사
  • 2018.07 전기기능사
  • 2018.06 리눅스마스터 2급
  • 2016.09 네트워크관리사 2급
  • 2016.09 정보기기운용기능사

A Little More About Me

도전을 즐긴다.

  • 배는 항구에 있을 때 가장 안전합니다. 하지만 그것이 배가 존재하는 이유는 아닌 것처럼, 계속해서 항해하고 도전하는 ‘배’와 같은 사람입니다.

배움을 즐긴다.

  • 사람의 지적 능력은 고정된 것이 아니라, 지속적으로 향상될 수 있다고 믿습니다. 배움에 대한 가치를 높게 평가하는 ‘자신’입니다.

꾸준함을 유지한다.

  • 잘 알고 있는 도구라도 지속적으로 사용하지 않으면 무뎌지기 마련입니다. 빠르지 않더라도 멈추지 않는 꾸준함을 유지합니다.

얻은 것은 함께 나누자!

  • 새롭게 터득하거나 배운 기술들을 여러 사람들과 함께 나누어 소통하며, 정보 공유의 중요성을 바탕으로 알고자 하는 사람들도 함께 배울 수 있도록 블로그 또는 개인 위키에 기록합니다.

이 외에도 저에 대해 더 궁금하다면 아래 링크를 확인해 주세요!