Skip to content

Instantly share code, notes, and snippets.

@bipark
Last active February 28, 2019 01:45
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bipark/60f638fe857e59edf94add8a6752fcb1 to your computer and use it in GitHub Desktop.
Save bipark/60f638fe857e59edf94add8a6752fcb1 to your computer and use it in GitHub Desktop.

박병일 프로필

최근 갑작스럽게 직장을 사직하고 이제는 무엇을 해야 할지 시간을 갖고 고민을 해야지... 하다가 그동안 정신없이 살다보니 프로필을 쓴다거나 경력을 정리해 볼 생각을 별로 하지 않았구나 싶은 생각이 들어서 저의 프로필과 함께 제 생각들, 스타트업 CTO를 하면서 알게된 혹은 필요한 기술 정보들, 그리고 개인적인 프로필을 정리했습니다.

1. 이 글의 목적

오늘(2018년 6월 29일) 현재 아직 뚜렷한 계획이 없어서 프로필 문서의 명확한 목표를 만들기는 어렵지만 가족이 있고 공부하는 아이들이 있어서 돈을 버는 일이 우선은 목적이 될 것 같습니다. 당장은 취업의 목적 보다는 외주개발 쪽이 쉬운 접근인것 같아서 제가 할 수 있는 일, 했던 일, 그리고 알고 있는 것들을 정리해 봤습니다.

짧은 글에 많은 것을 담기는 어렵습니다만 저에 대한 정보 그리고 제가 알고 있고 해왔던 일에 대한 기록이 독자에게 도움이 되었으면 좋겠습니다. 혹시 글을 보시는 분 중에 외주 개발을 맡기기를 원하시거나 스타트업 기술 개발 관련 컨설팅이 필요하신 분은 연락 주세요. 아, 물론 좋은 회사가 있다면 언제든 만나볼 용의가 있습니다. 아래 이메일 혹은 페이스북에 친구 신청을 하시고 메시지를 보내 주시면 됩니다.

2. 연락처

3. 개발이력

고교시절부터 소프트웨어 개발에 관심을 가지고 시작해서 현재까지 약 30여년 다양한 업종에서 개발직군으로 근무 했으며 오늘 현재도 하루 4시간 이상 코딩을 하고 있는 현직 프로그래머 입니다. 최근 4~5년은 스타트업 업계에서 관리자, CTO의 역할을 함께 하면서도 여전히 코딩을 하고 있으며 최신기술을 활용하여 업무 효율을 극대화 하고 개발자의 시간을 아껴서 더 발전된 내일을 만들 수 있는 개발자가 되는 것을 이상으로 생각하고 있습니다.

3.1 최근이력(최근 10년 시간역순)

3.1.1 (주)버즈아트 - CTO

  • https://bbuzzart.com
  • 버즈아트는 신진작가를 위한 소셜플랫폼으로 시작하여 이커머스 & 디지털 캔버스, 그리고 본격적인 팀 매니징을 경험 할 수 있었던 소중한 시간이었습니다.
  • 근무기간 : 2016년 11월 - 2018년 6월
  • 주요업무
  • 개인적으로 미술에 굉장한 관심을 가지고 있고 과거 미술 관련 아이폰앱을 제작했던 경험도 있어서 너무 재미있게 일했던 직장입니다. 스타트업에서 필요한 모든 작업들과 기술들을 경험할 수 있었던 좋은 기회였다고 회고.

3.1.2 (주)KTB솔루션 - 개발팀장(이사)

  • 핀테크 솔루션 기업
  • 근무기간 : 2015년 9월 - 2016년 8월
  • 주요업무
    • 스마트 싸인 솔루션 개발 - 서명 기반의 사용자 인식 소프트웨어 개발
    • 솔루션 기반 해외 진출 관련 비즈니스 다수

3.1.3 (주)메이커스모바일 - iOS 개발팀장

  • 소셜 인터넷 컨텐츠 제작 유통 기업
  • 근무기간 : 2014년 4월 - 2015년 9월
  • 주요업무
    • iOS 자체 앱개발 및 개발팀 & 프로젝트 관리
    • 몬캐스트 iOS 앱개발
    • 딩고 iOS 앱개발

