아마도 나는 미루고 있는 중이다
원문은 Michael Lynch님이 에 게재했습니다. 이 블로그 구독하기
한 줄 요약
고객과 대화하는 데 더 많은 시간을 써야 한다.
하이라이트
- Zestful 웹사이트를 조금 손봤더니 며칠 만에 구글 검색 첫 페이지에 올랐다.
- 수십 년 된 기계 공방 관리용 애플리케이션을 더 나은 버전으로 만들어 보려 한다.
- 고객과 대화하는 것을 피하려고 코딩만 열심히 하고 있다.
목표 평가
매달 초에 달성하고 싶은 목표를 공개한다. 이번 달 목표를 얼마나 달성했는지는 다음과 같다:
이메일과 소셜 미디어로 인한 방해 요소 제거에 대한 새 블로그 글 발행하기
예정대로 글을 발행했지만 반응이 예상보다 훨씬 적어 놀랐다. 그동안은 주제가 너무 좁아 널리 주목받기 어렵다는 걸 알면서도 글을 써 왔는데, 이번에는 소셜 미디어 시대의 집중력에 관한 글이라 더 많은 관심을 끌 줄 알았다.
Reddit과 Twitter에서 약간의 반응은 있었지만 전체적으로 많은 독자를 끌어오지는 못했다(지금까지 총 800명 정도).
긍정적인 부분은 글을 읽은 사람들에게서는 좋은 피드백을 들었다는 점이다. 몇몇은 글에서 얻은 팁 덕분에 생산성이 좋아졌다고 말해줘서 보람이 있었다.
새로운 비즈니스 아이템을 위해 고객 5명 인터뷰하기
- 결과: 고객 3명 인터뷰
- 평점: C
넓게 봐주면 세 건의 고객 인터뷰를 했다고 할 수 있지만, ‘고객 인터뷰’에 대한 매우 관대한 정의에서다. 진짜 고객 인터뷰는 한 건뿐이었다. 다른 하나는 고객이 될 가능성이 낮은 사람과의 일반적인 미팅이었고, 마지막 하나는 짧은 대면 대화와 12월에 다시 연락하자는 초대였다.
이번 달의 유일한 진짜 목표가 고객 인터뷰였던 걸 감안하면 세 건은 매우 적다. 부분적으로는 내가 영업을 꺼리고 코드로 문제를 해결하려는 성향 때문이기도 하다. 또 이 일은 네트워킹을 요구하는데, 아무런 연고 없이 네트워킹을 시작하는 건 어렵다는 문제도 있다.
통계
Is It Keto
| 지표 | 2019년 10월 | 2019년 11월 | 변화 |
|---|---|---|---|
| 순 방문자 | 26,315 | 27,981 | +1,666 (+6%) |
| 총 페이지뷰 | 66,578 | 69,090 | +2,512 (+4%) |
| 도메인 권위 (Moz) | 13 | 14 | +1 (+8%) |
| 순위 키워드 (Moz) | 1,574 | 1,654 | +80 (+5%) |
| AdSense 수익 | $75.65 | $151.07 | +$75.42 (+100%) |
| Amazon 제휴 수익 | $159.02 | $118.00 | -$41.02 (-26%) |
| 식단 판매 | $23.87 | $0.00 | -$23.87 (-100%) |
| 총 수익 | $258.54 | $269.07 | +$10.53 (+4%) |
상황이 조금씩 나아지고는 있지만, 10~12월은 다이어트 관련 웹사이트에는 일년 중 최악의 시기라고 생각한다. 새해 결심으로 키토 다이어트를 알아보는 사람들이 늘면서 1월에는 큰 폭의 급증이 있을 것으로 기대한다.
Amazon 제휴 수익은 트래픽이 지금의 절반 수준이던 5월 이후 가장 낮은 수준으로 떨어졌다. AdSense 수익은 AdSense 연동 버그를 고치면서 소폭 상승했다. 수정 사항이 11월 중순에 반영됐기 때문에, 한 달 내내 수정된 상태로 운영될 다음 달에는 AdSense 수익이 더 크게 오를 것으로 기대한다. 식단은 여전히 판매 중이지만 사실상 판매 노력은 거의 중단한 상태다(자세한 내용은 아래에서).
Zestful
| 지표 | 2019년 10월 | 2019년 11월 | 변화 |
|---|---|---|---|
| 총 수익 | $3.89 | $65.33 | +$61.44 (+1,580%) |
Zestful은 지난 몇 달 동안 천천히 성장하고 있다. 과거에도 수익이 크게 뛴 달이 몇 번 있었지만, 보통은 한 번에 대량의 작업을 처리하려는 사용자들이 몰려서 생긴 일시적인 현상이었다. 최근 몇 달간은 여러 다른 사용자들이 꾸준히, 점진적으로 사용량을 늘려가고 있다.
식단 판매 포기하기
지난 몇 달 동안 Is It Keto에서 식단 판매 가능성을 모색해 왔지만 생각보다 훨씬 어려웠다. 10월에는 수수료를 제외하고 총 23.87달러어치, 단 두 건만 팔렸다. 판매 페이지를 여러 번 손보고 가격을 조정했으며 사이트 다른 곳에서 판매 페이지로 유입을 유도하도록 바꿔 봤지만 아무것도 효과가 없는 듯했다.
11월에는 판매 페이지에 몇 가지 시도를 더 해봤다:
- 식단 중 하나에 사진을 추가했다
- 고객 후기를 추가했다
- “Download” 버튼에서 가격 표시를 제거했다
하지만 그 어떤 변화도 효과가 없었다.
특히 구매 버튼 문구를 “Download PDF”로 바꿨는데도 클릭 수가 그대로 낮게 유지됐을 때 의욕이 크게 꺾였다. 그 정도면 사용자가 무료 다운로드라고 착각할 수도 있는데도 여전히 클릭하지 않았다.

