note_記事見出し_giveuswork_2_1280_670

守備範囲が広すぎて、逆に何ができるエンジニアかわかりづらくなって仕事がこなくなったので、どんな仕事を受けられるかまとめてみた。

こんにちは。Goldrush Computingというアプリ制作会社の、社長兼エンジニアの水鳥です。
もともとiOSのアプリが作りたくて独立して以来、友人・知人からや紹介を受けた仕事は、基本的に断らずに開発をしています。
昨年12月に会社がめでたく創業10周年を迎えましたが、年明け早々に受託案件が0になるという大ピンチを迎えたので、今回は、経緯とともにできることをまとめたnoteになります。

2010年、iOSアプリとAndroidアプリの開発を始める

私は2009年の12月に当時働いていたSonyEricssonを辞めて、iOSアプリとAndroidアプリの開発をはじめました。当時iOSは3.1、Android OSは1.5だったと思います。

このあと長くこの2つのスキルで開発を受託してきました。

(今まで作ったアプリはこんな感じ↓↓↓↓)

画像4

2017年ころからなんでも開発するエンジニアになる

2017年頃から、アプリ以外の開発の相談を受けることが多くなり、こうなったら何でもこい!というモードになり、IOT、Web、バックエンドから研究案件まであらゆるものの開発を受けてきました。

気づいたらJavascript、Python、C#などのスキルも身につき9言語のプログラミング言語でものが作れるようになっていました

画像12

そして...

フルスタックモードになったことでこの数年iOS、Androidアプリの製作数が減ったため、大多数の人にとって私がアプリ開発エンジニアというイメージが薄れて行った上に、研究開発などの秘匿性の高い案件が続いたので、自分の関わったプロジェクトを外で公言できない状況が続きました。

この状態はやばいんじゃないかなぁ。。と思っていたところ、とうとう今年に入って新規案件が来なくなってしまいました。(!)

弊社に来てくれている美大生のインターンの子からも心配されるようになってきたので、一度、私が1エンジニアとしてなにができるのかをまとめてみます。

守備範囲の目次!

<守備範囲>
1. iOSアプリの開発
2. Androidアプリの開発
3. Google Home向け音声アプリ
4. 多言語対応(日本語、英語、中国語)
5. Web API、バックエンド
6. Web、フロントエンド
7. 機械学習
8. IOT、ロボット
9. 位置情報技術コンサルティング
10. デバッグ案件
11. システム設計や新規事業の技術選択に関するコンサルティング
12. 登壇、講演、デモのお手伝い、通訳
13. プログラミング教育・研修


1. iOSアプリの開発

画像5

使用言語:  Swift, Objective-C
基本はSwiftを、レガシーコードの維持などの理由でObjective-Cを使ってほしい場合はObjective-C、を使います。
企画、サービスデザイン、UIデザインも含めてお受けできます。

得意なもの:
位置情報系、メディア・媒体系、画像・動画系、Bluetoothなどの機器連携系、デザイン・UXが高度なもの

苦手なもの:
Open GLが必要なもの

Tokyo Art Beatや、大手シェアサイクリングのアプリ、医療機器とBlutoothで連動するアプリなど多岐に渡るアプリを開発してきました。最近では、LINEのような高機能のメッセンジャーアプリもiOSとAndroid両方で開発していました。

元々iPhoneアプリが作りたくて創業した会社で、iOS 3の頃から開発しておりますので、どんなものでもお任せください!

2. Androidアプリの開発

画像11

使用言語:  Kotlin, Java
レガシーコードの維持などでJavaが必要な場合、必要箇所はJavaを使用します。
企画、サービスデザイン、UIデザインからテストまで一貫して社内できます。

得意なアプリ:
位置情報系、メディア・媒体系、画像・動画系、Bluetoothなどの機器連携系、デザイン・UXが高度なもの

機種依存問題のテスト:
テスト会社さん等を利用して対応できます(過去には40機種でのテストもしました!)

日本で初めてAndroidスマートフォンが発売された直後から、Androidアプリの開発も行っています。

iOSも開発した、ASICS社のMY ASICSのAndroid版も着手し、iOSと合わせて累計150万ダウンロードを超えました。
広告案件も広くやらせていただき、きゃりーぱみゅぱみゅさんのライブがauのCMにもなった、ODOROKIアプリの開発も行いました。↓↓

画像8

UXを実現するお手伝い、ぜひさせてください!

もちろんウェアラブルデバイスも!

Apple Watch, Android Wear
使用言語:Swift, Objective-C, Kotlin, Java

