본문 바로가기

경험노트

비개발자 CEO를 위한 개발자 채용/협업 팁/송은우 대표, WeCode

송은우 대표, WeCode

 

오늘 어젠다는 

 

1) 개발자 채용

2) 개발자 협업

 

송은우란? 

 

Wecode 라는 코딩캠프 운영하고 있다. 개발 14년 경력. 미국에서 컴퓨터 사이언스 전공. 미국에서 개발자 디렉터 일을 함. 뉴욕에서 주로 일을 함. 월가에서 장외주식 시스템 거래 개발. 한국에는 4년전 귀국. 핀테크 창업 2번. 로드어드바이저 하나랑, ai 주식 투자, 주식 공매도 데이터 분석 플랫폼, 현재는 코딩 교육하고 있음. 

 

최근에는 깔끔한 파이썬 탄탄한 백엔드 라는 책도 출간.

 

너무 어려운 개발자 채용, 

 

"개발자가 너무 어렵다." '채용이 너무 어렵다." 

 

개발자 공급보다 개발자 수요가 월등히 높다. 기본적으로. 2020년까지 3만 2천명 부족. 

(source: 소프트웨어 정책 연구소) 기업들이 실제로 체감하는 개발자 인력 부족수는 더 심각할 것으로 예상.

 

신입 소프트웨어 개발장게 연봉 5천만원 이상.. 

 

보통 대표들은 개발자가 다 개발자인 줄 안다. 내가 필요한 개발자를 정의해야된다. 

개발이라는 건 뎁스가 되게 깊고, 영역도 넓다. 세분화되어있다. 그래서 모든 걸 개발할 수 있는 개발은 없다. 

자기가 개발할 수 있는 영역이 나뉘어져 있다. 개발 직군을 이해해야 내가 어떤 사람을 뽑을지 이해 할 수 있다. 

 

oFrontend Developer : 웹사이트 ui/ux 를 구현하시는 분들

oApp Developer : (웹사이트 개발과 앱 개발은 다르다)

oBackend Developer : 서버, api, 데이터베이스 

oFull Stack Developer : frontend + backend 둘다 할 수 있는. (풀스택 채용할 떄 조심해야될 것은 담당할 수 있는 범위가 넓긴 한데 깊이는 얕을 순 있음)

oData Scientist/Engineer (이 분들은 시스템 개발보다는 데이터 분석, 데이터 모델링)

oDevOps (Backend Developer) 백엔드 개발자인데, 인프라 스트럭쳐(서버관리, 자동화.. )

oProduct Manager (어떤 시스템을 만들 것인가? 비개발자)

