[GN#33] 최소한의 노력으로 소프트웨어 스타트업 운영하기

2020-02-17 ~ 2020-02-23 사이의 주요 뉴스들
스타트업 운영은 어렵습니다. 작은 인원으로 많은 일들을 해야하고, 결정 하나하나가 회사의 앞날에 큰 영향을 주게 됩니다. 그래서 많은 사람들이 다른 성공한 스타트업들이 어떻게 어려운 날들을 헤쳐나갔나 궁금해합니다. 원격 판매등을 위한 화면공유 서비스를 제공하는 B2B SaaS 회사인 CrankWheel의 창업자가 5년동안 겪은 경험에 기반한 원칙들을 정리한 글을 추천합니다. 절대적으로 따라야할 규칙들은 아니지만, 기본으로 참고할 내용들이 많습니다.

"개발자를 구하는 대표님들께 바치는 글" 은 대표님들이 꼭 읽어보시도록 링크를 넌지시 보내 드리면 좋겠습니다.

매주 월요일 아침, 지난 일주일간의 GeekNews 중 엄선한 뉴스들을 이메일로 보내드립니다.


최소한의 노력으로 소프트웨어 스타트업 운영하기

CrankWheel 창업자가 5년동안 운영하며 겪은 것들을 "이렇게는 하지마세요" 라는 23가지 룰로 정리
#1 반복매출만이 살길
#2 년단위보다 월단위 가격 플랜으로
#3 No 후불
#4 가능하면 빌링+구독등을 아웃소싱
#5 No Freemium
#6 오늘을 희생하여 내일의 성공을 준비하지 말것
#7 단순하고, 익숙해서 지겨운 기술을 선택하세요
#8 안정적인 멀티벤더 플랫폼을 선택하세요
#9 매니지드 또는 공유 오피스를 선택하세요
#10 전화응답 대신해주는 서비스를 사용하세요
#11 큰 은행을 선택하세요
#12 회사구조는 가능한 간단하게
#13 장기적인 파트너가 될 회계사를 고르세요
#14 투자자를 들이지 마세요
#15 정부과제 하지마세요
#16 파트너쉽 맺지마세요
#17 특허 등록하는데 수고들이지 마세요
#18 인수하겠다는 말들 무시하세요
#19 모든 마케팅채널을 사용하려고 하지 마세요
#20 마케팅에 돈쓰기 보다 투자하세요
#21 큰 출시(Big Launch)를 하지 마세요
#22 전시회/컨퍼런스 나가지 마세요
#23 관련없는 연락들에 모두 답변하지 마세요

실제로 작성자는 회사 5년간 운영하면서 위의 원칙들을 대부분 지키지 않았다고 고백
여기에 나온 룰들을 깨뜨려야 한다면, 그것에 따른 손해를 확인하고 그를 최소화 하는 것이 중요.
규칙에 절대 라는 것은 없으니, 깰꺼는 깨더라도 본질에 집중하는것이 중요하다는 얘기

국내랑은 조금 다른부분도 있지만, 많이 공감가는 리스트 입니다.
반복매출/월단위 플랜/No Freemium/내일의 성공 준비하지 말기/단순한 기술/친한 회계사/투자받지 말기/마케팅에 투자하기
요 항목들이 제가 요즘 생각하는 방향과 잘 맞는거 같네요.

 
혹독한 조언이 나를 살릴까?

종종 혹독한 조언, 소위 뼈 때리는 조언을 해주기로 유명한 사람들이 있습니다. "좋은 약은 입에 쓰다"는 아포리즘으로 이 폭력성을 정당화하기도 합니다. 정말 이런 혹독함이 우리를 성장하게 할까요.

 
8년간의 사이드 프로젝트로 배운 것들

0. 언어만 배우는건 가치가 없다 - 쓸모있는 프로젝트를 만들며 언어를 배우는게 좋다
1. 언어를 만드는 것은 어렵지만 보상이 크다
2. 생각을 정리하는 것이 중요하지만, 생각을 이끌어내는 것이 더 까다롭다
3. 검색은 디버깅에도, 생각들을 유연하게 관리하는데에도 유용한 도구

개인의 자료들을 검색하는데 계속 여기저기서 나오는 도구 RipGrep https://github.com/BurntSushi/ripgrep
그걸 더 확장해서 PDF,E북,오피스문서,압축파일 내부까지 검색하는 RipGrep-All (RGA) https://github.com/phiresky/ripgrep-all
- RipGrep-All 은 윈도우/리눅스/맥(홈브루 기반) 에 설치됩니다.

그리고 이글에서 추천하는 Everything https://voidtools.com/support/everything/
(아쉽지만 윈도우 전용이네요 )

 
처음 발표를 준비하는 개발자들이 알아두면 좋을 것들

- 발표 슬라이드를 뭘로 만들까?
- 발표 내용을 어떻게 슬라이드로 옮길까?
- 발표 슬라이드를 다 만들었으니 발표 준비는 끝?
- 발표 당일이 되면?
- 발표를 마친 후

 
1대1 면담시 사용할 질문 리스트

약 300개 정도의 질문 모음
- 매니저 로서 물어보기
- 커리어 개발 관련
- 시작하는 질문
- 업무 만족도
- 팀과 회사에 대해
- 워라밸

 
BlurHash - 블러 처리된 이미지 플레이스홀더 생성기

- 이미지를 읽어서 블러 처리한 후 그걸 20~30 글자의 해쉬코드로 변환
- 웹/앱에서 이미지 읽기전 해쉬코드만 받아서 먼저 블러이미지 보여주고, 네트웍으로 이미지 받아서 표시.
- C/Swift/Kotlin/Python/Typescript 코드 제공
- Go/PHP/Java/Clojure/Rust/WASM 은 써드파티 구현체 있음

지금까지 본 이미지 플레이스홀더 처리중에서 가장 맘에 드는 방식이네요. 결과화면도 예쁘구요.
관리도구에서 이미지 올릴때마다 파일이름을 해쉬코드로 만들면 어떨까 생각했는데 base83 encoding 이 좀 걸리는군요.

 
개발자를 구하는 대표님들께 바치는 글

A 리크루팅은 있던 개발자가 하게
B 먼저 최소한의 자부심을 느끼는 회사가 되세요
C 후지게 운영하지 말고
D 헤드헌터랑도 친하세요
E 기술블로그 운영
F 내부 기술 오픈소스로 공개
G 외부 오픈소스에 기여
H 컨퍼런스 발표 독려
I 기술 스터디 모임 장려
J 개발자의 이런 활동을 업무로 인정
K 개발자 컨퍼런스 개최
L 개발 프로세스 개선
M 개발자 리쿠르팅 인센티브제 도입

그리고 대표님들이 학교에 가서 할일들 까지..

"개발자 구하기는 원래 어렵다. 잘하는데 노는 개발자는 없고, 잘 할 가능성은 높은데 숨어있는 친구들은 있다. 개발자는 나랏님도 못 구해준다. 대표님만(이) 움직이면 절대 못구한다. 정말이다.

대표님은 돈만 좀 쓰시고,
우리 회사의 개발자들을 커뮤니티로, 학교로 내보내자."

 
Taiko - 웹앱 테스트용 브라우저 자동화 라이브러리

- 쉬운 API를 가진 node.js 라이브러리
- 크롬/엣지 브라우저를 JS코드로 컨트롤
- 인터랙티브 레코딩을 위한 REPL 내장
- 스마트 셀렉터로 쉽게 개체 선택
- XHR/동적 컨텐츠 전송 대기 가능
- 인터셉트API로 Request/Response 를 stubbing/mocking 가능

await openBrowser();
await goto("https://google.com);
await write("geeknews ");
await press("Enter");
await click(checkBox(near("GeekNews - 기술/스타트업 뉴스 서비스")));
await screenshot({path: 'geeknews.png'});
await closeBrowser();

코드 간결하고 좋네요

 
3년 후, 다시 만난 기능 공장

https://news.hada.io/topic?id=1530

해당글을 번역하셨던분께서 추가로 작성하신 글입니다.
원글 분도 3년이 지난뒤에 대한 내용을 회사 블로그에 추가해놨다고 하시네요.

https://amplitude.com/blog/…

원글

 
당신의 소스코드를 오케스트라로 들어보세요

웹에서 소스로 훌륭한 오케스트라 연주를 만들어 주는 오픈소스
TypeScript Parser로 분석하여 음악의 무드를 결정
행복한 단어들이 많으면 장조로, 슬프면 단조로
피아노,첼로,드럼,플룻,하프,투바,베이스,코러스까지

예상외로 음악 품질이 너무 좋아서 놀랐네요
연주가 끝나면 해당 음악을 ogg 파일로 다운도 받을 수 있습니다

자바스크립트를 대상으로 한다고 적혀있지만, C++,Java,PHP 코드 다 넣어도 동작합니다.

 
뉴모피즘은 새로운 UI트렌드가 될 수 있을까 ?

- 플랫/머티리얼 디자인의 대안으로 떠오른 뉴모피즘 (New skeuomorphism)
- 머티리얼 디자인과의 시각적 차이점
- 에어비앤비로 뉴모피즘 해보기
- Flat UI의 간략한 연대기
- 그럼에도 불구하고 응원하는 까닭

 
Chardin.js - 사용법을 화면에 오버레이로 보여주기

- 현재 페이지를 어둡게 하고 그 위에 사용법을 깔끔한 오버레이로 표시
- 클릭당 단계가 넘어가게 처리가능
- data속성에 설명의 위치,내용을 지정하는 방식
- json으로 설명만 모은 파일을 로딩하는 것도 가능

만들어진지 7년된 라이브러리인데 최근에 새로 커밋이 올라오기 시작.
이런 라이브러리가 여러개 있는데, 아직까지도 한번에 보여주는 이 방식이 제일 맘에 드네요.
다른것들은 버튼으로 단계별 이동하는 방식이라 사용자 입장에서 귀찮거든요.
- Intro.js https://introjs.com/
- Driver.js https://kamranahmed.info/driver.js/
- Shepherd https://github.com/shipshapecode/shepherd

 
Marketplace 100

a16z가 미래엔 어떤 마켓플레이스(구매자/판매자를 연결하는)들이 나타날 것인지 알기 위해,
데이터를 통해 현재의 소비자 대상 마켓플레이스 스타트업을 리스팅/조사/분석한 내용.
- a16z도 잘 모르는 회사들이 많아 놀랍고,
- 100개중 4개 회사(Airbnb,InstaCart,DoorDash,Postmates)의 소비자 지출비용이 전체의 76%를 차지
- 여행,음식,식료품이 가장 큰 카테고리
- 신규 인디 브랜드 (Faire), 유명인들 제품판매 (Cameo) , 길거리 패션 ( GOAT, StockX, Stadium Goods ), 피트니스 멤버쉽, 자동차 세차 (EverWash) 등이 흥미로움
- 가장 빠르게 성장하는 마켓플레이스들은 년3배에서 5배씩 성장중
~~
Second Measure 라는 데이터 분석회사의 4,500 공개/비공개 판매자들의 2018.12 ~ 2019.11기간동안 판매정보를 가지고 생성 했으므로, 제한적인 데이터 일수 있음. 특히 미국에 한정적.

 
흥미로운 데이터 엔지니어링 프로젝트들 5개

- dbt : ETL중 T를 깊게 판 data build tool
- Prefect : airflow 의 대체제
- Dask : 파이썬용 병렬 컴퓨팅 라이브러리
- DVC : Data Version Control
- Great Expectations : 데이터셋 Assertion 도구

 
Marketplace 회사를 위한 지표들

소비자/판매자가 있는 서비스에서 봐야할 지표들 13개 와 상세 설명
- 매치율(성사율) : 양쪽의 요구사항이 잘 매칭되는가 ?
- 마켓 Depth : 얼마나 많은 상품이 등록되어 있는가 ?
- Time to Match : 성사에 걸리는 시간, 재고회전율
- 수요/공급의 집중 및 분산
- Take Rate : GMV 에서 수수료들 제하고 실제로 회사가 얼마나 가져가는가 ?
- Unit Economics : 비즈니스 단위당 매출/비용. 네트워크 효과에 의한 개선부분이 여기에 종종 보임. 사업이 정말 잘 되고 있는가 ?
- Multi-Tenanting : 사용자들이 비슷한 다른 서비스를 얼마나 같이 사용하는가. 동종 서비스에는 얼마나 많은 사용자들이 있는가
- Switching or Multi-Homing Costs : 사용하는 네트워크를 바꾸거나 여러개를 동시 사용하는 경우에 드는 비용
- User Retention Cohorts : 신규 사용자 코호트가 점차 개선 되는가 ?
- Core Action retention Cohorts : 주요 액션을 취한 사용자들의 코호트가 개선 되고 있는가 ?
- Paid User Retention Cohorts : 신규 유료 사용자의 코호트는 ?
- 위치/지역별 코호트
- Power User Curve : 파워/헤비 사용자들의 사용시간이 증가하고 있나 ?

관련해서 a16z가 예전에 작성했던 "스타트업을 위한 16가지 지표" 번역글 https://brunch.co.kr/@wjchee/6

a16z 의 "16 More Startup Metrics" 번역글 https://aliahn.tistory.com/61

 
구글 Teachable Machine - 코딩없이 머신러닝 모델 만들기

- 사진, 소리, 인체 동작 등을 인식 및 구분 하는 모델 생성
- 별도 코딩없이 자료 파일 업로드/웹캠/마이크 등으로 데이터 입력만 하면 가능
- 만들어진 모델은 TensorFlow 로 Export해서 사용가능
- TensorFlow + ML5.JS + P5.js + Coral + Framer + NodeJS + Glitch

바나나가 익었는지 확인하는 모델 만들기 예제. 웹캠으로 학습데이터 만드는 부분이 재미나네요
https://medium.com/@warronbebster/…