iOS, Androidアプリと連動するWearableデバイスの開発も実績がありますので、アプリと合わせても、ウェアラブルだけの開発でもご相談ください!

画像10

3. Google Home向け音声アプリ

使用言語:DialogFlow, node.js
Google Nest Hubなどのスマートディスプレイ向けにUIを持った音声アプリを作る場合はHTML/CSS/JavascriptでUI部分を開発します。

日本有数の音楽フェスティバルで使われた音声アプリや、インストラクターの声で寝る前にヨガのセッションができる、女性向けの人気音声アプリを作らせていただきました。

個人的に制作した「動物しりとり」は、長きにわたり1日200セッションほど使用されています。(HomeやAndroid端末をお持ちの方は[OK, google 動物しりとりにつないで!]でプレイしてみて下さい!) ↓↓↓↓

画像11

言語も日本語、英語、中国語での会話シナリオ作成ができます。

Amazon Echo向けのAlexaスキルの開発は私はやったことがありませんが、弊社のもう1人のエンジニアができますので、Google Assitant / Alexa Skill同時並行開発も可能です!

4. 多言語対応(日本語、英語、中国語)

iOS, Androidアプリの多言語対応: 翻訳、埋込み、レイアウトとフォントサイズの最適化
GoogleHomeの会話シナリオの英語化、中国語化
海外アプリの日本語化

私も英語が得意ですが、弊社のもうひとりのエンジニアは英語、中国語がネイティブレベルで、言語学が専攻ですので、アプリの開発だけではなく、多言語化・国際化をすることが得意です。

私の多言語化のプロセスを説明した英語のブログは累計10万以上のページビューがあり、海外からもアプリを日本語化するときに相談がきます。

まだ実績としては多くないですが、アプリを作る&多言語化するを同時にできる強みがありますので、インバウンド向けや海外展開などの案件、お待ちしてます!

5. Web API、バックエンド

使用言語: Python / node.js
Django、Express、Cloud FunctionsでのAPI開発を行います。
AWS, GCPの環境構築も行います。
ソーシャルゲームなどの大規模、並列処理案件は経験がないため、もう少しアクセス負荷の少ないスタートアップの製品や社内システムの開発などが向いていると思います。

これは、昨年新規事業のバックエンドシステムの改善のコンサルティングを請け負ったのがきっかけで、改善案を私と、私の会社のメンバー1名で開発することになりました。

クーポンサービスのバックエンドでしたが、Web APIの仕様作成と、インフラ(AWS)とデータベースの設計、PythonによるAPIの開発と結合テスト用のスクリプトの作成を担当させていただきました。イベント期間中3ヶ月バグレポートゼロで運用しました。

6. Web、フロントエンド

使用言語:HTML, CSS, Vue.js
デザインも弊社内で承れます!

Google Homeアプリ向けの管理コンソールや自社のサイト(Vue.js→nuxt.js)を制作したのち、配達や送迎などに便利な位置情報サービス「ikude」を制作しました。

画像12

画像10


まだ自社開発ばかりですが、今後は古いWebサイト・アプリをデザインフェーズからお手伝いしてVue.jsで一新したり、モバイルでの利用シーンのあるWebアプリの案件をやっていきたいです!

7. 機械学習

学習済みのモデルをiOS、Androidに組み込むことができます。
iOS、Androidに組み込む際は、それぞれの言語(Swift、Kotlin)とTensorFlowLightを使用し、学習済みのモデルに手を加えたりデータを加工する場合はPython, Keras, numpy, を使います

機械学習は私自身まだ発展途上の分野ですが、昨年、学習済みのモデルをAndroidアプリの中に組み込む仕事を担当しました。
それまではスマートフォンで画像を撮影→サーバーに送る→サーバー側で推論・判定→結果をスマートフォンで受け取っる→表示
していたものを、学習済みのモデルをアプリに組み込むことで、サーバーに画像を送ることなくスマートフォンの中で高速に画像に対する知能的な判定ができるようになりました!

まだ実績としてはこれ1つですが、個人プロジェクトとしてセンサーデータの機械学習に取り組んでいます。学習部分でもお仕事を受けられるようにしたいと思ってます。

モデルをスマホで動かしたい方は是非!

8. IOT、ロボット

Raspberry PiとArduinoによるプロトタイプの試作や研究用の装置の開発
Pepperの振り付け

使用言語:
Raspberry Pi側は、Pythonかnode.js、Arduino側はC言語
Pepperの振り付けにはChoregraphとPythonを使います

IOT →