3.1.4 (주)엔트제너스 - 모바일 개발팀장

  • 소셜플랫폼 개발 기업
  • 근무기간 : 2013년 12월 - 2014년 10월
  • 키워드 관심 기반의 소셜앱 Fanme 개발

3.1.5 프리랜서 & 독립개발자

  • 근무기간 : 2014년 이전 ~
  • 애플 아이폰 출시이후 아이폰앱 개발을 시작하여 약 70여개의 아이폰 앱을 앱스토어에 출시함

3.2 과거 이력

  • 창업경험 다수
  • 고교시절 Apple2 로 소프트웨어 개발 입문
  • 다양한 산업군에서 다양한 플랫폼을 기반으로 하여 다양한 소프트웨어를 개발한 경험을 가지고 있음

4. 보유기술 및 개발 경험

4.1 보유기술

4.1.1 개발언어(최근 가장 많이 쓰고있는 언어순)

  • Java Script
    • Node.js
    • Vue.js
    • React.js
  • Objective-C
  • Swift
  • SQL
  • Python
  • Go
  • Delphi(Object Pascal)

4.1.2 주로쓰는 개발툴

  • WebStorm - JS 개발툴
  • XCode - iOS앱 개발툴
  • Goland - Go 언어 개발툴
  • Pycharm - Phthon 개발툴
  • Delphi - Object Pascal(Windows Platform)

4.1.3 플랫폼

  • Mac & OSX - 주로쓰는 OS
  • Ubuntu - 주로쓰는 서버 OS
  • AWS - 주로 사용하는 Cloud

4.2 개발경험

