ネイチャーエンジニアの足あと

ネイチャーエンジニアが経験した、事業・自然・エンジニアリングに関する情報を発信します。

エンジニアが独立してサービス開発する時の落とし穴!【プログラミングとコンテンツ制作の違い】

会社で前線でサービス開発や運用に携わって、エンジニアとして技術も経験も積めた。

サービス作りに成功したら稼げるし、そろそろ独立に挑戦してみようかな!?

サービス作りに挑戦してみたものの、うまくいかない…

いったい何がいけないんだろう?


こんな方に向けて記事を書きます。


ネイチャーエンジニアの亀田です。


僕はフリーランスエンジニアとして独立して2年ほど。


以下のようなアプリを1人で開発し、配信しています。

https://developer.nature-engineer.com/apps


僕は会社員で10年ほどエンジニア経験を積み、大きなサービスの開発・運用や、プロジェクトマネジメントにも関わってきました。


また、会社員時代に個人アプリもリリースして、3万ダウンロードほどされた経験がありました。


そんなこともあり、独立時は「アプリ作りに時間を集中すれば、それで生活できるようになるのではないか」という甘い考えが。


独立後にアプリ配信を開始したものの、ユーザーが継続的に遊んでくれない


その原因は、「エンジニアリングとモノづくりの違い」を理解していなかったこと。


これが分かった後、僕はアプリ作りの考えを見直しました


まだまだ大きなヒットというには程遠いですが、少しずつ改善されたという経験があります。


というわけで今回は、


  • プログラミングとモノづくり(コンテンツ制作)の違い
  • 会社で開発したサービスがユーザーに使われる理由
  • 個人サービス開発におけるエンジニアのアドバンテージ


をお伝えします。




 

プログラミングとモノづくりの違い

f:id:kkamedev:20180712161414j:plain

プログラミング」と「モノづくり」の違い。


実は違いというか、「プログラミング」「エンジニアリング」は、モノづくりの工程の一部です。


モノづくりは、「企画」「プログラミング」といった工程を経て、成果物である「コンテンツ」「サービス」が作られます。


まとめると、以下のようになります。

f:id:kkamedev:20181014211500j:plain


なお、コンテンツを完成させるだけでは、そのコンテンツを使ってもらうことはできないので、「ユーザーに届ける」「継続的に使ってもらう」ための作業もモノづくりと言えます。


それを考えると、以下の業務もモノづくりに含まれていると言えます。

・マーケティング
・セールス
・サポート


サービス開発に携わったことがあれば、「当たり前じゃん」と思うかもしれません。


でも、理解しているのはうわべのみで、本質的にはわかっていない事もあるように思います。


というより、僕がそうでした


会社で企画が出た時に、「この画面、今風じゃなくない?

プランナーが作るデータを見て、「なんでこんな無駄に複雑に作るの?


なんてことを頻繁に感じていたら、理解できていない可能性があります。

会社で開発したサービスがユーザーに使われる理由

f:id:kkamedev:20180712170724p:plain

会社で開発したサービスがユーザーに使われるのは、

ユーザーに有益な何かを与えているから

です。


でも、それができるのは、あなただけの力ではありません


社内の誰か(複数人)が、いろんな視点でユーザーのことを考えてくれているからです。


常にタイトなスケジュールに追われながら、タスクを終わらせることに頑張っている開発者」ほど、その目線が失われがち。


なぜなら会社では、「スケジュールの厳しいタスクをなんとか終わらせてくれるエンジニアは評価される」んです。

ユーザー目線が失われている例

例えば、チーム開発していると、こんなことを思ったり、言ったことはありませんか?


■ 例1. プランナーやマネージャーから開発する機能の仕様を伝えられた時

開発効率の悪い仕様にするなあ。こういう仕様にすれば効率的なのに


実はその仕様、作るのは複雑かもしれないけど、「ユーザー」にとっては大事な要素かもしれません。


■ 例2. 画面のデザインが出てきた時

UIが古臭くてダサい。もっとイケてる最先端のデザインにすれば良いのに


ユーザーは本当に最先端を望んでいますか?


ユーザーが使いやすい画面を考えた上での意見でしょうか?


例を2つほど出しましたが、近しい経験はなかったでしょうか?


会社では、個人で開発するよりも人的リソースが多いので、役割分担されます


「プランナーが企画」して、
「エンジニアは仕様に合わせて開発」する、
とそれぞれのタスクをスペシャリストが対応します。


専門家じゃない人も含めてみんなで「企画」「開発」してたら、はっきり言って効率が悪いですからね。


極論を言うと、ある程度の規模がある会社では、エンジニアはユーザー目線を持ってなくてもOKなんです。


なので会社員のエンジニアは、「技術的知見」「効率化」に注力した方が評価されるんです。


それに対して個人開発の場合は、今まで他の人がやってくれていた「ユーザー目線」が必要になります。


これを分からずに会社員感覚でリリースしても、多くの場合、サービスはユーザーに届かないと思います。

独立したら自分が他の役割の目線を持たなくてはならない

