반갑습니다,
저는 이현섭입니다.

현재 서울에서 4년차 웹 프론트엔드 엔지니어로 일하고 있으며 아름다운 인터페이스와 애니메이션을 구현하는 것을 즐깁니다. 개발자의 가치는 비즈니스 가치를 구현하는데서 나온다고 믿습니다. 주도적으로 업무를 진행할 수 있는 환경을 선호합니다.

Work Experience.

비바리퍼블리카.

UI Developer - 현재

Growth Idea 구현.

- 현재
Description.

Growth Silo(Team)에서 토스의 성장에 필요한 웹페이지들을 개발하고 있습니다. (업데이트 예정)

Tech Stack.

TypeScript, React, MobX, Sass, Jest, Next.js

스튜디오씨드 코리아.

Software Engineer -

ProtoPie Enterprise 프론트엔드 개발.

-
Description.

ProtoPie Studio와 연동되는 ProtoPie Cloud의 엔터프라이즈 버전의 프론트엔드 인터페이스를 개발했습니다. 프론트엔드 부분은 혼자 맡아 진행했으며, 3월 경에 1차적으로 릴리즈가 완료되어 여러 기업에 납품되었습니다.

What did I do.
  • 프론트엔드 기술환경 구성 및 기본 기능 구현
  • MobX, MobX State Tree를 사용한 스토어 디자인
  • React기반 컴포넌트 계층 구조 디자인
  • 스토리북을 이용한 컴포넌트 기반 개발 도입
  • Jest 기반의 테스트 작성
Tech Stack.

TypeScript, React, MobX, styled-components, Storybook, Jest, React Router, GitLab, GitLab CI, Docker

ProtoPie Share Page 개발.

-
Description.

ProtoPie Studio에서 작업물을 업로드하면 웹으로 볼 수 있도록 해주는 Share Page를 개발했습니다. 마찬가지로 혼자 진행한 프로젝트이며, 스펙 상 페이지 하나만 개발하면 되는 프로젝트였기 때문에 별도의 프론트엔드 라이브러리는 사용하지 않았습니다.

What did I do.
  • 프론트엔드 / 백엔드 기술환경 세팅 및 전체 기능 구현
  • AWS Lambda를 이용한 Pie 파일 다운로드 기능 구현
  • Pie 파일 다운로드 성능 최적화
  • 다양한 브라우저 환경 및 사이즈 대응
  • CI 및 ECS를 이용한 지속적인 Blue-Green 배포 환경 셋업
Tech Stack.

TypeScript, Gulp, webpack, PostCSS, CSSNext, Express, AWS Lambda, AWS ECS, GitLab, GitLab CI, Docker

ProtoPie License Server 개발.

-
Description.

유저가 직접 ProtoPie Studio를 사용할 수 있는 라이센스를 결제하고, ProtoPie Studio와 연동해 라이센스 체크를 할 수 있는 서버 및 구매한 라이센스를 확인할 수 있는 웹페이지를 만들었습니다. 시니어 개발자와 협업하여 두명으로 프로젝트를 진행하였습니다. 제가 맡은 역할은 주로 프론트엔드 인터페이스 코딩과, 결제 솔루션과의 연동이었습니다. 총 세 개의 솔루션(PayGate, PayPal, FastSpring)과 연동했던 경험이 있습니다. 때문에 백엔드 API 코딩도 겸하여 프로젝트를 진행했습니다.

What did I do.
  • 프론트엔드 기술환경 세팅
  • 프론트엔드 인터페이스 구현
  • 서드파티 결제 솔루션 연동
  • CS처리를 위한 어드민 툴 개발
Tech Stack.

TypeScript, Gulp, webpack, Sass, jQuery, Express, Sequelize, MariaDB(MySQL), AWS ECS, GitLab, GitLab CI, Docker

페스타.

Lead FrontEnd Developer -

페스타 웹사이트 개발.

Description.

이벤트를 주최하거나 열려있는 이벤트에 참가할 수 있는 웹 서비스인 페스타를 개발하였습니다. 창업을 염두에 두고 진행한 사이드 프로젝트로서 본업과는 무관합니다. 약 6개월 간 초기버전의 프론트엔드를 대부분 개발했습니다. 체력과 동기부여의 문제로 중도에 그만두게 되었습니다.

What did I Do.
  • 프론트엔드 기술환경 구성 및 기본 기능 구현
  • MobX, MobX State Tree를 사용한 스토어 디자인
  • React기반 컴포넌트 계층 구조 디자인
  • 스토리북을 이용한 컴포넌트 기반 개발 도입
  • Jest 기반의 테스트 작성
Tech Stack.

TypeScript, React, MobX, styled-components, Storybook, Jest, React Router, GitLab

로앤컴퍼니.

Software Engineer -

로톡 웹사이트 개발.

-
Description.

개발팀의 신입 팀원으로서 법률 O2O 서비스인 로톡의 프론트엔드와 백엔드를 개발했습니다. 기본적인 유지보수를 비롯해 비즈니스의 요구에 맞는 다양한 새로운 기능을 개발했습니다.

What did I do.
  • 로톡 매니저 (변호사용 소프트웨어) UI 개편
  • 변호사 프로필 페이지 UI 개편
  • 변호사 포스트(CMS) 기능 개발
  • 15분 전화상담 기능 개발
  • 메인 페이지 UI 개편
  • 광고 시스템 연동 및 개발 (DoubleClick For Publishers)
  • webpack 마이그레이션