다운로드 버튼에서 가격 제거하기
분명 성공적으로 판매할 방법도 있을 것이다. 하지만 이미 6주 이상을 쏟아부었고, 너무 오래 끌었다는 느낌이 들었다. AdSense 광고 일부를 식단 광고로 교체했었는데, 그대로 AdSense를 유지했더라면 훨씬 더 많은 수익을 올렸을 것이다. 그래서 자체 광고는 없앴다. 또 사이트 메인 내비게이션 바에서 “Meal Plans” 메뉴를 빼고, 홈페이지에서도 블로그 언급을 제외하고는 모두 제거했다.
오기로 Zestful 웹사이트 갈아엎기
Zestful 웹사이트는 작년에 만들었는데, 2주 내내 고통이었다. 주로 당시에 내가 아는 유일한 프론트엔드 프레임워크였던 Angular로 만들었기 때문이다(…‘알았다’고 할 수 있다면). 그 이후 Vue.js를 배우게 됐는데, 나는 Vue를 훨씬 선호하고 웹 디자인 경험도 훨씬 더 쌓였다.
그럼에도 Zestful 웹사이트는 계속 Angular 사이트로 남아 있었다. Vue로 완전히 갈아엎고 싶어 안달이 났지만, 거의 손대지 않는 웹사이트를 처음부터 다시 만드는 걸 정당화할 수가 없었다.
그러다 구글 검색 결과를 들여다봤다. parse ingredients 검색어로 찾아보니 Zestful은 3페이지에 나왔다. 사실상 보이지 않는 것이나 마찬가지다. 더 짜증 나는 건 1페이지에 Zestful 경쟁사가 떠 있었다는 점이다. 재료 파싱을 전문 서비스로 제공하는 유일한 다른 회사였다.

