Profile

김 진 우

INTRODUCE

  Mobile Client 개발, 특히 iOS 개발을 주로 하고 있습니다. UI/UX 를 개선해서 사용자들의 반응을 보는 것을 좋아하고, 개발 생산성을 높이는 것을 좋아합니다. 개발 생산성이란 동일한 작업을 빠르게 만드는 것일 수도 있지만, 추후 변화를 빠르게 반영할 수 있는 구조로 만드는 것도 같은 의미라고 생각하기 때문에 효율적인 설계를 위해 항상 고민하고 있습니다. iOS 개발은 Swift 와 같은 High-Level 프로그래밍 언어를 사용합니다. High-Level 프로그래밍 언어를 사용하는 개발에서는 유지보수와 확장성이 곧 성능이라는 어느 개발자분의 발표를 감명 깊게 들은 적이 있었는데, 그 후 Architecture, Design Pattern 에 대해서도 많이 고민하고 있습니다. 그리고 요즘 Client 쪽에서 많은 장점이 있어서 이제는 거의 기본사양이 되어버린 Rx 를 현업에서 오랜 기간동안 사용하고 있습니다.

  한번 개발할 때 접근제한자와 같이 컴파일러가 잡아주지 않는 부분을 컴팩트하게 사용하며 개발하려고 노력합니다. 다양한 객체 간 커뮤니케이션 패턴을 숙지하고 있고, retain cycle 로 인한 memory leak 을 항상 조심하며 개발하고 있습니다. UI 구현은 Storyboard 를 이용하는 방식보다는 코드로 작성하는 방식을 더 선호합니다. 최근에는 Texture 를 주로 이용하고 있습니다. 뷰단에선 재사용 가능과 변화에 빠르게 대응할 수 있도록 생각하면서 설계하고, 로직단에선 SOLID 원칙을 참고해서 설계하려고 노력하고 있습니다. 객체 간 의존성은 한곳에서 관리하는 것을 좋아하고, 효율적인 의존성 관리를 위해 IoC Container 와 Pure 를 같이 사용하는 것을 좋아합니다. 다양한 케이스의 Unit Test 들을 작성해봤고, TDD 로 개발하려고 노력합니다. 2019년 WWDC 에서 소개된 SwiftUI & Combine 에도 관심이 많습니다. 저와 팀에 도움되는 기술적 지식이라면 러닝 커브가 높아도 챌린지 해보려는 자세를 가지고 있습니다.

  Zeplin, Figma 를 이용해서 디자이너와 협업해본 경험이 있습니다. 디자이너의 의도를 최대한 기술로 담아낼 수 있도록 최선을 다합니다. Git 의 다양한 기능을 활용해서 동료 개발자들과 책임감 있게 협업해본 경험이 있습니다. 작업의 흐름대로 커밋 히스토리를 쌓기보단 리뷰어가 리뷰하기 편하도록 커밋 히스토리를 쌓는 것이 협업면에선 더 좋은 방향이라고 생각합니다. 코드리뷰와 회고를 매우 중요하게 생각하는 조직에서 일한 경험이 있습니다.

  그 외엔 개인 프로젝트 하면서 Python, Nodejs 와 MongoDB, MySQL 로 백엔드를 구현해봤고, Deep-learning 오픈소스 모델을 제가 만든 API 서버에 적용시켜본 경험도 있습니다. 저와 팀에 도움되는 것이라면 러닝 커브가 높은 상황에서도 쉽게 포기하지 않는 자세를 가지고 있습니다. 또한 다년간 유학생활로 영어권 외국인들과 자유롭게 소통할 수 있고, 덕분에 영문 문서를 읽는 데 거부감이 별로 없습니다. 사교적이고 유연한 성격이며, 겸손과 존중을 가장 큰 미덕이라고 생각합니다.
마지막으로 특유의 유머를 보유하고 있습니다.

SKILLS