oWeb Designer `

 

 

                                   front.

mobile

                       <<<<<<<<<<<API gateway <<<<<<< API (a, b, c...)   << database <<<< ETL/data pipeline 

web                                                                                                                      Machine Learning

                                                                                                                                       ...

 

 

web 기반의 서비스 구현에 필요한 개발팀 구성을 한다면? 

 

1. 프론트엔드 개발자 

2. 백엔드 개발자

3. 웹 디자이너

 

더 미니멀하게 할려면..

 

1. 풀스택 개발자

2. 웹 디자이너

 

더..... 미니멀하게 할려면..

 

1. 풀스택 개발자

 

App 기반의 서비스 구현에 필요한 개발팀 구성을 한다면? 

 

1. ios 개발자

2. 안드로이드 개발자

3. 백엔드 개발자 (데이터 처리 등) 

4. 웹 디자이너 (ux, ui 디자인 할)

 

미니멀하게 갈려면..

 

1. 리액트 네이티브 (프론트 개발자) 자바스크립트 이용해서 ios, 안드로이드 만들 수 있음. 

 

Web VS App ? 

 

-새로 시작하는 스타트업은 App보다는 Web 추천

  • 배포와 업데이트가 빠름.
  • app개발자보다 web개발자 수가 더 많음.

-app요즘 app을 예전보다 잘 사용하지 않는 추세.

-마케팅에 web이 더 유리함.

-어차피 web이 필요함 (앱을 개발한다고 해도, 랜딩 페이지 등..) 

-전화기의 기능이 필요한 경우에만 앱 추천.

 

몇년차를 채용 ?

 

나는 개발자 14년, 창업 4년..  

 

개발자 등급은 크게 3 등급.

 

1. 주니어 개발자 

  • 0~3년 경력.
  • 멘토 / 사수의 지도 아래 기능 구현. (사수가 큰 틀을 만들면 특정 기능을 구현하는게 주니어)
  • 예) 로그인 기능 구현, 유저 프로파일, 사진 업로드 기능 구현 등 (과 같은 특정 기능들)

2. 미들레벨 개발자

  • 3~7년 경력
  • 멘티에서 멘토로 성장하는 과정
  • 기능 뿐만이 아니라 전체적인 시스템, 디자인 및 인프라 구현 가능
  • 예) 웹 서비스를 개발부터 배포까지 완료

3. 시니어 개발자

  • 7년 이상.
  • 멘토 역할.
  • 단순 개발 뿐만이 아니라 최적화된 개발 가능. 
  • 시스템 장애 발생시 해결 및 복구.
  • 백엔드 개발자라면 DevOps도 가능.
  • 더 안정적이고 보안적인 웹 서비스 구현 가능.

4. CTO

  • 일반적으로 10년 이상(하지만 요즘은 젊은 CTO들 많음) 
  • 시니어 개발자가 하는 모든 것 + 전체적인 개발 관련 업무 및 개발팀 관리 (기술적인 역량 뿐만 아니라 비즈니스 마인드 셋까지 가지고 있음

 

만약 1명만 뽑는다면? 

  • 가능하면 당연히 CTO.
  • 재정적으로 가능하다면 시니어 개발자
  • 시니어 개발자가 어렵다면 5년 이상 경력의 미드레벨 개발자.
  • 첫 주니어 개발자를 첫 개발자 혹은 단독 개발자로 채용하는 건 리스크가 너무 큼.  이렇게 하지말 것

만약 2명만 뽑는다면? 

  • 최상의 조합> CTO + 시니어
  • 괜찮은 조합> CTO + 미드 개발자 / 2 시니어 
  • 일반적인 조합 > CTO + 주니어 / 시니어 + 미드 개발 / 시니어 + 주니어
  • 걱정되는 조합 > 2 주니어 (개발이 산으로 감..) > 개발자는 개발자대로, 주니어는 주니어대로 투덜.

외주 개발은 어떨까?

 

장점 : 내부 팀이 구축되지 않아도 서비스 개발 가능.

단점 : 퀄리티. 특히 저렴한 비용의 외주 개발은 낮은 퀄리티 산출물.

 

내부 개발팀이 구축되기 전에 프로토타입/MVP  구현이 필요한 경우 괜찮을 수 있는 옵션. 

 

만일 외주 개발을 하게 되면?

 

  • 사용되는 기술 스택을 확인해야한다. > PHP, 워드프레스 등의 기술을 사용하는 업체는 피하는 것이 좋음.
  • 소스 코드 잘 챙겨야한다. > 결국 남는 건 소스코드. 이게 남으면 어떻게든 해볼 수 있음. 가능하면 회사 깃헙 (github) 계정을 직접 만들어서 사용하게 하라.
  • AWS등 회사 클라우드 인프라스트럭쳐를 사용하게 하라.
  • Data 모델링은 직접하거나 최대한 관여하라. > 안좋은경우 한테이블에 모든 데이터를 넣음. 나중에 더 큰 확장을 하거나, 갈아엎을려고 할 때 굉장히 어렵다. 그런거 방지할려면 데이터 모델링 직접 관여해라.

프리랜서는 어떤가요?

 

  • 복불복이 심함. 그러므로 가급적 추천 하지 않음.
  • 대부분 2가지 중에 하나. 다수의 프로젝트를 동시에 하거나 vs 세컨트 잡으로 하는 개발자. 잠수도.. 쉽게
  • 개발 완료 미달하는 경우 많음.
  • 개발 후 서포트 불가능한 경우도 많음. 

 

제가 직접 개발하는 건?

 

  • 요즘 실제로 직접 개발 배우시는 창업자 분들 많음.
  • 개발팀 채용 및 관리에도 엄청난 도움.
  • 외주 업체를 사용하는 경우에도 많은 도움.
  • 장기적으로 개발과 기술에 많은 도움.
  • 가능하면 (상황이) 추천

 

 

아직 성장하는 스타트업이 개발자 채용시 팁. 

 

  • 발품을 팔아 직접 만나서 개인적인 관계를 맺어라.
  • 성장 가능성을 강조하라. (새로운 것을 처음부터 주도하고, 개발하고 싶어하는 욕구가 多) 이걸 이미 성장한 회사에서는 하기 어려움. 우리가 이렇게 지금부터 같이 개발하면 너네가 좋아하는 기술 써가면서 데이터 연동할거 엄청 많아지고 엄청 동접 많아지고 너 슈퍼개발자 될 수 있고.. 이런게 되게 로망임 개발자들한테. 한번쯤 내 인생에 스타트업에 도전해보자. 
  • 5년차 중에 특히.. 좋은 회사에서 일했으면 배울건 다 배웠다. 내 성장이 멈췄다. 이때 새로운 도전의 기회를 생각.. 이런 분들과 친분을 맺고..
  • 스톡옵션

 

개발자들 어디 있나요?

 

  • 지인 소개
  • 링크드인 (프로파일 가지고 있는 개발자 많음. 위치는 한국/소프트웨어 엔지니어 하면 콜드메일.. 이 방법은 나도 많이)
  • 개발자 커뮤니티(react korea, 프론트엔드 개발그룹, python korea, aws 한국사용자모임, 모두의연구소, 구글 개발자 그룹 GDG), 컨퍼런스 및 행사 (PYCON KOREA, fe conf, nexon developer conference, 네이버 컨퍼런스 deview)

좋은 개발자 어떻게 알아보나요?

  •  
  • 경력과 실력은 정비례 하지 않는다. (경력보다는 실제로 한 일들이 중요)
  • 학벌, 경력, 출신 회사 등은 의외로 좋은 잣대가 되지 못한다. 어떤 시스템을 만들어졌는지.
  • 나의 아이디어를 구현할 수 있는 기술적 청사진에 대해서 물어보라. (이런거 말해주는거 개발자 함 > 이 아이디어를 들었을 때 술술 얘기나옴)
  • 기술 블로그 쓰는 개발자. 공부를 많이. 자기 관리 많이.
  • github > 퍼블릭 프로파일 있음. 이 코드 액티비티 초록색이 많으면 코드를 많이 짜신 분. 
  • 기술서적 번역 / 출간 > 전문성이 당연히 있음
  • 개발 커뮤니티에서 활발한 활동 

엑스트라 팁스.

 

  • 위웤이나 이런 것들이 꽤나 복지로 생각함.
  • 창업자 / 리더십의 신뢰가는 이력. 개발자가 검색했을 때 창업자의 링크드인 프로파일 보거나, 기사 보거나, 영상 이런게 있으면 신뢰를 느낌. 검색을 했을때 나올만한 이력들이 채용에 많이 도움될거다.

 

개발자 협업

  • 피드백과 변경사항들을 수용할 수 있고
  • 원활한 커뮤니케이션을 진행할 수 있는
  • 유동성 중심의 프로젝트 운영을 할 수 있는 시스템이 필요하다.

스크럼. 

  • 에자일 방식의 개발 방법론- 스프린트 중심, 고객의 피드백 빠르게 반영하여 점차 서비스 발전시킬 수 있는 형태
  • 프로젝트를 사이클로 진행하는 것이 아니라 프로젝트 단위로 짧게 끊어서.. cumulative outcomes.
  • 진행방법은 1~4weeks. planning meeting. 스탠드업 미팅. 
  • 미국에서 스크럼을 안사용하는 회사를 본 적 없음. 
  • 스크럼은 전체 프로젝트를 여러개의 작은 full cycle로 돌아가는 것.

 

개발은 못해도 PM의 역할은 할 수 있어야 한다.

  • 개발 요구사항 정리.
  • what은 pm의 역할.
  • how는 개발팀의 역할.
  • 고객의 피드백을 제품 요구사항으로 반영.
  • 우선 순위 결정.

 

 

 

 

 

 

 

'경험노트' 카테고리의 다른 글

기생충 리뷰  (0) 2019.06.09
스톰벤처스 남태희  (0) 2019.05.31
홍합밸리 반려동물 데모데이  (0) 2019.05.15
스타일쉐어  (0) 2019.05.14
스윙비 최서진 대표  (0) 2019.05.13