4.2.1 기술 관련

  • Productivity(생산성)
    • 개발에 있어서 생산성은 20대때부터 개인적으로 고민해 오던 오래된 화두입니다. 아래에 나열된 기술목록들은 가능한 더 높은 생산성을 가진 도구를 찾기 위한 저의 노력의 과정이라고 할 수 있습니다. 적은 시간으로 더 좋은 결과를 얻게 된다면 비즈니스의 영역에서 비용을 줄일 수 있고 개발자 입장에서는 더 많은 시간을 확보할 수 있습니다. 시간을 어떻게 쓰는가는 개인의 역량 문제겠지만요.
  • iOS(iPhone)
    • 스티브잡스가 했던 첫번째 아이폰 프레젠테이션을 기억합니다. 제 개발자 인생의 전환점이었습니다. 2008년 가을 한국에서 아이폰을 살 수 없어서 아이팟과 맥미니를 바로 구입했고 아이폰 개발자의 길로 접어들었습니다.
  • Objective-C
    • Obj-C는 쉽지 않습니다. 하지만 확실히 직관적입니다. 이 언어를 배우기 위해 3개월을 두문불출하고 정진했습니다. 2009년 4월에 첫번째 앱을 앱스토어에 업로드했습니다. 개인적으로 앱 다운로드 기록은 '오늘의 명언'이 국내에서 누적 100만 다운로드 이상을 경험한 적이 있습니다. 이후 개인앱으로 앱스토어에 업로드한 앱 개수는 약 60여개입니다.
  • Swift
    • 개인적으로 늦게까지 Obj-C를 고수하고 있었습니다. 이유는 Swift 문법의 변화가 너무 심했고 컴파일 속도가 느린것도 한몫 했지요. 다만 최근 많은 안정화 과정을 거쳐서 성능도 좋아졌다는 판단이 서 BBuzzArt의 가장 최근 버전 앱에 도입하여 개발했습니다.
    • 간결한 코드를 유지하면서도 직관성을 유지하려는 Apple의 노력은 인정하지만 미래를 기대하는 것은 쉽지 않다는 개인적 생각입니다.
  • Native App & Hybrid App
    • Native App 개발을 오래 해왔지만 배포가 불편하다는 문제는 소프트웨어가 늘 변화해야만 한다는 명제와 상충합니다. 요구사항은 늘 변하고 빠르게 그 요구사항에 대응해야하지만 성능 역시 보장이 되어야 한다는 아이러니를 늘 안고 개발을 하게 됩니다.
    • 개인적인 경험에 비추어 본다면 어떤 선택을 해야 하는가는 어떤 서비스를 만들 것인가와 관계있습니다. 저는 그동안 컨텐츠 관련 비즈니스가 많았던 관계로 Native에서 Hybrid의 방향으로 계속해서 변화를 모색해왔으며, 2017년 React Native를 도입해서 iOS와 Android를 통합했고 2018년 iOS, Android, Web을 완전히 통합하는 서비스 개발을 마무리했습니다.
  • JavaScript
    • JavaScript의 중요성은 최근 수년간 하늘 높은줄 모르고 올라가고 있습니다. 과거 Jquery 기반의 DOM Controller에서 벗어나 Angular, React, Vue 등등 성공한 프레임워크들이 등장했으며 Node.js에 이르러 서버 개발에까지 손을 뻗치고 있습니다.
    • 특히 React Native는 iOS, Android를 넘어서 Oculus등 다른 플랫폼에 이식되면서 사용성을 늘리고 있습니다. 열심히 더 공부해야 합니다.
  • JQuery
    • 이젠 안씁니다. 아예~ 이말을 하고 싶었습니다. 제발 쓰지 맙시다.
  • AWS
    • 이제는 클라우드 없는 서비스는 생각할 수도 없습니다. 특별히 글로벌로 비즈니스 계획이 있다면 AWS의 선택은 필수적입니다.
    • 아래의 기능들과 연계하면 완전한 시너지를 낼 수 있습니다. 전부 서비스에서 사용해 봤습니다.
    • 지난 2년간 DDOS 때문에 느려진 적은 있었지만 장애가 난 적은 한번도 없었습니다. 너무 AWS 광고한 느낌이긴 하지만 스타트업에서 서비스 인프라에 신경쓰기 시작하면 끝이 없습니다 그돈으로..
    • AWS S3 Storage
      • 생각보다 비싸지 않습니다. 데이터 유실이나 백업 걱정 없이 운영 가능 합니다.
    • AWS CloudFront (CDN)
      • 글로벌 서비스라면 필수 항목입니다. 아카마이와 비교해도 성능이 떨어지지 않습니다.
    • AWS Lambda
      • 마이크로 서비스 구현하기 좋습니다. 아직 개발 생산성이 좋지 않습니다만 Alexa 연동 때문에 써봤습니다.
    • AWS ELB
      • 제 생각에 로드발란서에는 두가지 목적이 있습니다. 서비스 사용자의 폭주에 대비하여 트래픽을 분산하는 효과도 있지만 서버 업그레이드에도 굉장히 유용합니다. 로드발란서를 앞단에 놓고 서비스를 업데이트하면 중단 없이 업데이트를 진행할 수 있어, 낮에도 아무때나 서비스를 변경할 수 있습니다.
    • AWS RDS
      • RDS 기반으로 MySQL을 주로 사용했습니다. DB서버를 RDS를 사용한 이유는 역시 관리의 용이성과 안정성 때문입니다. 백업 걱정이 없고 데이터 유실의 걱정이 없습니다.
  • Google
    • Google Vision API
      • 이미지 컨텐츠가 많은 기업이라면 필수입니다.
      • 모든 기업들이 머신러닝 시스템을 개발하려고 애쓰고 있는데 머신러닝이 비즈니스의 목적이 아니라면 사서 쓰는게 이익이라고 생각합니다.
      • 많이 비싸지 않더군요.
      • https://bipark.github.io/3
    • Google Natural Language API(자연어분석)
      • 비전과 마찬가지로 텍스트 컨텐츠에 대하여 자연어를 머신러닝 방식으로 분석해줍니다. 문법, 문장의 감정, 키워드의 강도 등을 데이터로 뽑아줍니다.
      • 컨텐츠 업체에서 진짜로 해야 하는 머신러닝은 위의 두가지 결과를 기반으로 사용자의 Activity를 연결해서 경향성을 파악하는 용도로 개발하는 것이 가장 좋다고 생각합니다.
    • Google Firebase
      • 만약 서비스를 새로 개발하려고 한다면 추천해 드립니다.
      • 위에 AWS 인프라가 전혀(거의) 필요없습니다.
      • 서비스 개발을 위한 종합 선물세트입니다.
      • 이런게 있는데 왜 안쓰는지 모르겠습니다. 뭐.. 저도 일부만 써봤습니다.
    • Google GA
      • Google Analytics는 필수이지만 키워드와 이벤트를 적절히 사용하면 사용자와 이벤트를 잘 추적할 수 있습니다.
      • Google Tag Manager라는 것도 있는데 개발자 입장에서는 옥상옥 느낌입니다. 마케팅에서 이런 저런 요구를 하는데 그때그때 소스에 이벤트 추적 코드를 넣는게 귀찮습니다. 하지만 아직 뾰족한 방법을 못 찾았습니다.
  • Amazon Alexa
    • 보이스 컨트롤을 이용한 Canvas 컨텐츠 컨트롤을 위해 사용해 봤습니다.
    • 회원을 특정하기 위해서는 OAuth 시스템을 서비스 내에 갖추고 있어야 합니다.
    • 그것을 위해 OAuth를 개발하던 도중에 퇴사했습니다. ㅠ.ㅠ
  • Java Spring
    • 레거시가 있어서 어쩔 수 없이 썼습니다.
    • 하지만 큰 문제 없이 잘 돌아가더군요.
    • 사실 잘 모릅니다. 그래서 전문가를 뽑았습니다.
  • Web(HTML5)
    • React.js
      • 개인적으로는 2015년 부터 사용 경험이 있습니다.
      • 상태 관리를 위한 Redux 사용합니다.
      • 현재 가장 HOT한 프레임워크
      • 페이스북에서 개발하고 밀고 있어서 장기적인 확장 가능성이 높고 사용자가 많습니다.
    • React Native
      • React Framework를 기반으로 iOS, Android에서 Native 성능을 낼 수 있는 하이브리드 Framework
      • 최근 1년간 이 프레임워크를 이용하여 앱을 개발했습니다.
      • https://bipark.github.io/2
    • Next.js
      • React.js가 SPA(Single Page Application)라서 SSR이 안되는 문제를 해결하기 위해 사용되는 서버용 React 프레임워크
      • React.js로 개발할때 검색엔진 또는 소셜 공유를 위한 Bot에 대응하기 위해 사용합니다.
    • Vue.js
      • 최근 가장 떠오르는 Web UI Framework
      • 백오피스 프로젝트 및 스몰 토이 프로젝트에 다수 사용했습니다.
      • 개발이 용이하고, 상태관리가 React에 비해 쉬워서 빠른 구현을 할 수 있습니다.
    • Nuxt.js
      • Vue.js를 위한 SSR용 서버 프레임워크
  • SSR
    • 최근 SPA 기반으로 Web 서비스를 개발하게 됨에 따라 검색엔진 Bot이나 공유 엔진에 대응할 수 없는 문제를 해결하기 위해 개발되었습니다.
    • 검색엔진 & 소셜공유에 대응하기 위해서는 필수적으로 요구되는 기능입니다.
  • SEO
    • Search Engine Optimization
    • 마케팅 활동의 가장 중요한 진입점으로 검색엔진에 대한 대응은 매우 중요합니다.
    • 구글을 비롯한 검색엔진 그리고 소셜 네트워크 공유등에 대한 기술적 및 기능적 대응이 필요합니다.
    • SEO를 잘하면 마케팅 비용을 많이 줄일 수 있습니다.
    • 하지만 SEO는 단시간에 결과를 얻기 힘들고 조심스럽게 오래도록 Optimazation 하는 것이 좋습니다.
    • 블로그 참조 https://bipark.github.io/7
  • Facebook
    • 페이스북은 소셜뿐만이 아니라 프레임워크로 생각해야 합니다.
    • 고객의 유입, 추적, 분석 등의 유저 액티비티와 서비스 결합도를 높이는 쪽으로 개발을 진행하는 것이 좋습니다.
  • 분석, 모니터링
    • 개발 시점에서 Query 성능 분석을 통하여 향후 발생할 수 있는 병목을 미리 제거할 수 있어야 합니다.
    • 운영 상황에서의 실시간 성능 분석은 실제 상황에서 빠르게 대응방법을 찾아낼 수 있습니다.
    • Whatap.oi, Jennifer 등의 분석 서비스를 이용할 수 있습니다.