iOS

  • P Swift
  • P Git
  • P Xcode
  • P RxSwift, RxDataSources
  • P XcodeGen, Tuist
  • P Cocoapods, Carthage
  • P GraphQL, REST-API
  • P ReactorKit, RIBs
  • P TDD
  • P Texture, SnapKit
  • P Moya, Alamofire
  • P SwiftLint
  • P Quick, Nimble
  • P Swinject, Pure
  • P LLDB
  • P R.swift, SwiftGen
  • P MaterialComponents
  • P Fastlane
  • P Bitrise, Github Action
  • P Firebase
  • P Braze, Appsflyer
  • P Facebook, Branch
  • T Objective-C

ETC

  • Python3
  • Kotlin
  • Nodejs
  • Java
  • C++
  • Vim
  • Jira
  • Trello
  • Confluence
  • Slack
  • Github
  • Gitlab
  • Bitbucket
  • Zeplin
  • Figma

EXPERIENCES

2020.09 ~

StyleShare

회사: 스타일쉐어
  • Webpage link
  • Appstore link
  • Fashion SNS and E-commerce iOS app development
  • Code Review & Retrospect
  • TDD
  • RxSwift, ReactorKit
  • Texture
  • Pure DI
  • XcodeGen
  • Fastlane, Github Action
  • Crash-free 99.9%
Swift Texture ReactorKit RxSwift Pure DI XcodeGen Fastlane Firebase

2019.10 ~ 2020.09

프립

회사: 프렌트립
  • Webpage link
  • Appstore link
  • Leisure activitiy E-commerce iOS app development
  • Code Review & Retrospect
  • RxSwift, MVVM & ReactorKit
  • GraphQL & REST API
  • Frip Design System
  • Unit Test
  • Fastlane, Bitrise
  • Crash-free 99.9%
Swift Apollo Moya SnapKit RxSwift MVVM ReactorKit Firebase Braze Appsflyer Cloudinary Bitrise Fastlane Crashlytics

2019.06 ~ 2019.10

써주세요

회사: 알비트
  • Webpage link
  • Appstore link
  • Part-time job searching iOS app development
  • Agile methodoloty & 1 week sprint planning
  • RxSwift with 4 servers networking
  • JWT Token, Token-based Authentication
  • Various UI processing
  • Document management with Confluence
  • Fastlane, Bitrise
Swift MaterialComponents Moya SnapKit RxSwift MVC JSON Web Token AWS-S3 Bitrise Fastlane Crashlytics Firebase RealmSwift SwiftLint

GROWTH PROCESS

2010.03 ~ 2019.02

경희대학교 졸업

컴퓨터공학과 전공
  • TGWing 동아리원으로 활동했습니다.
  • 2015년도 부과장으로 학생회 활동했습니다.
  • 1년간 뉴질랜드 유학 생활을 했습니다.
  • 뉴질랜드 다녀온 후 개발자의 길을 걷기로 결심하게 되었습니다.

2009.02 ~ 2010.03

재수

독서실에서 재수 생활
  • 비약적인 수능점수 상승이 있었습니다.
  • 수리가형 5등급 -> 1등급 99프로

2006.03 ~ 2009.02

수내고등학교 졸업

경기도 성남시 분당구
  • 음악과 축구에 빠져 살았습니다..
  • 데일밴드라는 이름으로 청소년 도대회 3등을 한 경험이 있습니다.

Born ~ 2006.02

~ 고등학생

부산, 미국, 분당
  • 부산에서 태어났습니다.
  • 2000년에 미국 텍사스에서 1년동안 살았습니다.
  • 미국에서 빠른 적응으로 학교에서 클린턴 대통령상을 수상했습니다. (보유중)
  • 초등학생때 분당으로 이사와서 계속 생활했습니다.

TOY PROJECTS

Photo Searcher

Photo Searcher

