김승현 (SeungHyun Kim, Andy, 金承炫)

안녕하세요. 사람들에게 재미있고 유용한 서비스를 만들고싶어 개발공부를 시작하였고 웹과 앱 개발의 길을 오래도록 걸어가고 있는 개발자 김승현입니다. 빠른 개발뿐만 아니라 코드의 확장성, 모듈화, 안정성을 고려함과 동시에 가독성을 항상 생각하면서 누가 보더라도 쉽게 이해할 수 있는 코드를 작성하고자 노력합니다. 다수의 프로젝트를 진행했던 경험으로 기획부터 출시까지의 사이클을 잘 이해하고 있습니다. 이러한 경험들을 바탕으로 유관 부서들의 업무 이해도가 높은것이 가장 큰 장점입니다. 주어진 환경에 안주하지 않고 지속적인 역량 개발과 학습을 통해 엔지니어로서는 물론, 삶에 있어서도 끊임없이 성장하고자 하는 자세를 가지고 있습니다.

Summary

Career

개발 경험: 14년 (2010년 ~ Current)
직장 경력: 3년 6개월 경력, 4년차 (2년 4개월 + 1년 2개월)
프리랜서 경력: 6개월 (2022.05, 2022.10 ~ 2023.02)
창업 경험: 1년 (2017 ~ 2018)

Company Joined At Leave At Form Position Team
Maycoders 2023.03.20 current 정규직 Software Engineer Product
CJ ENM 외 2건 2022.10 2023.02 프리랜서 Full Stack Engineer Individual
Career Break 2022.05 2022.09 Gap year
Bodit 2020.02.01 2022.05.01 정규직 Frontend Engineer R&D
WNC 2017.03 2018.02 창업 CTO

Skills

"서비스를 개발한다" 라는 목표하에 그리고 개발을 사랑하는 만큼 분야를 가리지 않고 서비스에 맞게 최적의 기술을 선택하고, 필요한 기술을 습득하여 개발합니다. 주로 웹, 모바일 앱 서비스를 개발해왔고 개인적으로는 게임, 인공지능, 블록체인에 관심이 있습니다.

Frontend
  • Typescript, Javascript(ES6)
  • Library: React, Next.js, Recoil, Redux, Mobx, React Query, Apollo Client, Emotion, StyledComponent, Tailwind CSS, Webpack, Babel, ESLint, Prettier, i18n
  • Architecture: DDD(Domain-driven design), SSR, SEO, W3C Standards, a11y, Symantic HTML
Backend
  • Typescript, Java, PHP
  • Library: Node.js, Nest.js, Express, JWT, Apollo Server, ORM(Sequelize, TypeORM, Prisma, Mongoose), Spring Boot, CodeIgniter
  • Database: MySQL, PostgresSql, MongoDB
  • Architecture: RESTful API, GraphQL, MVC
Mobile
  • Dart, Java, Kotlin, C++, Swift
  • Library: Flutter, React Native, Fastlane, Firebase, Android, Refrofit, Glide, Gson, XML Layout, NDK, OpenCV, JCodec, Ionic Framework
  • Architecture: MVVM, MVC
DevOps, Infrastructure
  • AWS: EC2, S3, RDS, Lambda, CloudWatch, Elastic Beanstalk, Amplify, Route 53, API Gateway, CloudFront, SES
  • Firebase: Firestore, Crashylitics, Realtime Database, Remote Config, Dynamic Links, Authentication, Cloud Messaging
  • CI/CD: Github Actions
  • ETC: Docker, Shell Script, pm2, Nginx, DNS Round-robin, Reverse Proxy, Apache, Git
macOS, Windows
  • Javascript, Python
  • Library: Electron.js, PyQt
  • Feature: IPC, Menu, Dialog, File System, System Information
Game
  • C#
  • Library: Unity, Google Play Game Service, Firebase
  • Architecture: Singleton, 2D
ML
  • Python
  • Library: Tensorflow, Keras, Scikit-learn, Numpy, Matplotlib
  • Model: MobileNet V2, SVM, Transfer Learning
Blockchain
  • Solidity
  • Library: Go-Ethereum, Web3.js
Vision
  • Library: Haar Cascade, OpenCV
  • ETC: Face Detection
Network
  • Protocol: HTTP(s), WebSocket