4.4.2 개인적인 기술

  • IoT 콤포넌트 장비에 관심이 많습니다.
  • 홈 자동화 시스템을 취미로 개발 하기도 했고 스마트 미러를 개발하기도 했습니다.
  • 영어능력
    • 기술문서를 읽고 해석할 수 있습니다.
    • 애플 WWDC, Google I/O등의 컨퍼런스 동영상을 자막없이 들을 수 있습니다.
    • 다수의 해외 출장 & 여행 경험이 있고 기초적인 커뮤니케이션이 가능하고 기술적 커뮤니케이션 역시 가능합니다.

5. 기술 컨설팅, 외주개발, 취업

5.1 스타트업 기술 컨설팅

  • 최근 5년 동안 다양한 스타트업에 근무 하면서 스타트업이 필요로 하는 많은 기술들을 사용해보고 테스트한 경험을 가지고 있습니다.
  • 의뢰하시는 기업의 환경에 가장 적합한 솔루션을 제안할 수 있습니다.
  • 적은 비용으로 효과를 발휘하는 기술을 추천해 드릴 수 있습니다.
  • 현재 시스템의 문제를 분석하고 해결 방안을 제시해 드릴 수 있습니다.
  • 제가 직접 개발하고 세팅해서 빠르게 문제를 해결할 수 있습니다.
  • 의뢰 기업과 함께 머리를 맞대고 문제의 해결 방안을 도출하고 제시해 드릴 수 있습니다.
  • 기술 컨설팅의 비용은 4시간 - 40만원 / 1일(8시간 기준) - 60만원 / 1주일 - 260만원 / 1개월 - 1000만원입니다. (부가세별도)
  • 작업/시간에 대한 작업/결과 리포트를 제공합니다.
  • 주 1회 혹은 주 2회 격주등 다양한 방식으로 계약이 가능합니다.

