コンユウメモ

作ったガラクタとか、旅行とかの話

フリーランスエンジニアになって2年経過、2年間の振り返りと今後の展望

知り合いのソフトウェアエンジニアに合うたびに「最近何やってるんですか?」と聞くんだけど、「お前が何やってるんだ?」と逆に効かれることが多い。

自分でもやってきたことを整理して、今後やりたいことを書いておけば仕事につながるんじゃないかなと期待している

やったこと

技術顧問

この2年で技術顧問やアドバイザーをした会社は以下

現在も一社福岡の開発会社の技術顧問をしている

顧問内容は以下のようなことをすることが多い

  • 設計のレビュー、壁打ち
    • どういう実装にするべきか、DBのテーブル構造をディスカッション
  • インフラの見直し
    • PaaSサービスへの以降
    • AWSのサービス見直し余分なコストがかかってないか調査
  • 戦略の開発項目の相談
  • モダンな開発環境・チーム構築いたします
  • エンジニア採用面接お手伝い

Railsの開発については

  • プログラム構造
    • シンプルになるようなコードの書き方
    • ファットコントローラの解消
  • テスト
  • パフォーマンス
    • パフォーマンスの悪い画面の探し方
    • パフォーマンスチューニング
  • セキュリティ
    • 脆弱性を含んでいるコードの調査・修正

教育系サービス

Railsでの開発を株式会社コードタクト[codeTakt]で長くやっている

IoTデータ分析基盤の構築

スタートアップの仕事ではないので社名は出さないでおく

  • 学校の教室内の温度湿度などセンシングしたデータを格納してビジュアライゼーションした
  • AWSの機能をフルに使ってノンプログラミングで構築した
    • 具体的にはAPI Gatewayでデータを受け取ってKinesis Firehoseに連携してキューイングしてAmazon Elasticsearch Serviceにデータを格納してKibanaでグラフ表示した

ナース向けサービス

転職復職サポートのなでしこナース

HerokuとRailsでフロントエンドを作成し、管理系の機能をSalesforceで構築している。Heroku Connectという機能でHerokuのPostgreSQLSalesforceのデータを連携している。SaleseforceがHerokuを買収したからこそ出来てる機能だ。

このサービスでは通知機能にLine MessengerAPIを使ってスマフォでメッセージを受けれるようにしてある(ワシが作った)

メールを見ない人が増えた昨今ウェブアプリケーションの連絡方法としてLineを使うのは結構コストメリットがあると思う。

インフラの保守

知り合いのスタートアップでエンジニアが退職して、入社が決まっているエンジニアが入るまで3ヶ月インフラの保守をするという変わり種の仕事をした。 前のCTOがもともとインフラエンジニアだったなのも知っていたし、大丈夫だろうと受けた。かっちりとしたAWSの設定は逆に勉強になることが多かった。

女性向けサロンサービス

久々にrails newして新規のRailsサービスを作った。技術的負債が一切ない中で作れたので、持ってる知識をすべて導入して保守しやすく理解しやすいコードになるように工夫している。

このサービスの開発の仕方についてはガイドラインを作ったり、Github Projectでプロジェクトを進めたりとシェアしたい知見がたくさん詰まっているのでどこかで発表したい。

謎のスロバキア人とクラウドファンディングにガジェットを出した

去年から中国の深センにハマっている、きっかけはこちらの深セン観察会だ。 ニコ技深圳コミュニティとは

この関係で深センにあるMaker Spaceにいたというポールという人物と知り合うこととなった。そのスロバキア人でイギリスに会社があり現在はシリコンバレーにいる謎の人物ポールと組んでハードウェアを作ってIndiegogoに出品した。

ポール自体はハードウェアエンジニアで量産するノウハウが有り、日本人のソフトウェア開発チームで秋葉原で買ったESP32とiOSアプリの開発を行った。

Clooudie | Indiegogo