Collaboration
  • Postman, Slack, Notion, Figma, Jira, Confluence, Asana, Zeplin

Work Experiences

2023.03.20 ~ Current - Maycoders Software Engineer (Product)

글로벌 크로스보더 플랫폼 서비스의 설계, 개발, 배포, 이슈관리까지 개발 및 운영을 담당

  • 레거시 스택 (Javascript, React, Express) -> 최신 스택 (Typescript, Next.js, React Query, Emotion, Hook, Nest.js) 으로 포팅
  • 어드민 콘솔, 사용자 클라이언트, 서버 API 기능 개선 및 신규 기능 개발 (Next.js, Nest.js, Typescript, MySQL, Sequelize, Docker)
  • 국가별 화폐 선택, 환율 업데이트, 화폐에 따른 환전 시스템 설계, 개발
  • 카드, 원화 결제, 현지 화폐 결제 api 연동, 개발
  • 배포 파이프라인 자동화 구축 (Github Actions)

2020.02 ~ 2022.04 - Bodit Frontend Engineer (R&D)

모바일 앱 개발, 웹 개발, API 서버 개발, 데이터베이스 설계 및 구축, 배포 자동화 등 서비스의 시작부터 배포까지 전반적인 업무 담당

2021.10 - 송아지 질병 조기발견 서비스

송아지에 부착된 센서의 신호를 인공지능 기술로 분석하여 파악한 행동 데이터에 기반하여 질병을 조기발견하고, 농장주에게 행동 데이터를 시각화하여 제공하며 질병 발생시 알림을 주는 서비스

  • 크로스플랫폼 모바일 앱 설계 및 개발 담당 (Flutter, Android, iOS)
  • API 서버 개발, 데이터베이스 스키마 설계 (Node.js, Typescript, Express, AWS Amplify, MySQL)
  • AWS CloudWatch 활용 앱 사용 로그 시스템 구축
  • Provider 상태 관리 라이브러리를 응용하여 MVVM 패턴 설계
  • 캔버스, Painter 기반 Scrollable한 Line, Bar, Range 그래프 컴포넌트 구현
  • X, Y축이 고정된 Scrollable한 데이터 표 위젯 개발
2020.10 - 자세 밸런스 측정 및 운동 처방 솔루션

고객에게 착용된 IMU 센서의 신호로부터 안정성과 가동성을 측정하고, 앱에서 결과를 확인하며 리포트 발행을 통해 운동을 맞춤형으로 처방할 수 있는 전문가를 위한 솔루션

  • 크로스플랫폼 모바일 앱 개발 참여 (Flutter, Android)
  • 5페이지 분량의 처방 리포트 PDF 생성, 페이징 처리, 영상과 그래프 동시 재생 리플레이 기능 개발
  • Firebase Cloud Firestore(NoSQL) 스키마 설계
2020.09 - 인공지능 학습용 태깅 데이터 확보를 위한 내부 태깅 프로그램

송아지 CCTV 촬영 영상을 보며 행동 태깅 작업을 할 수 있는 PC용 앱

  • Electron.js으로 크로스플랫폼 PC앱 개발 (React, Redux, Javascript, Typescript)
  • IMU 센서 신호 데이터를 CanvasJS로 그래프 표현, 시간흐름에 따른 실시간 재생
  • 6개의 동영상채널 실시간 동시 재생, 각종 플레이어 기능 (확대축소, 좌우탐색, 단축키, 진행바 태깅데이터 시각화, HTML5)
  • 웹에서 사용자별 사용 통계를 그래프로 표현, API 서버, DB 스키마 설계 (React, Node.js, PostgresSQL, Sequelize ORM)
2020.06 - IMU 센서 신호 딥러닝

IMU 센서 신호 데이터를 다양한 방법으로 단순화 시킨 후 이미지로 변환시키고, MobileNet 모델을 사용하여 딥러닝 학습을 시켜 정확도를 확인해보는 내부 실험적 프로젝트

  • 센서 신호 데이터 이미지 변환 개발 (Python)
  • 이미지 학습 구현 (Tensorflow, MobileNet Model, Transfer Learning)
2020.03 - BLE 센서 기기를 활용한 아동 대상 게임 개발