僕が独立後はじめてリリースした時の話です。


僕はゲームアプリを作りましたが、そのゲームデータを作った時。


1日に平均的に◯回くらい遊んで、平均的にはこれくらいのアイテムを得るはずだから…

と計算して、論理的にはそれっぽい形にしてリリースしました


結果、そのゲームの継続率はとても低かったのです。


それは、自分がユーザー目線でゲームをやっておらず、理論上の数字のみでゲームを作ったから。


その時はリリース後に大幅なバランス調整を何度もしました。


そしてデータの動きを見ながら、ちょっとずつ試行錯誤して改善することで、少しずつ遊ばれるようになりました。


今でも、毎度バランス調整には失敗が多いですが、ユーザーの気持ちを意識するようになったことで、以前よりキャッチアップが早くなりました


このように、個人開発すると、今まで自分が経験していなかったことが見えてきます。


上の例では「ユーザー目線」について話しましたが、目線だけでなく「それを形にするスキル」も必要です。


例えば、「ユーザー目線」を意識することでその画面が良いかどうか判断できるようになったとしても、「ユーザーが良いと思える画面をデザインできるスキル」が自分にあるかどうかは別です。


解決策として、

・自分がそのスキルを身につける
・協力者(相談できる仲間 or アウトソーシング)を見つける

といったことを考える必要があります。

個人サービス開発におけるエンジニアのアドバンテージ

f:id:kkamedev:20180623164718j:plain

今まで述べてきたように、1人開発ではやることも多くなります。


しかし、エンジニアならではの大きなアドバンテージが2つあります。


それは、以下の2点。

1. 資金を稼ぎやすい
2. サービス開発する時間を短くできる


1. 資金を稼ぎやすい

エンジニアは、高収入の仕事を見つけやすいという利点があります。


以下の記事でも書きましたが、アプリを作ったとして、いざ世にリリースをしてもすぐに稼げるようになるわけではありません


サービスがユーザーに使われるようになるまでの間の、生活・開発資金が必要です。


その点エンジニアは、他の職種に比べて「高単価」な仕事を「見つけすい」です。


例えば職種がプランナーだと週5で労働しなくてはならないのに、エンジニアなら週3で可能だったりします。


それはすなわち、自分のサービス開発に使える時間が増えるということ。


さらにチャレンジして失敗した結果、路頭に迷うリスクも少ない、というアドバンテージがあるのです。

2. サービス開発する時間を短くできる

サービスを世に出すにあたって、一番時間(=コスト)が掛かるのはやはり制作工程です


エンジニアであれば、その時間を短くすることができます


例えば、

  • バージョンアップに掛かる時間
  • バグ修正に掛かる時間
  • テストの自動化

など


エンジニア以外の職種で同じことをやった時、かかる時間の差は大きいと思います。


逆に開発以外の作業は、できるだけサービス利用やアウトソーシングを考えると良いです。


なぜなら、「開発時間の創出」は、それくらい大事なことだから。


時間を短くできることの最大のアドバンテージは「チャレンジ回数が増える」こと。


サービスを一発で当てることなんて、よほどの運がない限りできません。


しかも、そのラッキーパンチを継続的に出すなんてほぼ無理です。


成功の精度を上げるには、多くの試行が必要なのです


つまり、チャレンジ回数を増やせるということは、成功までの時間も短くできるということなのです。

アドバンテージがまだない場合は、アドバンテージを作ろう

説明してきた通り、エンジニアは個人サービスにチャレンジする上で大変有利。


さらに、エンジニアとしてのスキルが高いほど、

  • 高単価の案件を受注しやすい
  • 開発速度が早い

と、上記のアドバンテージはより高まります。


一方、一定レベルのスキルが身に付いていないエンジニアの場合、これらの恩恵はあまり得られないので注意


そういった場合は、まずは会社に勤めながらエンジニアとしての経験を積みつつ、プライベートでサービス作りをやってみるのが良いでしょう。


これをすることで、エンジニアとしてのアドバンテージを高めつつ、リスクなくサービス開発の練習ができます。


そして独立に向けて動き出す時は、会社を出る前に以下をしておくと良いと思います。

  • サービス開発に掛かる時間・コストを算出する
  • 案件紹介サービスなどで自分の市場での単価を確認する


ちなみに、おすすめのエージェントサービスは以下で紹介しています↓


おわりに

自分のサービスを作るのは、エンジニアの夢ですよね。


説明してきた通り、サービス開発で成功するのは難しいし、1人でやるのは負担も大きいです。


だけどエンジニアは、大きなアドバンテージがあり、他の職種よりもはるかにチャレンジしやすい職種


今回紹介したことを抑えつつ、チャレンジしてみると、良い経験につながると思います。


合わせて以下の記事もどうぞ↓

フリーランスになるメリットを知りたい!

「エンジニアがフリーランスになるメリット・デメリット

おすすめの会計ソフトを知りたい!

「確定申告が不安なフリーランスにオススメの会計ソフトfreee【便利な点やプランの選び方を紹介】


では、また。