4年間ほぼ在籍したFiNCをほぼ退職して、DeNA SWETに入ります

takasek
11 min readJan 2, 2020

--

2019年12月までほぼ在籍していた株式会社FiNC Technologiesをほぼ退職して、2020年1月から株式会社ディー・エヌ・エー品質管理部SWETグループに配属されます。
以下両社をFiNC、DeNAと呼称します。

「ほぼ」の位置は誤りではありません。

  • ほぼ在籍:
    FiNCとの契約は業務委託契約(準委任)でした。雇用ではないので実在籍日数は0日です。
    また、期間はほぼ4年ではなく丁度4年(2016年1月〜2019年12月)。
  • ほぼ退職:
    開発業務は停止するが、稼働時間数を大幅縮小してリモートでの技術的提案やドキュメンテーション活動はしばらく継続します。

takasekといいます。長らくフリーランスやってました。30代。これまでの専門分野はiOSアプリ開発。
派手な技術よりは、メンテナブルで無難な設計と、それを支える土台の技術に興味があります。なるべく人間ががんばらない仕組みを好むタイプ。静的型付け言語が好き。
2019年始めにPEAKSから刊行の「iOSアプリ設計パターン」を書きました(共著)。

これ超嬉しいレビュー。「iOSエンジニア一人もいなかったけど社内読書会で課題図書にした」ってすごく褒められたので読んで。

これからDeNAで何をやるのか

形式手法を用いて、仕様起因の手戻りを減らして開発効率アップを目指す研究をします。
形式手法というのは、数理論理学をもとにしたシステム仕様記述・開発・検証の技術です。昨日いいブログエントリが出ました。なるほどね。

DeNAでの施策については、ちょうど3月に開催されるDeNA TechConのセッションで語られるようです(詳細)。
つまり自分はiOSアプリエンジニアではなくなります。場合によってはまだiOSやる機会あるかもしれない?

あと、4月からはJAIST(北陸先端科学技術大学院大学)東京社会人コース(平日夜と休日を使って仕事と並行して修士が取れるコース)の履修を検討しており受験準備中です。言ってしまった…これで落ちたらカッコ悪いな。

DeNAに入るきっかけ

iOSコミュニティで親しくなった中の人たちに誘われました。リファラルです。渋谷ヒカリエで餃子を食べながらカジュアルに説明受けて、

「iOS開発じゃないですけど問題ないですか?」
「こだわらないです。ご存知のとおり門外漢だけど、それでもいけると思ったから声かけてくれたんでしょ」
「(ヒジの高さまで教科書を積みながら)まずはこいつら全部勉強してもらいます。キツくないですか?」
「むしろ業務で公然とそれが許されるってめっちゃアドです」

と会話してるうちに、ほぼ入社の意志が固まってました。ちなみにこの「ほぼ」は「入社」ではなく「固まってました」に掛かる副詞です。

なぜ転向するのか

より汎用的な問題領域に挑戦したくなった

エンジニアとしての自分の一番の興味関心は、設計手法です。
設計は、なんらかの解決したい問題に対して、ある一面を切り取った構造(モデル)を与え、そのモデルを解決の機構に落とし込む行為といえます。
問題領域は、開発するプロダクトのドメインそのものを無視できません。無論そのドメインに深く潜るのが面白いところではあるのですが、しばしばそれはプロダクト特有の事情に結びつきすぎた、汎用的ではない形になります。
SWETは特定のプロダクト自体にダイレクトに解決を提供するのではなく、もうすこし高次の領域の解決策を検討する立ち位置にあります。
プロダクトの現状を無視できるわけでは勿論ありませんが、ドメインはソフトウェアテストという、より汎用的なものとなる。その距離感が魅力的でした。

また、SWETのチャレンジの中でも、とりわけ形式手法は自分の興味に近いものだと感じています。
それはJAISTの出願のときに自覚しました。
出願にあたっては事前に、希望の研究テーマ・研究室を宣言する必要があります。さて何を研究したいのだろうかと自問して、気になる研究室をピックアップしたところ、形式手法関係の研究室がズラッと並びました。いやいやいや違うだろ、DeNAでレベル1から始める不安はあっても大学院と業務を寄せてくのは違うだろ、純粋に自分の興味にフォーカスしろ、と自分に言い聞かせてもう一度選び直しても、やっぱり形式手法になる。
おかしい。
いやおかしくはない。ある現実の一側面をモデリングするという点で、結局それは従来の興味の延長線上だったのだろうと、そのとき理解したのでした。しばらくはこの方向性でやってみます。

よりアカデミックな技術に挑戦してみたくなった