BLE 센서 기기를 통해 아동이 활동적으로 할 수 있는 실험적 게임 제작 프로젝트. IMU 센서 기기를 사용자가 들고 특정 동작을 수행하면 그 결과를 앱에서 받아 게임 컨텐츠를 플레이하는 게임

  • Unity를 사용하여 게임 개발
  • BLE 센서 데이터와의 통신을 위한 Android, iOS 브릿지 플러그인 개발

Startup Experiences

2017.03 - GetWalk

위치 기반의 리워드 적립형 만보기 앱 친형과 함께 창업

  • 모바일 서비스 창업, 개발 전 분야 담당 (Android, Java, retrofit2, gson, glide, databinding)
  • 관리자 웹 프론트 개발 (React, Javascript), 안드로이드 앱 개발 (Java, 가속도센서 활용 걸음수 카운트)
  • 서버 배포 (Linux, Nginx, AWS Elastic Beanstalk), 데이터베이스 서버 구축 (MongoDB)
  • API 서버 개발 (Node.js, Javascript), 좌표 데이터 생성, Batch서버에서 Crontab 활용 관련 데이터 업데이트, MongoDB Geospatial Query 활용 조회

Personal Projects

2011.02 - 자작곡 공유 커뮤니티

사용자가 직접 제작한 자작곡을 공유하는 커뮤니티

  • 서버, 데이터베이스, API 서버, 웹 구축 및 지속적 업데이트, 다양한 기술스택 적용 및 테스트 (React, Next.js, Redux, Typescript, Javascript, Sass, jQuery, gulp, ESLint)
  • 초기 PHP, CodeIgniter 프레임워크, MySQL, jQuery, Apache, Nginx, Linux 스택에서 React를 거쳐 Next.js(SSR), Redux, TypeScript, StyledComponent, Prisma, 백엔드 - Node.js, GraphQL, MongoDB, pm2 스택으로 전환
  • pm2 ecosystem 활용 CI/CD, Github Actions를 통한 배포 자동화
  • Redis 기반 Message Queue를 통한 업로드 대기열 처리
  • 동접자 1,000명 규모 대응 서버 관리 경험. php-apc 캐싱 통해 DB 커넥션 최소화, MySQL Master-slave 리플리케이션 쓰기 읽기 서버 물리적 분리, DNS 라운드로빈 기반 분산처리, Docker 활용 새 서버 환경 구축 단순화 경험
  • 주기적인 Ping Test를 통해 서버 다운시 Telegram 알림 모니터링 시스템 구축
2017.09 - FlowFly [Video]

Flappy Bird를 모티브로 하여 터치하면 위로, 터치를 떼면 밑으로 내려가며 장애물들을 피해 동전을 먹으며 최고점수를 획득하는 게임

  • Unity로 게임 클라이언트 개발, 무작위 장애물 생성
2016.05 - 개미 갑부 만들기

아무것도 없이 인생을 시작하는 개미를 부자로 만드는 인생시뮬레이션 게임

  • Unity로 게임 클라이언트 개발, 스토리 기반 시뮬레이션 게임
2016.10 - 벽돌공장 키우기 [Vidoe]

공장장이 되어 인부를 고용하여 벽돌을 팔아 돈을벌어 더 큰 공장을 키워나가는 게임

  • Unity로 게임 클라이언트 개발, 기획문서 작성, 싱글톤 디자인 패턴, 퀘스트 보상 시스템, 인앱결제, 랭킹시스템
2012 - 웹서비스

실시간 채팅 웹앱, 커뮤니티 인기글 모음 서비스, 동영상 강의 플랫폼, 창작물(그림) 공유 커뮤니티, 짧은(10초) 동영상 공유 커뮤니티, 사진 공유 커뮤니티, 임시 이메일 발급 서비스, 웹 도구 모음 서비스

  • 2010년부터 매년 다양한 최신 기술스택들을 사용하여 개발 및 서비스해보며 꾸준한 학습과 테크적 성장 추구 (PHP, CodeIgniter, MySQL, jQuery, HTML5, CSS3, GraphQL, Linux, Nginx, Sass, React, Next.js, Redux, Recoil, MongoDB, ESLint, Webpack, Socket.io)

Other Projects

2023.01 - 아는자산 상모소프트