Tech Stack.

CoffeeScript, Gulp, webpack, Sass, Jade, AngularJS(v1), Express, Mongoose, MongoDB

Other Experiences.

GDG Korea WebTech.

Organizer - 현재

구글의 웹 기술 기반 개발자 커뮤니티인 GDG Korea WebTech의 오거나이저를 맡고 있습니다. 여러가지 행사를 주최하거나 돕고 있습니다.

TypeScript Korea.

Organizer - 현재

TypeScript의 사용자 커뮤니티인 TypeScript Korea의 오거나이저를 맡고 있습니다. 주기적으로 행사를 주최하고 가끔 발표도 합니다.

DailyEngineering.

Author, Maintainer - 현재

DailyEngineering이라는 이름의 개인 블로그를 운영하고 있습니다. 비정기적으로 제가 새롭게 배우게 된 내용 등을 글로 만들어 공유합니다. 블로그는 GitHub Pages 위에서 Hexo를 이용해 퍼블리시 되고 있지만, 테마는 직접 만들어서 쓰고 있습니다.

ACM-ICPC.

Honorable Mention

ACM-ICPC라는 프로그래밍 알고리즘 경진대회에 출전해 학교별 예선에서 좋은 성적을 거두고, 지역본선에 학교 대표로 진출했습니다. 아쉽게도 본선에서는 입상하지 못했습니다.

금오공과대학교.

컴퓨터소프트웨어공학과 -

컴퓨터소프트웨어공학과에서 4년간 공부하며 컴퓨터구조, 자료구조, 컴퓨터네트워크, 웹 프로그래밍 등의 과목을 우수한 성적으로 이수하였습니다. 중간에 휴학을 하고 일을 하다가 최근에 졸업했습니다.

Skills.

Overall.

  • 아름다운 유저 인터페이스 및 애니메이션 구현을 즐깁니다.
  • 항상 최신의 기술이 옳다고 여기지 않습니다. 상황에 따라 적절한 선택이 있다고 믿습니다.
  • 업무에 필요하다면 능숙한 분야가 아니더라도 적극적으로 탐색하여 최적의 결과를 낼 수 있도록 노력합니다.
  • 회사 혹은 팀의 프로세스 및 문화를 개선하거나 바꾸려는 시도를 적극적으로 합니다.
  • 솔직하며 직설적인 커뮤니케이션을 선호합니다.

Communication.

  • 직위 및 포지션에 관계없이 적극적으로 의견을 개진합니다.
  • "옳은 의견", "틀린 의견"으로 구분하지 않고, "좋은 의견"과 "더 나은 의견"으로 구분하려 노력합니다.
  • 항상 스스로의 의견이 맞지 않을 수도 있다는 가능성을 인지하려고 노력하며, 민주적이고 합리적인 의사결정을 할 수 있도록 유도합니다.

HTML / CSS.

  • 시맨틱 마크업을 준수합니다.
  • Search Engine Optimization 경험이 있습니다.
  • 다양한 플랫폼 및 브라우저를 지원할 수 있습니다.
  • Sass 등 CSS Preprocessor를 사용할 수 있습니다.
  • PostCSS와 CSSNext를 사용하여 미래지향적인 CSS를 작성합니다.
  • BEM등의 CSS 방법론을 적용할 수 있습니다.

JavaScript.

  • ES2015 이후의 자바스크립트 문법에 익숙합니다.
  • jQuery 없이 DOM API를 다루는데 능숙합니다.
  • 상황에 적절한 자료구조를 선택해서 사용합니다.
  • 타입스크립트의 사용에 능숙합니다.
  • 함수형 프로그래밍을 유연하게 적용합니다. (커링, 지연평가)

React.

  • Atomic Web Design 기반으로 컴포넌트를 쪼갭니다.
  • 렌더링 경로에 대해서 이해하며 상황에 맞게 렌더링 최적화를 할 수 있습니다.
  • 컴포넌트 라이프 사이클을 알고 있으며 관련 메소드를 상황에 따라 적절히 사용합니다.
  • Presentational, Container 컴포넌트의 차이점에 대해서 이해하며 필요에 따라 구분해서 사용합니다.
  • Storybook을 사용한 컴포넌트 주도의 개발을 할 수 있습니다.
  • MobX, MobX State Tree를 이용해 상태 관리 및 데이터 모델링을 할 수 있습니다.

Tooling.

  • Git을 능숙하게 사용하며 Git Flow 등의 개발 방법론에 익숙합니다.
  • 프로젝트의 요구사항에 알맞는 프론트엔드 환경을 세팅할 수 있습니다. (Gulp, webpack, Babel/TypeScript, PostCSS 등)
  • 테스트 환경을 세팅할 수 있으며 CI 혹은 Git Hook과 통합할 수 있습니다.

DevOps.

  • Docker 이미지를 이용해 개발환경 공유 및 서버 디플로이를 할 수 있습니다.
  • AWS EC2, ECS, Lambda, S3 등의 사용 경험이 있습니다.
  • GitLab 서버 설치 및 관리 경험이 있으며 GitLab CI를 통한 지속적인 빌드와 배포가 가능합니다.

Contact.