검색 결과에서 Zestful을 앞지르고 있던 경쟁사
경쟁 서비스를 테스트해보니 그들도 내가 Zestful을 만든 방식과 똑같이 만들었다는 걸 알 수 있었다. 오래된 오픈소스 라이브러리를 웹 UI로 감싼 것이다. 다만 그들은 내가 했던 것처럼 추가로 개발하거나 버그를 고치거나 기능을 덧붙이지는 않았다.
그래서 그들이 검색 결과에서 꾸준히 나를 앞서는 게 신경 쓰였다. 이유를 도저히 알 수 없었다! Zestful을 링크한 사이트가 더 많았고, 콘텐츠도 더 많으며 업데이트도 더 자주 했다. 내가 떠올릴 수 있는 유일한 설명은 Zestful은 클라이언트 사이드 렌더링이고 경쟁사 사이트는 서버 사이드 렌더링이라는 점이었다. 즉, 그들은 서버에서 채워야 하는 SEO 관련 HTML 태그를 제대로 채울 수 있다는 뜻이었다.
Zestful 사이트에 서버 사이드 렌더링을 적용할 방법을 고민했다. Angular는 Angular Universal을 통해 이를 지원하지만, 예전에 KetoHub를 Angular Universal로 옮기려다 일주일 넘게 허비하고 성과 없이 끝난 적이 있다. 게다가 Angular라는 구덩이에 더 깊이 빠지고 싶지도 않았다.
Vue에는 Nuxt라는 서버 사이드 렌더링 솔루션이 있지만, 몇 페이지의 서버 렌더링을 위해 Node 서버 전체를 돌린다는 발상은 별로 내키지 않았다. 좀 더 자세히 보니 Nuxt가 정적 생성 페이지를 지원한다는 걸 알게 됐다. 즉, HTML 파일 몇 개를 미리 생성해 단순한 정적 호스팅(이 블로그를 호스팅하는 방식)으로 서비스할 수 있다는 뜻이었다. 그러면서도 Vue의 툴링과 정적 사이트의 편리함을 모두 누릴 수 있었다.
Nuxt로 간단하게 정적 페이지를 생성하는 좋은 예제를 찾지 못했지만, 시행착오 끝에 직접 hello world 예제를 동작시키는 데 성공했다. 그리고 하루 반 동안 무아지경으로 코딩에 몰두해 Zestful 웹사이트를 Angular에서 Vue + Nuxt로 포팅했다. 이제 Zestful에는 <link rel="canonical" ...>나 페이지별 <title> 태그 같은 적절한 서버 사이드 태그가 모두 들어간다.
UI를 새로 디자인하려는 건 아니었지만, CSS 프레임워크도 Material Design에서 Bootstrap으로 바꾸면서 CSS 상당 부분을 처음부터 다시 구현해야 했다. Zestful을 디자인하던 때보다 CSS 경험이 훨씬 늘었기 때문에, 이전 디자인에서 거슬렸던 자잘한 부분들을 이번 기회에 고쳤다:

검색 결과에서 Zestful을 앞지르고 있던 경쟁사
며칠 뒤 구글에서 “parse ingredients”를 검색해 보니 이런 결과가 나왔다:

Zestful이 구글 검색 첫 페이지로 올라섰다
우와, 첫 페이지다! 그리고 이번에 다시 쓰게 만든 그 경쟁사보다 한 계단 위에 있다.
사실 좀 의심스럽기도 하다. 이렇게 갑작스럽고 극적으로 구글 순위에 영향을 준 변화를 본 적이 없기 때문이다. 낙관적인 마음으로 Google Search Console을 지켜보며 이번 개편 이후 장기적으로 지표가 어떻게 바뀌는지 모니터링하고 있다.
하지만 이 모든 건 미루기다
Zestful과 Is It Keto를 만지작거리는 건 생산적으로 보이지만, 새로운 큰 한 방 아이디어를 찾는다는 상위 목표에는 도움이 되지 않는다. 한 달을 돌아보니 코딩 작업에 너무 많은 시간을 쓰고 고객 발굴에는 너무 적은 시간을 썼다.
다만 결과물만 보면 조금 왜곡돼 보일 수도 있다. 행사에 참석하고 회사들을 조사하는 데도 시간을 쓰긴 했지만, 결국 대부분의 후보를 제외하게 되어 그런 활동에서는 눈에 보이는 성과가 적게 남았다.
소프트웨어 사업 아이디어를 찾을 때의 단절 문제
내 사업을 운영하면서 크게 깨달음을 얻은 순간 중 하나는 Rob Walling의 책 Start Small, Stay Small(내 노트)를 읽었을 때였다. 그는 1인 개발자의 강점은 틈새 시장을 위한 솔루션을 만들어도 충분히 수익을 낼 수 있다는 점이라고 지적했다.
Walling은 프리랜서 웹 개발자를 위한 회계 소프트웨어를 만드는 회사를 예로 들었다. QuickBooks나 Xero 같은 거대 경쟁사가 있음에도, 그 특화 회계 소프트웨어는 웹 개발자들이 자신들의 특수한 필요에 맞춘 제품에 기꺼이 비용을 지불하기 때문에 성공한다. 따라서 Walling의 조언은 작은 틈새 비즈니스를 위한 소프트웨어를 만들라는 것이다.
내가 배우고 있는 점은, 그 틈새와 연결되는 것이 과제라는 것이다.
예를 들어 당신이 커스텀 자동차 정비소를 운영한다고 해보자. 전국 각지의 다양한 소규모 공급업체들로부터 자동차 부품을 구매해야 하는데, 업체마다 결제 시스템과 주문 절차가 제각각이다. 회계 처리를 제대로 하려면 이메일을 샅샅이 뒤져 영수증마다 회계 소프트웨어에 입력해야 한다.