- Raspberry PIでのリアルタイムP2P音声通信
- Arduinoへの動的プログラムローディング
- Arduino上で動作するミニOS

などを開発させていただきました。

また、Raspberry Pi、ArduinoとGoogle Homeの音声アプリの技術を組み合わせて音声認識で動作するロボットを石巻ハッカソン2018で2日間で作りました。

画像5

ロボット →

ロボット黎明期にはPepper標準搭載の身長を測るアプリ「スケーラー」の開発をさせていただきました。↓↓

画像14



また、IOTデバイスにつなぐiOS・Androidアプリは多数開発実績があります!、接続方法はBluetooth Classicか、BLEが多く、得意分野ですので、アプリと合わせての開発も大歓迎です!

9. 位置情報技術コンサルティング

画像14

ヒアリングは無料です!
初期の調査(アプリの位置情報の精度やバッテリー消費量を計測するなど)も無料で行います。
私のブログに解決策がある場合はブログの該当の箇所をお教えします!
開発が必要になった時点から開発案件としてお受けできればと思います。

4年前にこれまで蓄積してきた位置情報技術に関するブログを日本語、英語で公開したころから相談を受けるようになりました。

今まで、

・シェアサイクルサービスの位置情報の活用方法
・ケニアのタクシー会社の位置情報の精度と取得感覚に関する質問
・スウェーデンの電動スクーターの会社の位置情報精度とGPSの代替案の相談
・インドの勤怠管理システムの会社の動態管理技術に関する相談
・アメリカのフィットネスの会社の開発委託の相談

などにアドバイスや、実験結果の共有などを行ってきました。こちらは私が昔から興味のある分野なのでこれからもいろんな相談を受けていきたいです!

10. デバッグ案件

見積もりベースよりも、用した時間で費用をいただくことが多いです。
調査期間を短めに設定しておき、原因が特定できない場合は費用が膨らまないようにします!
納品はコード(GitHub上でPull Request)とバグ原因のレポート(PDF)でお渡しします。

実はこれが一番得意かもしれません!
前職のSonyEricssonでデバッガーのような役目を長くやっていたことがあり、バグや不具合の原因を見つける感覚がものすごく磨かれました。

昨年は研究開発中のセンサーからBluetooth経由でデータを高速に読み込むAndroidアプリの中で、どうしても原因がわからない不具合があるという相談を受けました。2日間で原因の特定と修正を行い、3日目にレポート作成とコードの納品をしました。

デバッグだけを頼んでいいのか躊躇される方が多いようですが、短時間で大きなアウトプットをクライアントに提供できるケースがあるのでいつでも受け付けています。

11. システム設計や新規事業の技術選択に関するコンサルティング

案件が相談から始まり、その流れで開発はやらないが、チーム編成や使う技術の選定、要件の定義などのコンサルティングをすることがあります。
今後もものづくりが私の活動の中心となると思いますが、先程のデバッグ案件と似ていて、コンサルティングで短期間で効果を出せるケースがあることが分かってきたため、今後積極的にやってみたい仕事です。

12. 登壇、講演、デモのお手伝い、通訳