부동산, 주식, 금융 자산관리 앱

  • Flutter 앱 개발, 배포 자동화 (Android, iOS, Fastlane, Xcode Cloud)
  • JSON ↔ 객체 직렬화(buld_runner 활용), pdf 내보내기, 지도 마커 표시, 소셜로그인 기능 개발
  • Figma 기반 협업
2022.10 - LEGATIST CJ ENM

아티스트 구인 & 구직 및 정보공유 플랫폼

  • Flutter 앱 개발, 배포 자동화 (Android, iOS, Fastlane), 관리자용 웹 개발 (React, Recoil)
  • API 서버 개발, DB 스키마 설계, 스키마 버전 관리 적용 (Node.js, AWS Amplify, Typescript, MySQL, Liquibase)
  • GitHub Actions, Fastlane, Xcode Cloud 활용 Git 푸쉬시 플레이스토어, 앱스토어 배포 전과정 자동화 구현
  • Figma 기반 협업
2022.10 - fol:in 중앙일보

커리어, 성장 지식 플랫폼

  • 기 구축 웹 신규 기능 개발 (React, StyledComponent, Redux, Redux Saga)
  • 관련 백엔드 api 서버 기능 개발 및 DB 스키마 설계 (Node.js, Express, Javascript, Sequelize ORM, MySQL)
  • 기존 QA 이슈 수정
  • Asana, Slack 기반 협업
2022.05 - 컨텐츠 제공 플랫폼

뉴스, 정보 컨텐츠 제공 플랫폼

  • Linux, Nginx HTTP 서버 구축
  • API 서버 개발
  • 웹 프론트엔드 개발
2019.10 - 블록체인 중고거래 시스템

중고거래 시스템을 블록체인으로 구현하는 졸업과제

  • 이더리움 (Go-ethereum) 네트워크 Smart Contract 개발 참여 (solidity)
  • 서버, 파일서버, 데이터베이스 인프라 구축, 스키마 설계 (Node.js, Mongodb)
  • 웹 프론트엔드 개발 참여 (Web3.js)
2019.03 - PNU-GetHabit

대학 4학년 재학중 팀으로 진행한 텀프로젝트로, 커뮤니티에서 사용자간의 인증을 통해 습관 형성을 도와주는 앱

  • 서버 구축 (AWS EC2, Linux, Nginx, pm2)
  • 데이터베이스 구축 (PostgreSQL)
  • API 서버 개발 (Spring Boot v2.1.4, Java, AWS S3, RestFul API)
  • 안드로이드 앱 개발 (Java, JCodec v0.1.9(이미지-영상 변환), OpenCV v4.1(얼굴인식), C++)
  • 주요 기능
    • 계정관리 (로그인, 로그아웃, 회원가입, 회원탈퇴, 이메일인증)
    • CRUD (습관 형성을 위한 습관 체크하기, 습관 일기 쓰기, 다른 사람들과 함께 습관만들기)
    • OpenCV를 활용한 얼굴인식 및 이미지 마스크 씌우기
    • 동영상 녹화와 앱 내에 저장, 저장된 동영상을 aws s3에 업로드 및 앱에서 재생
    • 습관일기에 업로드된 사진파일들을 모아 일기 내용(텍스트)과 합친 일기 타임라인 동영상 생성
2018.03 - PNU-CoffeeFinder

각 카페 브랜드 소비자들의 커피 맛 후기글에서 머신러닝을 통해 긍,부정을 판단하고 점수를 사용자에게 제공하는 앱

  • 블로그 리뷰 크롤링 개발 (Python)
  • SVM 기반 긍정, 부정 판단 알고리즘 구현 (Python, scikit-learn, SVM(Support Vector Machine) 모델)
  • 안드로이드 앱 개발 (Java)

Community & Open Sources Activities

유니티-네이티브 앱 통신 브릿지 플러그인

유니티에서 네이티브(Android, iOS) 코드와의 데이터 통신이 필요할때 사용하는 브릿지 플러그인

DuckSync 🐥 Github

파일변경을 감시하여 두 디렉토리간 실시간 동기화를 수행하는 앱

  • PC용 앱 개발 (Electron, React, Redux, Javascript, Sass, Watchman, rsync)
라이브러리 이슈 수정
  • 사용중인 라이브러리에 이슈 있으면 적극적으로 코드 분석하여 수정 후 Pull
    Request PR#1 PR#2 PR#3 PR#4