2015年5月から関わっていた BONX社の最終出社を7/31に済ませまして、来る8月末で退職 します。
これを機に、自分のBONX社での仕事を公に出来る範囲でまとめてみることにしました。
BONX社でやっていたこと
BONXの創業当初からずっとAndroidアプリを作ってました。
マンションの一室で、社内にはCEO,CTOと僕含め4,5人しかいないぐらいのアーリーステージのスタートアップということもありまして、 プロジェクト開始当初の状況を振り返ると、なかなかチャレンジング でした。
まず、人生で初めてVoIPクライアントをスクラッチから書くことになったものの、Androidではどのような設計にするのが一番良いか見当つかなかったので、とにかく試行錯誤の連続でした。何度書き直したかもう覚えていません。
また、悪名高きAndroidのBluetooth Low Energyを初めて、しかもCentralとPeripheral両面で使い倒すことになりました。最終的には機種依存バグとの戦いで、バッドノウハウがひたすら溜まり続けました。
また、BONXイヤフォンのBLE/SPP絡みのハードウェアのファーム仕様を策定することになったり、スポットですがBONXイヤフォンのファームウェア改善のために中国に飛んだり、IoTスタートアップっぽい仕事も若干ありました。
ただアプリ開発とハードウェア生産が並列して同時に走ったときが一番体力的に厳しく、最初のバージョンのリリース直前で心身ともにすり減っていた時期(しかもScalaMatsuri 2016開催前月)に、 当日夜に急遽中国行きの深夜フライトが決まって、翌朝から工場で中国のエンジニア達と缶詰で喧々諤々の議論をした のがピークでした。
そのとき、非エンジニアの通訳を介して、排他制御などの並行プログラミングの概念を伝えるのがいかに無理ゲー かもよく分かりました。やっぱりエンジニアでも語学大事 だと改めて思ったし、英語だけだと厳しい…という初めての経験でした。
今晩急遽中国行くことになりました(今年2回目) pic.twitter.com/gV0WGTjIxS
— Taisuke OE (@OE_uia) December 7, 2015
色々しんどかったけど、だからこそ面白くて、2年以上関わることになったんだろうなと思います。
そうこうしているうちに、ユーザーからの評価も安定しだしてちゃんと遊べるプロダクトになり、今年駆け足ながらもDDD/Clean Architectureベースの設計にリファクタリングできて、 ようやく一区切りつけられたかなと思っています。
その集大成として、世界最大のScalaカンファレンスScalaDaysに出したプロポーザルが幸運にも通りまして、BONXの事例についてシカゴとコペンハーゲンで講演することができました(※)。
※ 元々のスライド及び発表は英語ですが、以下のスライドは新宿Geek Loungeで喋った日本語版の資料になります
Bluetoothの話は、日本の勉強会で喋ったこちらのスライドにまとめてあります。
BONX社をなぜ辞めるのか?
BONX社以外の、個人ワークでやりたいことが溜まりすぎた、というのが一番の原因です。
幾度となくBONX社の仕事をする傍らやろうと試していたのですが、トータルの活動時間が自分のキャパを越えてしまって体調を崩す ということを繰り返し、頓挫していました。 ある時、これ以上タスクを増やすのは現実的ではないなということに気づき、今取り組んでいる何かを諦めることを決めました。
では今携わっているプロジェクトの中でも、なぜBONXを辞めることにしたのか?というと:
- 限られた活動時間の枠の中で、一番シェアが大きかった
- (先述の通り)BONX Androidアプリについて、色々やりきったところでちょうど一区切りついてしまった
- 特殊なアプリではあるものの、僕以外の人の手でメンテできることを確認できた
- 会社のフェーズが変わり、これからのBONX社には、僕よりもっと適任な人がいるだろう、と思えた
BONX自体は今でも好き だし、たぶん来冬も一ユーザーとして使って遊んでると思います。
今もBONX社はAndroidエンジニア含め色んなポジションで募集してるので、よかったら是非どうぞ(宣伝)。
今後何をするのか?
今後しばらくはフルタイムの仕事はせず、アドバイザーの仕事を続けながら サバティカルのつもりで個人プロジェクト中心に進捗出していきたい 所存です。具体的には下記に挙げたようなことを、少なくとも3ヶ月は取り組むつもりです。
- セプテーニ・オリジナル社の技術アドバイザーとして、粛々とお仕事
- Scala関西サミットの講演準備
- 進捗が遅れてる某プロジェクトの巻取り
- OSS活動
- 勉強(コンパイラ、言語処理系、機械学習など)
- 引き続きScalaMatsuri (8月26日にScalaMatsuri 2018キックオフを開催します!一緒に盛り上げてくれる人募集!)
このサバティカル後のことは未定ですが、近々発表できそうな進行中の話があったり、近い将来チャレンジしたいことも色々あったりするので、何らかの形で追々アップデートできたら良いなと思います。
そんなわけでこれから所属は若干変わりますが、引き続きどうぞよろしくお願いします。