実績:
Finlandスタートアップコミュニティの勉強会で登壇(リンク
SXSW 2015、オースチンコンベンションセンターでSonyのMESHデモ
trySwift! 2017、米国Firebaseチームの通訳
企業を辞めて独立した人の体験記を話す講演会でのトークセッション
その他技術カンファレンス・勉強会での登壇(DroidKaigi2017、Tokyo iOS Meetup)

画像9


2月21日、DroidKaigi2020で↓の内容で登壇予定です!
Interactive Canvasを使ってGUIを持ったActions on Googleを作る

無償でお受けできるケースが多いとおもいますので、お気軽に連絡を!


13. プログラミング教育・研修

画像13

対象言語:iOS(Swift)、Android(Kotlin)、Google Assistant(node.js)
子ども用向けプログラミング言語Scratch

私自身、プログラミングは独学で覚えました。C言語で1度挫折し、その後Javaで1度挫折、大学4年生の時にもう一度Javaにトライしてようやくプログラミングがわかるようになりました。2度挫折しているため、わからない人の気持ちがよくわかり、人に教えるのが得意です。

まだ社内のエンジニアとインターンにしかプログラミングを教える活動はしていませんが、ブログ(Medium)ではチュートリアルを書いています。
noteでもiOSノウハウ集Actions on Googleチュートリアルを書き始めました!

(一部有料の記事がありましたが、DroidKaigi2020での登壇に合わせて無料にさせていただきました!)

今後はブログのチュートリアルの内容をベースに対面でも教える機会を増やしていきたいので、新人研修やハッカソン中のハンズオン、新規事業立ち上げ時の短期の研修などご相談大歓迎です!


【依頼の流れ、予算感(アプリ開発案件の場合)】

相談からお仕事の依頼につながるケースが多いので、まずは気軽にどういうものを作ろうとしているのか、どういうところにエンジニアリングリソースが足りないのかご相談ください。

相談フェーズはお金はいただきません

相談フェーズとは、
1.実際にあって話しを聞かせていただく、
2.(必要であればNDAを交換した上で) 要件や既存のシステムについてヒアリングを行う
3.必要であれば実現可能性の技術的な調査をし、こちらからも実現方法の提案をさせていただく
までになります。それでいざ開発をしましょうと合意したら、見積もりを作成しますので、(相談フェーズで見積もりを作成することもあります)、見積もりに合意がとれてから開発に着手します。

おそらく上記のものに費用が発生するのではと思っている方も多いと思いますが、私は相手のビジネス、アプリで提供したい価値、ロードマップ、チームに対して理解を深めてから見積もりと、技術的な選択肢の提案をしたいと考えております。
見積もり後に発注とならない場合でも、ニーズの把握や私どもの足りない部分の勉強になりますので、どのようなものでもまずご相談ください!

予算感の目安ですが、

仕様検討、ワイヤーフレームデザイン →  ¥80,000〜
デザイン(最終デザイン)                      →  ¥100,000〜
コーディング (10日〜50日)                  →  ¥500,000〜
テスト(1日〜7日)                                  →  ¥40,000〜
開発スタート後からリリースまでの打ち合わせ(4日〜20日)
                                                                            →  ¥30,000〜
アップストアへのリリース(2日)         →  ¥60,000〜

予算はアプリの規模(画面数、機能数)で変動しますが、それ以外にも↓によって変わってきますので予算削減の目安にしてください!

お値段アップ↑                                    お値段ダウン↓
仕様が確定してない                   ⇔ 仕様・デザインが確定している
APIがまだできていない                   ⇔ APIがある
定例打合せあり                      ⇔ 打合せは随時、Skype/Zoomも併用
独自ウィジェット多めのデザイン     ⇔ iOSの基本コンポーネントを使う
アップストアへのリリース作業あり ⇔ コードでの納品
実績公開不可                                       ⇔ 実績公開可
お急ぎ(4週間未満)                        ⇔ 余裕あり(4週間以上)
                  ⇔ 別OSのアプリが既にある
                 (例:iOSがありAndroidを作るなど)

不明瞭な点は見積もりフェーズで全部説明しますのでご安心を!

【依頼の流れ、予算感(デバッグ、コンサルティング案件)】

コンサルティング、デバッグ開発に関しては内容・難易度に応じて若干の変動があるものの、

8,000〜11,000円/h (デバッグのほうが少し高くなる傾向にあります。)

で受付けております。

【プログラミング教育・研修、登壇、デモの依頼】

↑に関しては、内容ごとに予算を考えさせていただければと思います。講演の登壇、デモは無償で受けられるケースが多いと思います。
mizutori@goldrushcomputing.com までご相談下さい。


できないこと。。
開発は、丸々委託の場合でも、クライアント様のチームに入っての共同での開発でもどちらの経験もあり、どちらでもウェルカムですが、常駐だけは受けておりませんので、ご理解お願いします。
常駐をしてしまうと、対応できるクライアント様が1社だけになってしまうのと社内のメンバーとコミュニケーションができなくなってしまうため、要望は多いものの、お断りさせていただいております。
例外として、開発中の製品が外に出せないケース(発売前のロボットのアプリを作った時がそうでした)は、短期間(1ヶ月以内)に限り検討します。

常駐は難しいですが、クライアント様のオフィスにはフットワーク軽くお伺いします。打ち合わせや、丸一日滞在してクライアント様社内のチームと集中的に何かを検討する、難しいところや結合部分の実装を一気に一緒にやる、プロトタイプを見ていただいてUX的なフィードバックをいただく、などはプロジェクト期間中頻繁に行います!


以上です!


もしこの14項目、どれかに引っかかるお仕事があれば、

↓↓↓↓↓↓↓↓ご依頼はこちら↓↓↓↓↓↓↓↓↓↓
mizutori@goldrushcomputing.com

↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑


こんなに長い記事を読んでいただいてありがとうございました!!!



















この記事が気に入ったらサポートをしてみませんか?