이 자동차 정비소에 더 나은 소프트웨어가 있었다면 저 철제 캐비닛은 덜 지저분했을 것이다.
개발자 입장에서 보면 소프트웨어로 해결할 수 있는 문제가 몇 가지 보인다. 예를 들어 정비소 사장이 영수증을 당신에게 전달하면 자동으로 파싱해 고객의 QuickBooks 계정으로 데이터를 가져오는 서비스를 만들 수도 있다. 혹은 좀 더 야심 차게, 사장이 여러 웹사이트를 뒤져 부품을 찾지 않아도 되도록 커스텀 자동차 부품 마켓플레이스를 만들 수도 있다.
하지만 여기에 단절 문제가 있다! 커스텀 정비소 사장 입장에서는 누군가가 이런 문제를 소프트웨어로 해결해 줄 수 있다는 생각조차 들지 않을 수 있다. 자신의 업무 방식에 너무 익숙해진 나머지 애초에 문제 자체를 인식하지 못할 수도 있다.
개발자인 나는 그들의 업무 흐름과 고충을 모르기 때문에 사업주가 이런 문제를 겪고 있다는 사실을 알아낼 방법이 없다. 물론 물어볼 수는 있지만, 제안 자체가 좀 이상하게 들린다:
나: 사업 운영에서 비용이 많이 들거나 지루한 부분을 자동화하는 소프트웨어 제품을 판매하고 싶습니다.
사업주: 좋네요! 그 소프트웨어는 뭘 하는데요?
나: 모르겠습니다.
사업주: …?
나: 어떤 소프트웨어가 필요한지 모르니, 알아내려면 당신이 몇 시간을 들여 낯선 사람인 저에게 사업을 설명해 주셔야 합니다.
사업주: …
나: 그리고 제가 수익성 있는 기회가 없다고 판단할 가능성도 높아서, 결국 당신의 문제를 해결해 주는 제품을 아무것도 만들지 않게 될 수도 있습니다.
사업주: [경비원을 부른다]
지금 내가 부딪히고 있는 상황이 대략 이렇다. 내 주변에도 내가 소프트웨어 제품을 만들어 주면 돈을 낼 의향이 있는 사업체가 분명 많을 텐데, 나는 그들의 존재조차 모른다. 그리고 새로운 소프트웨어 솔루션의 혜택을 받을 것 같다고 생각되는 업체를 찾더라도, 그들이 몇 시간을 들여 일을 설명해 주기 전까지는 내가 제공할 가치를 증명할 방법이 없다.
여담: 내가 지어낸 저 정비소 예시가 사실은 꽤 괜찮은 아이디어일지도 모른다!
스스로에게 메모: 커스텀 자동차 정비소를 조사해 보자.
기계 공방 인터뷰하기
지역 업체들을 물색하던 중, 주변의 작은 회사들 웹사이트가 모두 같은 웹 디자이너인 Montague WebWorks의 작품이라는 걸 알게 됐다. 소유주인 Mik에게 이메일을 보내 작은 지역 비즈니스를 위한 소프트웨어를 만들고 싶어 하는데 조언을 구하고 싶다고 했다. 그는 친절하게 사무실로 초대해 줬고, 대화 중에 지역 스타트업을 위한 자금과 멘토링을 제공하는 조직인 Valley Venture Mentors를 알아보라고 추천해 줬다.
Valley Venture Mentors 행사에 참석해 한 기계 공방의 소유주를 만났다. 기계 공방용으로 나와 있는 소프트웨어 옵션에 대해 이야기를 나눴는데, 수준이 꽤 낮아 보였다. 가장 인기 있는 제품 중 하나는 제품 데모를 보면 1994년에서 타임머신을 타고 온 것처럼 생긴 JobBOSS라는 애플리케이션이다. 데모 영상을 보면 애플리케이션 전체가 SQL 데이터베이스 위에 얇은 UI를 씌운 수준으로 보인다.