エンジニアの日常は勉強の連続です。10年くらいこの仕事をやってますが、自分の場合その勉強の方向性は途中で大きく変わりました。最初の5年は明日の業務に使える即物的な技術ばかりを追い求めていました。もっと自分の土台になる知識を掘り始めたのはここ5年くらいです。
その前後で大きく変わったことがあります。後者のアプローチでは、学んだ結果世界をどう見るのかという視野が更新される体験が度々訪れているのです。そして、刺激的なパラダイムには多くの場合アカデミックなバックグラウンドがあります。
自分がJAISTを志した動機は世界を見るための新しいレンズを増やしたいという点ですが、業務としてもそれが可能なら最の高です。
多くの分野において学術的発見はそのまま実務に転用しづらいものですが、情報工学の分野においては比較的アカデミズムと実務が結びついていると聞きます。形式手法もまた、アカデミックな技術ではありますが活用できれば大きな実益があります。そこに投資するのは相当美味しいんじゃないかなと。

転向のトレードオフ

クライアントサイド、とりわけモバイルアプリエンジニアは、ユーザーに直接触れるインタフェースの哲学を追い求められるのも魅力です。情報をどう提示すべきか、インタラクションはどうデザインすべきか、データとプレゼンテーションのインピーダンスミスマッチにどう対処すべきか。
今後しばらくは、自分はそこからは距離が遠くなります。iOS界隈に近々やってくる宣言的UI(SwiftUI)のムーブメントもキャッチアップしづらくなるでしょう。

iOSアプリ開発を極められたとはとても言えません。まだまだやれることはたくさんある。ただ、しばらくは別の領域に携わって、いつか戻ってきたときに今までと異なる世界が見える期待のほうを優先させたいなという気持ちです。

ほぼ前職(FiNC)に不満あったわけじゃないの?

不満はほぼまったくありませんでした。
すくなくとも業務委託の立場にもかかわらず好き勝手に上流まで口を出せる環境で、社員よりも発言権が低いということは一切ありません。業務委託でありながら自分が立ち上げ推進したプロジェクトもいくつもあります。
逆に、社員ではなかったのでそのぶん気楽な関わりでいられたというのはあるかもしれません。

開発体制で言えば、むしろ今のFiNCは良いです。
皆がボトムアップで環境を改善していく気風があり、特に今のiOSチームメンバーは皆がアクティブで忌憚ない意見交換ができる、心理的安全性の高いチームになっています。
体が2つあったらまだ残るんだけどな…といいつつ、2つないけど契約継続してますが。

FiNCの特色、得られたこと

現状、数多くの機能がオールインワンで詰め込まれたアプリ(スーパーアプリ的な指向はある)なので、複雑度を上げないようメンテナブルな構造を強く意識させれます。
エンジニアがちゃんと裁量を持って仕様決めに関わっていけるので、そういうのが楽しい人であれば能力を発揮しやすい環境です。おかげで自分は、この4年で設計についてだいぶ強くなれたと思います。本を書ける程度には。
FiNCはマイクロサービスを進めてるので、クライアント側から見たレスポンスの規約をどうするかとか、BFFの扱いとか多く考えられて良かったです。かつてFiNC主催のMicroservices Meetupでも自分含めてFiNCメンバーが色々発表しました。資料は以下から。

組織構造は、ミッションベースのチーム編成として自己組織化が成し遂げられました。4年前は企画・クライアント・サーバ・デザイン・QAといった各職能チームが分断されていて辛かったけど、ずいぶん変わったなぁ…改善の歴史を見届けられたのは得がたい経験でした。

有志による社内勉強会やR&Dプロジェクトも数多く開催されていました。自分が参加しただけでも、

などなど。

あと、特筆すべきはドキュメンテーション文化の育ちかた。Scrapboxの使い倒しっぷりは国内最大級です。

増大するドキュメントの有用性を落とさないためのメンテナンスや再構造化も有志で継続的に行っており、自分もその一員でした。
とりわけ、活動の中で最近開発されたSlack botは革命的で、業務とドキュメントの距離が半径1メートル以内くらいに近づきました。そのうちFiNC Tech Blogに詳細が上がってくるんじゃないでしょうか。お楽しみに。

最後にエモい話

4年前のFiNCでは、業務委託イコール明確に区切られたタスクを遂行する役割だったそうです。しかし自分がやたらと色んなとこに顔を突っ込んでいった結果、だんだんと変化して今のFiNCの業務委託の認識があるらしい。
長くいる社員に最終日の挨拶に行ったときに、そう聞きました。自分のムーブには無自覚だったのですが、良い影響を与えられていたとしたら嬉しいです。

一方、DeNAに入るのは正社員としての雇用なのですが、「4月から大学院に行きたい」「しばらくFiNCも副業で関わりたい」といった要望を叶えられるよう条件を調整していただけました。それも本当にありがたい。

契約は会社と従業者を守る拘束力を持ちますが、細部の条件・解釈には交渉の余地と可塑性があります。会社と個人が双方のメリットを最大化する形を目指し、話しあい影響を与えあえればもっとみんな幸せになれるんじゃないかなというのが4年間の結論であり、今後も意識していきたいところです。

--

--