これが全然売れなくてプロジェクトは失敗したんだけど、シリコンバレーのアイディアを中国で量産する間にソフトウェアを日本で作るというチャレンジを今後も続けていきたい。

高品質なソフトを作るオフショア先の日本というのは数年後にはあり得るシナリオだと思う。

ロボットの開発

ここもNDAががっちりしていたので社名は書かないでおく。

子供の頃からの夢だったロボットの開発の仕事ができた。 基本的にリモートワークで仕事をするのを主義としているが、その主義を曲げてでもロボットが作りたかったんだ。

久々にすごく賢い人に囲まれて仕事をして新鮮だった。Koozyt社に在籍してたときもこんな感じだった

主にクラウド関係の基盤の検証を行ったりしていた。AWS IoTとGCP IoT Coreの比較など。 しっかりとしたスクラムで開発していたり、ペアプロ、モブプロ、ペアワークをなど良い試みをしていた。

発生した課題

激務の会社に業務委託で週3可動で入ると他のメンバー歩調が合わなかった

先のロボットの開発だとスクラムをしっかりやっていたためにいくつかのミーティングに稼働日が合わずに情報格差が生まれた。他のメンバーが22時23時まで働いてるのに19時になったらすぐに「おつかれっしたー」と毎回帰るのは気が引けた。そういうので気が引けるなんて気持ちが自分に残ってたのも驚きだけども。

この経験から、1日の稼働を8時間ではなくて4−6時間にして週4日可動することでミーティングに参加できないというのを防いでみたり工夫して見ている。

1日に複数の仕事をと掛け持ちするのもリモートワークで移動で時間が取られないから実現できていることだ。もしかしたらスタートアップの多い渋谷なら、午前と午後で会社を分けて働くことができるかもしれない。

ギャラの支払いの遅延を経験した

上記のやった仕事には書いてないけど、週一可動でアドバイザーのしごとを2ヶ月ほどしたのだが最後の1ヶ月分の支払いが2回遅延した。支払い促したりするのに連絡したりと結構ストレスが掛かった。

この案件は開発メンバーを3人オレが紹介していて、そのメンバーの方が金額も大きく支払いの遅延も長い。やっと支払いのめどが半年経ったようで事態は収束に向かっている。

この先やりたいこと

長期的には

  • 新たに英語学習サービスを作りたい。事業ドメインもわかっているし課題もわかっている。マーケットも大きい2000万ぐらいエンジェル投資して欲しい
  • フリーランスのチームで開発する案件をいくつかやっていて、このやり方を増やしていきたい
  • エンジニア向けのコミュニケーション方法の教育をしたい
    • 企画の人のやりたいことを真面目に実装しようとして工数をかけないでまずはヒアリングしようとか
    • 情報のフローとストックの違いを意識しよう
  • 旧来的な開発をしている会社に今どきの開発手法を教えたい

    • Web系の会社で普通にやっていることが全然できていない2000年ぐらいから止まってる感じがする
    • そういう会社から仕事を受けるとそのやり方に巻き込まれて辛いし、その会社も新しいやり方を覚えられて、次かは発注しやすくなるんじゃないだろうか
  • 三段論法的に世界が良くなることをしているサービスの開発を支援したい

    • アフリカの貧困対策のサービスをすることで、人口爆発を防ぐとか
    • 昆虫食サービスで食糧問題を解決して環境問題を解決するとか
    • 農林水産業にITで効率化して、労働人口の減少やなり手を増やすとか

短期的には

  • 古巣のCTOをしていた会社で手が回ってなさそうなところを直してあげたい。
  • ReactNativeとFirebaseでシステム構成で、スマフォを使ったサービスの仮説検証する仕事がしたい

まとめ

仕事に関して順調で仕事が切れることがない。むしろ仕事を受けすぎてるので少し減らしたい。フリーランスになって半年ぐらいでどっかに就職するかなぁと思ったけどフリーランスでやっていけている。

お仕事のお問い合わせは twitter@kon_yu までまずはメンションをください。