기계 공방 직원들은 정말 데이터베이스 관리를 좋아할까?
상당히 비대하고 복잡해 보여서, 좀 더 좁은 사용 사례에 맞춘 더 단순한 JobBOSS 버전에 돈을 낼 의향이 있는 기계 공방을 찾을 수 있기를 기대하고 있다.
12월 목표는 이런 소프트웨어를 사용하는 기계 공방에 접근해 기존 프로세스와 소프트웨어에 대해 좋았던 점과 싫었던 점을 인터뷰하는 것이다.
추천
마지막으로 이번 달에 발견한 재미있는 것 두 가지를 소개한다:
Firefox에서 전체 페이지 스크린샷 찍기
나는 웹사이트 스크린샷을 자주 찍는데, 관련 정보를 한 화면에 모두 담기가 어렵다. 뷰포트가 아주 작은 모바일 웹사이트를 찍을 때는 특히 더 어렵다. 그러다 Firefox의 컨텍스트 메뉴에 “Take a Screenshot” 항목이 있는 걸 발견했다.

Firefox의 놀라운 내장 스크린샷 기능
두 번 클릭으로 전체 페이지를 저장할 수 있다:

Firefox에서는 보이는 부분뿐만 아니라 전체 페이지를 스크린샷으로 찍을 수 있다
Is It Keto 홈페이지 전체를 모바일에서 여러 장의 스크린샷을 이어 붙이지 않고도 한 번에 찍을 수 있다. 정말 편리한 기능이다!
Bruno Simon의 3D 이력서
웹 개발자 Bruno Simon은 자신의 포트폴리오 페이지를 멋진 3D 드라이빙 게임으로 만들었다. 플러그인 없이 브라우저에서 완전히 구동되는 게임치고는 놀랍도록 성능이 좋고, 몇 분 동안 둘러보기에 정말 즐겁다.
힘들지만 즐거웠던 수개월의 작업 끝에 마침내 새 포트폴리오를 공개하게 되어 기쁩니다 🚗https://t.co/rVPv9oVMud
#threeJS와 #canonJS로 만들었습니다 pic.twitter.com/zrq8rpILq1— Bruno (@bruno_simon) 2019년 10월 24일
마무리
무엇을 했나?
- Zestful 웹사이트를 Nuxt + Vue로 다시 작성해 사전 렌더링되고 SEO 친화적으로 만들었다.
- 블로그 글 “Eliminating Distractions from Social Media, Email, and StackOverflow”를 발행했다.
- Is It Keto의 Jinja 템플릿을 리팩터링했고, 그 과정에서 몇 가지 버그를 발견해 UI 일부를 정리할 수 있었다.
- Is It Keto에 네 편의 새 글을 검토하고 발행했다.
배운 점
- 미루지 말고 더 많은 고객과 대화하러 가라.
- 서버 사이드 렌더링이 검색 엔진 순위에 큰 차이를 만드는 것 같다.
다음 달 목표
- 고객 인터뷰 5회 진행하기.
- Vue 사전 렌더링을 이용한 Hello World의 세부 내용을 설명하는 새 블로그 글 발행하기.
- Is It Keto 글 두 편 발행하기.
자동차 정비소 사진: Unsplash, NeONBRAND 제공.
글을 무작위로 읽기
댓글
로그인하고 댓글 남기기