iOS - Swift, Tuist
  • 개요
    • 개발할 때 테스트해볼 사진들을 검색하고, Simulator 사진앱에 쉽게 저장하고 싶어서 만들었습니다.
    • 프로젝트 최적화에 중점을 두고 다양한 시도들을 해봤습니다.
  • 프로젝트 간단 설명
    • Flickr API 를 이용해서 간단한 사진 검색 기능을 추가했습니다.(추후 API 추가 예정입니다.)
    • 아이폰 사진 앱에 사진을 저장할 수 있는 기능을 추가했습니다.
    • Tuist 를 이용해서 Xcode project 생성을 자동화했습니다.
    • UI, Reactive, Foundation, Networking 등 각각의 역할을 모듈화해서 개발을 진행했습니다.
    • 사용하는 3rd party 들을 캐싱 처리해서 빠른 빌드속도로 개발을 진행했습니다.
    • 객체간 의존성을 CompositionRoot 한 곳에서 관리하도록 했습니다.(장단점을 파악하기 위해 RIBs 와 비교해볼 예정입니다.)
  • 개발 환경
    • Flickr API
    • Tuist
    • cocoapods-binary-cache
    • Bundler
    • RxSwift
    • RxDataSources
    • ReactorKit
    • Pure+Swinject
    • SnapKit
    • Moya
    • Quick
    • Nimble

Realtime Chatting Messenger

실시간 채팅 앱

iOS - Swift
  • 개요
    • Firebase 를 이용한 실시간 채팅 구현
    • 로그인, 회원가입, 사용자간 채팅 가능
    • Image, Video 전송 가능
    • 추후에 아이디어가 생기면 확장 예정
  • 개발 환경
    • iOS 12
    • Swift 5
    • Xcode 10
    • Firebase 5

Fully Instagram

Instagram Clone

iOS - Swift
  • 개요
    • 인스타그램의 모든 기능과 UI/UX 를 구현해보는 것을 목표
    • Firebase 이용해 로그인 및 데이터 저장
    • Pagination 구현
  • 개발 환경
    • iOS 12
    • Swift 5
    • Xcode 10
    • Firebase 5

My Diary

감성 일기장

iOS - Swift
  • 개요
    • 하루하루 일기를 작성할 수 있는 앱
    • UserDefaults 를 이용해서 설정 변경
    • Dependency Injection 을 통한 데이터 전달
    • MVVM Pattern 적용
    • Realm 데이터베이스 적용
  • 개발 환경
    • iOS 12
    • Swift 5
    • Xcode 10
    • CocoaPods

English-edu

이미지를 활용한 영어 교육

web - nodejs - deeplearning
  • 개요
    • 캡스톤 디자인 졸업 작품으로 A+ 받은 프로젝트
    • 이미지로 배우는 새로운 방식의 영어교육
    • 이미지에 대한 설명 문장을 딥러닝으로 도출
    • 사용자는 이미지를 보고 문장에서 빈칸을 작성하면서 교육
    • 힌트 더보기 등의 기능 추가
    • 딥러닝 모델로 im2txt 모델인 Show-and-tell 사용
    • mongodb로 데이터 저장
  • 개발 환경
    • nodejs, expressjs
    • mongodb
    • tensorflow 1.0
    • python 3.5
    • miniconda 3
    • bazel
    • java 8

Oh my board

오 나의 게시판

web - nodejs - oracle, tibero
  • 개요
    • 데이터베이스 수업 프로젝트로 팀원 3명이서 협업
    • 한명은 크롤링, 한명은 쿼리작성, 본인은 프론트엔드와 백엔드를 담당
    • 유명한 커뮤니티 사이트들의 게시글들을 크롤링
    • 회원가입을 한 사용자에게 맞춤형 서비스 제공
    • 회원가입을 하지 않은 사용자에게는 게시글을 클릭하면 그 게시글을 본 다른 사용자들이 많이 본 게시글 5개를 추천해주는 기능 제공
  • 개발 환경
    • nodejs, expressjs
    • JDBC
    • Java 8
    • oracle (test)
    • Tibero (학교에서 제공)

ETC

2019.03

RxSwift In 4 Hours

RxSwift 스터디

2018.04

OPIC

영어 인증 시험, AL

2017.07

코딩야학 1기

구글 x 생활코딩과 함께하는 코딩야학 1기 과정 수료

2016.02 ~ 2017.02

뉴질랜드 생활

NZTC 기독교 학교에서 현지인들과 기숙사 생활

2010.01 ~ 2011.11

육군 병장 만기 제대

탄약계원

2000.01

클린턴 대통령상 수상

Outstanding Educational Improvement from United States of America