5.2 외주개발

  • 합리적인 방법과 비용으로 필요한 솔루션을 개발해 드릴 수 있습니다.
  • 상호 협의에 따라 상주/비상주 또는 주간 미팅/협의 등의 다양한 방법으로 문제를 함께 해결하고 목적을 이룰 수 있도록 도와드립니다.
  • 주요 개발 방법
    • API Server - Node.js로 작업합니다.
    • Web Front - Vue.js로 작업합니다.
    • App(iOS/Android) - React Native로 한번에 두개의 플랫폼을 대응해 드립니다.
    • Web, iOS, Android를 동시에 HTML5기반의 Hybrid App으로 개발할 수도 있습니다.
  • 일반적으로 서비스 개발은 디자인/퍼블리싱/개발 등 다양한 요인이 존재하므로 협의후 산출 가능 합니다.
  • 비용 산출시까지 분석 협의 비용은 미계약시 청구 가능합니다.

5.3 취업

  • 개발직에 나이가 문제되지는 않는다고 저는 생각합니다만 그걸 문제로 생각하는 분들이 계셔서 말씀드립니다. 저는 1967년생입니다.
  • 최근 재직한 회사에서는 CTO로 일하며 1년 8개월동안 한번도 야근을 하지 않고 모든 프로젝트의 일정을 대부분 완수 했습니다.
  • 개인적으로 함께 일하는 동료들의 안정적인 환경을 매우 중요하게 생각합니다.
  • 대신 업무시간에 매우 강한 집중력을 요구합니다.
  • 그보다 더 중요한 일은 오너를 포함한 관리자가 한번에 정확한 목적을 제시하는 것이라고 생각합니다.
  • 이런 이야기들을 함께 하고 공감대를 형성할 수 있는 경영자가 있다면 취업을 고려해 볼 수 있습니다.

6. 결론

긴 글 읽어 주셔서 감사합니다. 위에 적은 기술 관련 글들은 현장에서 많은 시간들을 들여 테스트하고 실무에 사용해서 얻어낸 소중한 경험의 결과입니다. 취업이나 컨설팅 내용과 관계없이 읽고 도움이 된다면 좋겠습니다.

최근 퇴사를 하고 여러가지 생각을 했습니다. 어쩌면 마지막 직장이 되지 않을까 하던 기대가 있었던 회사라서 더 많은 생각이 들었던 것 같습니다. 아무래도 쉽게 결론을 낼 수 없을 것 같습니다만 그렇다고 하더라도 가족을 부양해야 하고 삶을 이어가는 노력을 그만할 수는 없지 않겠습니까? 먹고 살아야 하니까요.

감사합니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment