フリーランスエンジニアになって2年経過、2年間の振り返りと今後の展望
アイキャッチは今日見てきたラオコーン像、本文とは全然関係ない
知り合いのソフトウェアエンジニアに合うたびに「最近何やってるんですか?」と聞くんだけど、「むしろお前が何やってるの?」と逆に聞かれることが多い。
自分でもやってきたことを整理して、今後やりたいことを書いておけば仕事につながるんじゃないかなと期待している
やったこと
技術顧問
この2年で技術顧問やアドバイザーをした会社は以下
- appArray Inc
- Piascore
- スポットでシステム構成のアドバイザ
現在も一社福岡の開発会社の技術顧問をリモートでしている
顧問内容は以下のようなことをすることが多い
- 設計のレビュー、壁打ち
- どういう実装にするべきか、DBのテーブル構造をディスカッション
- インフラの見直し
- PaaSサービスへの以降
- AWSのサービス見直し余分なコストがかかってないか調査
- 戦略の開発項目の相談
- モダンな開発環境・チーム構築いたします
- エンジニア採用面接お手伝い
Railsの開発については
- プログラム構造
- シンプルになるようなコードの書き方
- ファットコントローラの解消
- テスト
- パフォーマンス
- パフォーマンスの悪い画面の探し方
- パフォーマンスチューニング
- セキュリティ
- 脆弱性を含んでいるコードの調査・修正
教育系サービス
Railsでの開発を株式会社コードタクト[codeTakt]で長くやっている
IoTデータ分析基盤の構築
スタートアップの仕事ではないので社名は出さないでおく
- 学校の教室内の温度湿度などセンシングしたデータを格納してビジュアライゼーションした
- AWSの機能をフルに使ってノンプログラミングで構築した
ナース向けサービス
HerokuとRailsでフロントエンドを作成し、管理系の機能をSalesforceで構築している。
Heroku Connectという機能でHerokuのPostgreSQLとSalesforceのデータを連携している。SaleseforceがHerokuを買収したからこそ出来てる機能だ。
このサービスでは通知機能にLine MessengerAPIを使ってスマフォでメッセージを受けれるようにしてある(ワシが作った)
メールを見ない人が増えた昨今、Webアプリケーションの連絡方法としてLineを使うのは結構コストメリットがあると思う。
インフラの保守
知り合いのスタートアップでエンジニアが退職して、入社が決まっているエンジニアが入るまで3ヶ月インフラの保守をするという変わり種の仕事をした。
前のCTOがもともとインフラエンジニアだったなのも知っていたし、大丈夫だろうと受けた。かっちりとしたAWSの設定は逆に勉強になることが多かった。
女性向けサロンサービス
久々にrails newして新規のRailsサービスを作った。技術的負債が一切ない中で作れたので、持ってる知識をすべて導入して保守しやすく理解しやすいコードになるように工夫している。
このサービスの開発の仕方についてはガイドラインを作ったり、Github Projectでプロジェクトを進めたりとシェアしたい知見がたくさん詰まっているのでどこかで発表したい。
ペイメントシステムはPay.jpを利用してみた。Stripeぐらい使いやすい。
謎のスロバキア人とクラウドファンディングにガジェットを出した
去年から中国の深センにハマっている、きっかけはこちらの深セン観察会だ。 ニコ技深圳コミュニティとは
この関係で深センにあるMaker Spaceにいたというポールという人物と知り合うこととなった。そのスロバキア人でイギリスに会社があり現在はシリコンバレーにいる謎の人物ポールと組んでガジェットを作ってIndiegogoに出品した。
ポール自体はハードウェアエンジニアで量産するノウハウが有り、日本人のソフトウェア開発チームで秋葉原で買ったESP32とiOSアプリの開発を行った。
これが全然売れなくてプロジェクトは失敗したんだけど、シリコンバレーのアイディアを中国で量産するという流れに、ソフトウェアを日本で作るというチャレンジを今後も続けていきたい。
高品質なソフトウェアを作るオフショア先の日本というのは数年後にはあり得るシナリオだと思う。(中国やベトナム、インドなどに業務システムの発注するイメージではないよ)
ロボットの開発
ここもNDAががっちりしていたので社名は書かないでおく。
子供の頃からの夢だったロボットの開発の仕事ができた。ロボットが作りたくて大学に入ったし、大学院での研究もロボットを使った機械学習だったのだ。
そこの会社は出勤必須だった。基本的にリモートワークで仕事をするのを主義としているが、その主義を曲げてでもロボットが作りたかったんだ。
久々にすごく賢い人に囲まれて仕事をして新鮮だった。Koozyt社に在籍してたときもこんな感じだった。
主にクラウド関係の基盤の検証を行ったりしていた。AWS IoTとGCP IoT Coreの比較など。
しっかりとしたスクラムで開発していたり、ペアプロ、モブプロ、ペアワークをなど良い試みをしていた。いいチームでした。
発生した課題
激務の会社に業務委託で週3稼働で入ると他のメンバー歩調が合わなかった
先のロボットの開発だとスクラムをしっかりやっていたためにいくつかのミーティングに稼働日が合わずに情報格差が生まれた。他のメンバーが22時23時まで働いてるのに19時になったらすぐに「おつかれっしたー」と毎回帰るのは気が引けた。
そういうので気が引けるなんて気持ちが自分に残ってたのも驚きだけども。
この経験から、現在は1日の稼働を8時間ではなくて4−6時間にして週4日稼働することでミーティングに参加できない日を極力減らすという試みをしたり工夫して見ている。
1日に複数の仕事をと掛け持ちするのもリモートワークで移動で時間が取られないから実現できていることだ。もしかしたらスタートアップの多い渋谷なら、午前と午後で会社を分けて働くことができるかもしれない。
ギャラの支払いの遅延を経験した
上記のやった仕事には書いてないけど、週一稼働でアドバイザーのしごとを2ヶ月ほどしたのだが、最後の1ヶ月分の支払いが2回遅延した。支払い促したりするのに連絡したりと結構ストレスが掛かった。
この案件は開発メンバーを3人オレが紹介していて、そのメンバーの方が金額も大きく支払いの遅延も長い。半年経って支払いのめどがようやくたったようで事態は収束に向かっている。
この先やりたいこと
長期的には
- 新たに英語学習サービスを作りたい。事業ドメインもわかっているし、課題もわかっている。マーケットも大きい2000万ぐらいエンジェル投資して欲しい
- フリーランスのチームで開発する案件をいくつかやっていて、このやり方を増やしていきたい
- 三段論法的に世界が良くなることをしているサービスの開発を支援したい
短期的には
- 古巣のCTOをしていた会社で手が回ってなさそうなところを直してあげたい
- ReactNativeとFirebaseでシステム構成で、スマフォを使ったサービスの仮説検証する仕事がしたい
- エンジニア向けのコミュニケーション方法の教育をしたい
- 旧来的な開発をしている会社に今どきの開発手法を教えたい
まとめ
仕事に関して順調で仕事が切れることがない。むしろ仕事を受けすぎてるので少し減らしたい。フリーランスになって半年ぐらいでどっかに就職するかなぁと思ったけどフリーランスでやっていけている。