imaizumeの個人メモ

コードとか旅とか飯とか

Android使いのiOSエンジニアになった経緯とまだiPhoneに乗り換えていない理由

はじめに

タイトルの内容について、新しく入った会社や会った人によく聞かれるので一つの投稿にしてみました。 個人用の名刺にも入れてもらったし、ブログの説明にも入れてみました。 読んで得られるものがあるかはわからないです。

Android使いのiOSエンジニアになった経緯

結論から言うと「元々はAndroidを5年近く使っていて」「入社したチームでiOSエンジニアが必要とされていたから」です。

新卒入社前

最初から書くと、自分は大学2年になるちょっと前くらい(2011年頭?)からAndroidスマホを使っています。 当時はスマホ向けにAndroid 2.3(GingerBread)が全盛期、またタブレット向けに3.0(Honeycomb)が出てきたばかりの頃でした。 なおPCは小学生から就職まで通算20年近くWindowsを使っていました。

当時はまだスマホユーザーがほとんどおらず、自分もAndroidはもちろんiPhoneという単語を知りませんでした。 (iPodくらいは知ってた) そんな早くからガラケーから乗り換えたのは、キャリア料金節約のためauからイー・モバイル(今のYmobile)への切り替えを「親から」提案されたからです。 (うちの親は節約が得意)

今こそMVNOの選択肢が増え大手キャリアから乗り換える方は多いですが、9年前にそれに気づいていた人はそうそういないのではと思っています。 なので、自分が好きで乗り換えというよりも親の言うことを聞いていたらAndroidユーザーになっていたという感じです。

そこで初めてAndroidを触れたのですが、正直インターネットやWiFiにつながるだけですごいと思っていましたし、家族もAndroidユーザーだったので特にiPhoneの方が良いと思ったことはありませんでした。 大学4年になる頃にはiPhone 5sを見かけるようになりましたが、機能としてはAndroidで十分だったのと、Apple製品の圧倒的な価格にはとても手が出なかった(これは今もそう)ので全く関心なし。 そのためiPhone自体、大学院で行ったインターンまで触れたことすらありませんでした、本当です。

インターンでは、両モバイルアプリとサーバーサイドをマルチに開発するスタイルだったためiOS開発もやることになり、ここで初めて検証端末でiPhoneを触った気がします。 でもiPhoneの触り心地はもちろん、Objective-Cを書いたこともほとんど覚えていません。 ちょうどAuto Layoutの発表があった後で、チーム全体でその対応に追われていた記憶がありますが、まだiPhoneに対する知識が浅かった自分は、Auto Layoutという概念の登場に対する重要性をそこまで理解できていなかったかもしれません。

新卒入社後

院を出る3月にAppleの学割が切れるからと、Macbook Pro 13"を駆け込み購入しました。 人生初のApple製品の購入でした。 しかし入社後に配属が決まるまでは、まだ自分がiOSエンジニアになるとは1mmも思っていませんでした。

入社後に1.5ヶ月ほど研修があり、その後の配属面談で「iOSエンジニアのポジションが不足しているので担当してほしい」と言われました。 自分は当時RailsJavaScriptなどのWebのフロントエンドを得意としていましたが、技術に関して特にこだわりがあるタイプではなかったのでやってみることに。 日本はiOSのユーザー比率が高いと言われていますが、実際自分が関わったプロダクトでも同様の傾向があり、施策の注力の対象がiOSであることが背景にあるのは間違いありませんでした。

bitwave.showcase-tv.com

また、自分以外の周囲のiOS技術者も、特に若手であるほどほぼ全員自分と同じWeb技術からの転向者でした。 これはネイティブアプリ、特にiOSについては開発環境としてmaciPhoneを購入しなければならないため、学生や未経験者が手軽に手を出せるものではないからだと言われています。

自分が最近初学者向けの勉強会を開こうとしたときも、サーバーサイドやLinux周りだと需要があるのですがネイティブアプリはあまり需要がないことを知りました。 この辺はCloud 9のようなWeb IDEが出てくると良いのかなとも思っています。 実はすでにMacinCloudというクラウドmacOSを使えるソリューションはあるのですが、界隈でもあまり聞かないので普及させていかねばという気持ちになったりしてます。 あとはiPadのPlaygroundアプリも良いなと思っています。

話がそれましたが、結果として幸いメンターやチームメンバーに恵まれたこともありiOS開発を今日まで楽しく続けることができました。 ただ、長い間Androidを触っていたため私用端末をなかなかiPhoneに切り替えるモチベーションが湧かず、入社後もしばらくはiPhoneを持っていませんでした。 社用携帯でiPhone SEを支給されていた時期もありましたが転籍や転職でそれもなくなり、さすがにデバッグ用にほしいからと中古の6s端末(SIMなしストレージ16GB)を買ったのが2年前。 移行の面倒くささと長年のAndroid慣れによって完全移行のモチベーションは今なお低い状態です。

もっとも、2020年こそiPhone SE2が出るという噂が本当(かつできればTouch ID復活する)なら、初の新品iPhone購入が実現するかもしれません。 Androidがすでに大きいので6インチ以下なら買いかなぁと、あと最近は一定量まで無料のSIMカードというのもあるみたいなのでそれを挿してもいいかなと。

mobile.nuro.jp

まだiPhoneに乗り換えていない理由

それでもまだAndroidを使い続けるのはなぜか、改めて考えてみました。 デメリットに関しては知っている人が多そうなので省略します。

Androidにしかない機能

OSレベルでAndroidにしかない機能は実は多くあり、個人的な好みもですがどれも気に入っています。

  • 一部のアプリをバブルで画面の上にオーバーレイで出す (Facebook MessengerやAZRecorederなど)
  • iPhoneでは実質廃止されたTouch IDがAndroidではFace ID的なものと合わせて健在 (Touch ID割と便利なんだけどなぁ)
  • ウィンドウ分割 (iPadでは最近導入された)
  • ホーム画面に必ずしもアプリを置かなくて良い&ホームアイコンの配置が自由 (前者は好みだから良いとして後者は未だにできないのが謎)
  • ウィジェット (TODOリストやメモ、時刻表などでよく使う)
  • ドロワーUI (基本的には下タブの方が便利だがたまにほしい時がある)
  • 通知領域のカスタマイズ (iPhoneのコントロールセンターはカスタマイズ不可)
  • 通知のアイコンボタン長押しで設定に飛ぶ (コントロールセンターでWiFiBluetoothを長押ししても設定には飛ばない)

などなど。

Androidにしかないアプリ・有料で買ったアプリを捨てられない

約10年使っていると、過去に様々なアプリを購入していたりエコシステムにロックインされた状態に陥っています。 自分はGoogleに完全に依存した身体になってしまったため、Google OneによるバックアップやPlay Music等の支払いなどの一元管理といったエコシステムに完全に乗っかってしまいました。

またAndroidにしかないアプリもいくつか入れていて、操作を自動化してくれるTaskerSleepSmart Toolsなどは有料で購入したものでもあるのでなかなか捨てられずにいます。

あとはGoogle FitがApple Watchに対応したのもつい最近だと先日知りました。 iOSにもあるアプリでも、支払い方法の変更や移行の手間があるためやりたくないなぁというのが正直なところです。(ゲームなど、アプリによってはアイテムが引き継がれないこともあったりするので)

自社アプリのデバッグ・ドッグフード要員

これは自分だけかもですが、現職でも前職でも感じたのは、Androidを積極的に触ってドッグフーディングしているエンジニアやプランナーが少ないということです。 特に東京でテクノロジーに明るい業界ほど、iPhonemacのユーザーは全国平均よりも高いのではないかと思います。 ざっと周りを見渡した感じもそうですし、よく「Androidエンジニアで私用端末がiPhone」という人を見たことがありますが、その逆は私以外まだ見たことがありません。

そのため、自社アプリのAndroidが少ないからこその貴重なフィードバック要員になること多いと自分は思っています。 仮に日々の業務で検証していたとしても、やはり日常的に使っていないと気づかないことも多いと思います(他社アプリとの比較や使い心地など)。 自分も最近まではiPhoneをあまり私用で使っていなかったのですが、AirPods Pro購入を機に私用として使う機会を意図的に増やしています。

また自分は毎年最新のハイエンドAndroidマシンを購入しており、そのたびにOSも最新に追従しています。 そのため、なかなか来ないOTAアップデートを待たずに動作をチェックできるというのは大きいなメリットかなと勝手に思っています。 もちろんiOSAndroidのユーザー比率や開発の優先度などサービス固有の事情によるところもありますが、開発者としていち早くキャッチアップして問題に気づけるということは大切です。

バックボタンが好き

Androidのナビゲーションボタン全体好きですが、特に自分はバックボタンが好きです。 たとえ Googleがバックボタンを辞めると言ってもです(笑) (今使っているOneplus 7 Proは公式からフォークされたOSが載っていてまだバックボタンがある)

たぶんですが、

  • iPhoneのバックボタンはナビゲーションバーにあるので指が届きにくいという物理的制約
  • テキスト入力の時に入力をやめてキーボードを隠したり、開いたドロワーを閉じたりする機能が直感的であると感じる点
  • どの画面にいてもシステムワイドに前に戻る(あるいはそれに準ずる動作)ができるという心理的な安心感

があるのが大きいのかなと。 もちろんこれも慣れの問題かもですが、やはり10年の生活習慣というのは染み付いてなかなか取れないものなのです。

変わり種なデバイスがガジェットマニアの心をくすぐる

AndroidiPhoneの決定的な違いといえば、デバイスのバラエティでしょう。 古今東西様々なデバイスが売られていますが、最近はSamsungのGalaxy Foldのような折りたたみ式端末や両面がディスプレイなNubia Xなどの変わり種が発売されています。

Oneplusを例にすると、7 Proにはノッチがなく、表面にはフロンカメラがないように見えます。 実はOneplus 6にはiPhone Xのようなノッチがありました。

そこで7 Proはどうなったかというと、なんとポップアップカメラ(写ルンですのフラッシュ的なやつ)に変わったのです!

www.dxomark.com

これはソフトウェアで制御されていて、使うタイミングで自動で出てくる仕様。 当然折りたたみ液晶もそうですが、こうした特徴はハードウェア的に壊れやすい弱点ともなるので扱いには注意が必要です。 (上を押さえつけたりしたら壊れそう) (フロントカメラに限って言えば、物理的に映らなくなるのでハッキングされて裏でカメラをONにされていたとしても被害を免れるのでは!?とも思ったり。) 正直自撮りをたくさんする人にはオススメできません。

それでもガジェットマニアにとっては、こういうところが面白くてついAndroidを買ってしまうというのはあるあるなのではないでしょうか。

ハイエンドマシンではiPhoneよりもAndroidの方が高コスパなケースも

実はハイエンドマシンのスペックに対するコスパでは iPhoneよりもAndroidの方が良いという見方もあるようです。 自分もPUBGやReal Racingなどのシミュレーション系ゲームを最高の設定でやりたくてハイエンドマシンを買っていたりします。 たとえば自分が今使っているOneplus 7 ProとiPhone Xs Maxを比較した動画がありますが、こちらを見るとどの操作もかなり互角でスムーズです。


OnePlus 7 Pro vs iPhone XS Max Speed Test

一方この投稿を書いた時点では、価格はSIMフリーモデルをExpansysで見た場合にOneplus 7 Proが約78,000円、iPhone Xs Maxが約110,000円でした。 雑な比較ですしAppleの買い替えプログラムやOneplusのハイエンド化などを考慮したらどうなるかはわかりませんが、額面だけ見た場合はやっぱりAndroidコスパは良いのかなと思っています。

www.expansys.jp

www.expansys.jp

あとはカメラについても以前はiPhoneの方が優位でしたが、最近は自分が写真を撮るとiPhoneユーザーからもすごくきれいと言われることが増えた気がします。 デュアルカメラも当たり前になってきましたし、ハードウェアモジュールレベルではもう差がでないのではないでしょうか。

その他

なおAndoroidの中でもここ数年ずっとOneplusを買っているのは、メーカー独自のプリインストールアプリがほぼないという点が挙げられます。 起動直後にホーム画面にあるのは天気とOneplusのコミュニティアプリくらいで、この点は他と比べてダントツに良いです。 この点を満たすのはAndroidでは他にGoogle純正のNexus / Pixelくらいではないでしょうか。

おまけ: 今まで使ってきたAndroidスマホ一覧

ということで特にオチはないので、最後に自分が使ってきたAndroidスマホを羅列します。 ()内は使い始めた時期です。

S31HT: HTC Aria (2011/03)

www.ymobile.jp

  • 一番最初に使ったAndroid端末
  • Androidスマホ史上でも最小の部類に入るのでは?
  • アプリ入れすぎると容量不足でよく落ちたのでテザリングで使うことが多かった

f:id:imaizume:20200112122746j:plain
HTC Aria(中央)は折りたたんだガラケーとほぼ同じくらい小さかった

GT-P6800: Samsung Galaxy Tab 7.7 (2012/06)

www.samsung.com

  • 懐かしのHoneycomb搭載のタブレット端末
  • 大画面で大学の講義のノートが取りやすかった
  • 通話もカメラ撮影もやってた思うけど今考えると光景がシュール

ASUS Nexus 7 2013 (2014/08)

www.asus.com

LG Nexus 5X (2015/10)

www.ymobile.jp

  • ようやく私用の端末を手に入れてスマホに戻る
  • しばらくカメラに不具合があってシャッターを切れないor切るのが異常に遅くていい写真が少ない
  • 指紋認証便利だと思う一方でUSB-Cの普及率がほぼ0でケーブル高い!!と思った

Xiaomi Mi5 (2017/04)

butsuyoku-gadget.com

  • 入社式の日にNexus 5Xが旅立ってしまい新生活早々非常に困ったことになったので急遽購入
  • 3万円以下でNexus 5X並の性能があって非常にコスパが良かったと記憶
  • カメラ性能があまり良くなくてそこだけは社用のiPhone SEに浮気していた

Oneplus 5 (2017/09)

  • Mi 5は半年も経たずに画面タッチが効かなくなりまたしても購入
  • 初めてのハイエンドマシンとして購入し現在も親が使っている
  • スペックの他に急速充電が非常に早いことに感動した

Oneplus 6T (2018/07)

  • Oneplusの満足度が高く1年毎に買い換える決意をした
  • サイズと重量が増したもののタブレット自体に比べれば全然余裕
  • 初めてのノッチ付き端末は通知領域が減って正直あまり良い印象はなかった

Oneplus 7 Pro (2019/06)

  • ポップアップカメラと液晶上での指紋認証、湾曲ディスプレイという驚きのハイエンド変わり種マシン
  • 横長の写真サイズが16:9から19:9に変わって横長すぎだろ!!って思った
  • RAMが12GBというモンスターモデルもあるらしいが前回が8GBで十分だったのでコスパを考えてやめた

まとめ

  • 約10年前に成り行きでAndroidを使うようになり生粋のAndroiderになった
  • 入社時に成り行きでiOSエンジニアになって今日に至る
  • iPhoneに乗り換えも検討しているが移行が面倒なのと好きなところがあるので乗り換えていない

結論: 「成り行き」

最後にHTC AriaとOneplus 7 Proで撮った二郎の写真でも並べておきますね。

f:id:imaizume:20200112124321j:plain
HTC Ariaで撮ったラーメ二郎(たぶん松戸)

f:id:imaizume:20200112124518j:plain
Oneplus 7 Proで撮ったラーメ二郎(夢を語れTokyo)

COMPを2年飲んで得られた個人的な知見まとめ

COMPを飲み始めて2年が経った

パッケージが古くて粉の粒度が荒い昔のバージョン

2年前、自分は完全栄養食品COMPを飲む生活を始めました。 1年程定期購入を続けていた時期があり、毎日飲んでいた期間もそこそこ長かったです。 いろいろあって昨年末に定期購入はやめたもののまだ在庫が残っており、現在もちまちまと消費しています。

とはいえコアのユーザーではなくなったものの、ここまでしっかりとCOMPを飲む生活をしていた経験はレアだと思うし、得られた知見は多かったと思います。 これまでまとめるタイミングがなくずっと下書きになっていたので、今回ちゃんと公開してみました。

完全栄養食品COMPについて

概要

www.comp.jp

COMPは完全栄養食品と呼ばれる食品で、これを飲むだけで人間が1日に必要とする栄養素の全てを摂取することができるとされています。 つまり これさえ飲んでいれば食事はしなくてもOKということ。

形状と味

以下の3つの形状があり、自分は粉末タイプを購入していました。

  • 粉末
  • 液体
  • グミ

粉末は1袋422kcalで、大抵の場合は任意の飲料と一緒に入れて混ぜて飲みます。 自分は主に低脂肪乳にNatural Healthyを混ぜて飲んでいました。 (小分けの袋以外にプロテインのような大袋タイプもある)

このカロリーであれば、本来なら成人男性は一日5袋分くらいは飲まないといけないことになります。 ただ自分は座り仕事なのでそこまで栄養を消費しないことが分かり、過剰摂取しないよう自分は1日最大3袋を目安にしてました。

割る飲料については糖分過多には気をつけつつ、たまにはコーヒー牛乳や飲むヨーグルト等で味変するのもありだと思います。 あと人によっては水とか紅茶でいけるという意見も聞いたことはあるものの、自分は好みではなくあまりオススメしません。

すぐに飽きが来るかと思っていたので、1年は意外と長く続いたのではないかと思います。 また毎食をCOMPにする必要はなく、自分は朝昼をCOMPにして夜を通常の食事にすることが多かったです。 普通の食事もしたいときはあるし飲み会の予定もあったりはするので、そこは適宜調整して飲んでました。

f:id:imaizume:20191219230532j:plain
相性が良さそうな飲み物

f:id:imaizume:20191219225933j:plain
COMPをいろいろな味の飲料で割ってみた

価格

過去のレシートを見ところ12袋 x 4箱入 = 96袋が16150円(10%増税前)だったので、1袋あたりだと330円ぐらい。 2ヶ月に一度の定期購入だったので、割引が入ってこの値段。 これに加えて混ぜる飲料の値段を加味すると1袋あたりで400円前後でしょうか。 当時の職場の近くでは500円くらいの弁当が売られていましたが、栄養価が偏った500円の弁当と比べたらコスパとしてはまぁ悪くないと思います。

初回お試しセットがあり500円で3袋 + 500mlシェーカーが付属するので、とりあえず始めるという方にはかなりお買い得。 自分もそれではまって、気づけば翌月にはまとめ買いを初めていい感じに消費していきました。

COMP購入の動機

今でもたまに聞かれる「なんでそんなもの飲んでたの!?」という質問。 もちろんCOMPを飲み続けるそれなりの事情がありました。

時間節約

あるあるな話だが、自分が当時所属したチームも非常に忙しく昼を食べに行く時間的な余裕もないときが多かったのです。 もちろんコンビニや弁当屋は近くにある、けれどそこに行って並ぶのも億劫なときもありました。 また外に出て「今日はどこで食べよう...」などと悩む時間がもったいないという理由も。

そんなとき、袋を開けて混ぜるだけで食事が成立するCOMPはとてもありがたかったのです。 またCOMPを飲み慣れてくると生活習慣化されてきて、混ぜる飲み物を通勤時に買っていったり、家で事前に混ぜて持っていく等したおかげで効率化がさらに進みました。 ランチの店選びも自分は悩みやすいタイプなので、そこがなくなるもの良かったかなと。 (ちなみに自分は似たようなハックとしてH&Mユニクロで特定パターンの服を数セット買ってコーディネートに悩まないようにしています)

血糖値制御

自分は血糖値上昇が起こりやすい体質らしく、それも購入の動機でした。 血糖値は炭水化物摂取によって上がり、たいていはそれで激しい眠気に襲われるというもの。 大学生の頃は昼飯後に眠くなるのを避けるため、意図的に昼ごはんを食べなかったこともあるほど。 また血糖値の上下が激しいと血管を傷つけて健康的にも良くないことが知られていて、何も食べないと低血糖の症状(震えやしびれなど)が出てこれはこれで良くないそう。

この血糖値の上下を抑えつつ胃袋を満たす最善の方法は、コンスタントに満腹感を維持すること、つまりは少しずつ何かを口にして長時間をかけて食事することだと知りました。 でも少しずつ食べるという方法は、普通の食事はもちろん弁当であっても匂いや冷めて美味しくなくなるという問題で実践が難しい。

そこでCOMPなら、長時間少しずつ飲み進めることが可能だし、実際COMPを少しずつ飲んで小腹がすくことはあっても眠くなることは全く無かったのです。 おかげで日中の時間に眠気によるパフォーマンス低下は劇的に改善されました。

他の人とランチに行きたくない時がある

失礼を承知で言うと、誰かとランチに行きたくないという気分の日というのもあったりします。 そういうときは人に気を使いたくなかったりあまり喋りたくないと思っていたり、あるいは貴重な休み時間を食事以外のこと(趣味とか)に使いたいと思うこともよくあったりします。 もちろん一人で食べに行くのでも良いのですが、外に行くとなると前述の店選びで悩む問題が発生してしまいます。

そこで一人で過ごしたいときは「今日はお昼のCOMP飲んだので...」と言えば拒否できるし、もし行きたくなったら会社の冷蔵庫に閉まっておいて夜にでも飲み直せば良いわけです。 また自席で何かをしながら休憩したい場合でも、弁当と違って匂いが出ないので周囲に迷惑をかけないし、省スペースでデスクでの作業効率も落ちないのも良かったです。

家で食事作るのが面倒

自分は今も外食が多いのですが、その理由の一つに食器洗うの面倒というのがあります。 また買った食材が使いきれずに腐らせたくないというのもあります。

COMPは乾燥粉末なので1年以上余裕で常温保存できるというのはありがたいです。 今も1年前に買ったCOMPを消費していますが、味には一切変化がありません。

他の使用者の感想

自分以外にも同じ職場で何人か利用者がいたのでその人達の感想も載せておくと

  • グミを購入して食べていた同僚は、奥さんから「グミを食べると臭う」と言われた。粉末や液体とは違って独特の匂いを発しやすいのか、あるいはにんにくのように息に残りやすいのかはわからない。
  • 別の同僚が、夏に奥さんの食欲が落ちるため冷たい液状の栄養食がほしいと言っていたので数袋プレゼントしたところ喜ばれたようだった。自分と同じく牛乳に溶かしたらしいのだが、曰く「コーンフレークを食べたあとの残りのミルク」のような味だとのこと。そういう表現もあるのかと感心した。
  • 他チームのエンジニアが液体版を買って昼に飲んでいたので感想を聞いてみたら、混ぜてシェイクする手間がないのが良いと好評だった。自分のように混ぜる液体により味を選ばないのと値段を妥協できれば選択肢としてはありだと思う。

COMPの継続使用によるメリデメ

メリット

モチベーションとかぶるところがありますがが、自分が感じたメリットはこんな漢字です。

  • 自由時間をより自由に使える
  • 離席せず継続して作業できるのでコンテキストスイッチが減る
  • COMPを作って飲む過程をさらに効率化して時間を確保できる
  • 普段の食事(非COMP)がより美味しく感じられる
  • 好きなタイミングと感覚で好きな量を食べられる
  • 食事後に眠たくなくなる
  • ゴミがあまりでない
  • 摂取した栄養計算と制限が楽にできる
  • 朝ごはんをとりあえずCOMPで食べるようになる

やはり時間と眠気ににまつわるメリットが個人的には特に大きかったです。 また良いリズムでコード書けている時に、中断してランチで出る必要がないという点もプログラマー視点では大きなメリットかもしれません。

デメリット

一方デメリットがあるとすればこんな感じ。

  • 噛む力が弱まる → ガムを噛んで対処
  • たまに固形物を食べないと胃腸の調子が悪くなる → 1日完全にCOMPな日は多くはなかったのでたまに起きる程度だった
  • 割るための牛乳やスムージーも含めると1食あたりの食費はあまり抑えられていない可能性 → 時間効率と栄養価を考慮したらお買い得ではあると思う
  • いろんな人から質問 OR 心配の声を掛けられる → 気づいたら「COMPの人」みたいな感じで認知されているようだった
  • まとめ買いはそこそこスペースを取るし重いので保管場所の確保が必要 → 自分は会社のデスク横に置いてOKなので問題なし
  • (人によっては)腹持ちが悪い → コンスタントに少しずつ飲むことで長持ちした感じがあるが個人差はある
  • 粉が手につくとちょっとベトベトする → そういうのが気になるタイプなので気持ちの問題かも

顎の力を維持するためのガムも甘いのばかりだと糖分多めで良くないし、ブラックガムもカフェインの過剰摂取にならないように気をつけなくてはいけないので、そういうときはキシリトール系が良い(?)そうです。

あとは地味に同僚や知り合いから心配されることが増えたのですが、健康な状態で出社している姿を見せていればそのうち納得してくれて、逆に興味を持ってもらえるでしょう(笑)

腹持ち悪い問題は、同じチームの方にお試しでCOMPを飲んでみてもらった所聞かれた感想だったので、消化のスピードとか胃袋の大きさなどで個人差が出るのかもしれません。

粉が手に付く問題は、COMPバージョンが3系の時は粉の粒度が荒かったのですが、4.0になってから小麦粉くらいの粒度になって粉が舞いやすくなってしまったのも原因かもしれません。

f:id:imaizume:20191219233716j:plain
現在のCOMP粉末は小麦粉やプロテインのような粒度です

結局なんでやめたのか

最後に、ここまで書いておきながらなぜCOMPを飲むのを辞めたのかということについて話すと、その理由は複数あります。 (正確には定期購入をやめただけでまだ家には在庫があるので、時間がない時の朝ごはん代わりには大変重宝しています。)

実はCOMPの定期購入から1年ほどして、いくつかの環境変化がありました。

  • オフィスが移転しランチ開拓が楽しみになった
  • チーム体制が変わって激務ではなくなり時間に余裕ができた

それまでは時間に追われていたのが、余裕が出て昼を食べても大丈夫だという安心感のようなものが生まれたのでした。 本来あるべき人間の姿というのかはわかりませんが、良い環境で心身ともに健康を取り戻したという点では評価すべきところではあります。

またこれと同時に

  • 食べ方の工夫などで血糖値制御ができるようになった
  • 炭水化物を減らすには自分で食べるものを選んだ方が良い
  • シェーカーを洗うのが面倒になった
  • やっぱり味に飽きた

という個人的な感覚の変化もあり、定期購入するも徐々に余るようになっていきました。 炭水化物についても摂取を減らして行きたかったのですが、COMPはあくまで全栄養素を均一に摂るものなので糖質OFFのような食べ方ができないため、カロリーは少なくても糖質はそこまで減らせてなかったことも要因としてあります。

そして直近だとグルメ系の会社へ転職したことで、ますます食生活からはCOMPが遠ざかってしまいました(笑)

f:id:imaizume:20191219231106j:plain
COMP公式のシェーカーは大容量で使いやすいのだが蓋の周りを洗うのがちょっと面倒

結論

COMPはユースケース次第では最高の食品だと思います。 自分のペースで食べれて栄養価も偏らずゴミも匂いも出ない。

普通の食事と比べたら味こそ劣るものの、今すぐ生活効率を上げたいという時には最高の選択肢の一つでしょう。 当面は在庫消費が続きますが、またいつか購入する機会があったらアップデートされたCOMPを試してみたいと思います。

Diverse退職の報告と在職時の振り返り・成果まとめ

f:id:imaizume:20191030145043j:plain
最終出社日に頂いた花束と色紙

表題の通り、現職の株式会社Diverseを本日10月31日付けで退職しました。 (ちなみに最終出社日が偶然にも10月10日=銭湯の日になった) すでに次の職場は決まっていて11月から始まりますが、それについては今回は触れません、機会があれば別で書きます。

ここでは新卒で入ったミクシィから、転籍後のDiverseまでに経験したことや成果(と個人的に思えること)をまとめました。 あくまで個人的用途で書いているものなので、時間がない方や興味がない方は上記のご報告だけ見ていただければ結構です。 また本件をより詳しく聞きたい方はぜひ個別に飯でも誘ってください (←誘われ待ち)

注意点: 当時の状況を書いている部分は、当然ですが現在とは違うことも書かれていますのでご承知おきを。

0年目 - 内定から入社まで

まだ社員ではないけれど、インターンや内定者時代も社員のように思って過ごしていたのでここから書きます。

SupporterZのイベントでミクシィと出会う

ミクシィとは先輩の紹介で就活SupporterZ(サポーターズ)に入って逆求人面談を受けていた時に初めて出会いました。 SNSしか(モンストすら)知らなかった自分でしたが、サービス志向やボトムアップ型の組織・カルチャーに惹かれ、インターンシップへの内定をいただきました。

みてねでサマーインターンシップに参加

pr.mixi.co.jp

家族アルバムみてねでのサマーインターンに参加し、主に新機能開発やバグ修正の他、テストの追加やAuto Layout対応などをしました。 (でもどれも当時はよく理解できていなかった) またスクラムイベントやユーザーオフ会というものも初めて経験し、3ヶ月でしたがとても貴重な経験をさせていただきました。 Rails以外の開発経験はほぼ無いに等しく、モバイル開発等は覚えながら見様見真似でタスクをこなしていったことを覚えています、というか本当に何も分からず先輩に聞いてばかりでしたが、どなたもすごく丁寧に教えていただき親切にしてくださったことを覚えています。

第1回 git challenge に参加

gitへの理解を深めた、とても思い出に残るイベントでした。 受賞こそ逃したものの、解説でブランチやgitオブジェクトの仕組みを理解することができ、今振り返ってもミクシィの文化として続けてほしいイベントだなと思います。 私もこのおかげで、現在ではcoconalaやtime ticketにてgitの相談サービスを出品するまでになりました。

alpha.mixi.co.jp

mixiグループに入社新卒

2017年4月にミクシィグループへ入社。 カルチャーマッチこそ感じていたものの実力に自信があったわけではなく、うまくやっていけるか不安に思っていたのを覚えています。 しかし採用活動のお手伝いや内定者イベントを通じて、主体性や自主性の面を評価していただいた記憶があります。 それまでは技術だけがエンジニアスキルの全てだと思っていた自分でしたが、そうではないということを認識したきっかけだったのだと思いますし、後のDiverseでもその点を評価していただきました。

1年目 - iOSエンジニアのキャリアのスタート

経験0からiOSエンジニアに

入社研修後は株式会社Diverseへ配属となり、Poiboyというマッチングアプリの担当になりました。 ...が、当時は自社の扱う婚活支援事業のドメイン知識も、担当になったiOSの開発経験もほぼ0の状態。

プロダクトのコードが100%Swiftだったので、言語的に扱いやすくすぐに覚えることができたのは幸いでした。 いろいろなマッチングアプリを入れて研究したり、カジュアルに恋愛や性の話をする会社の雰囲気にも最初は驚きましたが、後から考えると面白い会社だったなと思います。

また当時の上長も新卒である自分の成長を第一に考えてくれるようなとても良い方だったのも幸運でした。 忙しい中でも希望するタスクを任せていただいたり、難しいタスクでも学習の機会として時間を作ってもらったりと、とにかく人にも恵まれていたのは間違いありません。

夏キャンペーンでの無限スクロール実装とリリース延期

speakerdeck.com

入社後に最初に携わった大型の施策。 夏のキャンペーン企画として、アプリ内にスロットゲームを作成するというもので、当然ゲーム系の実装などしたことも無く試行錯誤しながらやった記憶があります。 技術的な課題や未知な点が多い中で、1ヶ月かけて実装した無限スクロールによるスロットゲームでした... が、諸般の事情で夏にリリースをすることができず、結局1度お蔵入りになったのは、今となっては懐かしいお話です。 (スライドには割とポジティブなまとめを書いているが当時は「マジフザケンナヨ」って思ってた) しかし一年越しにリリースされたので結果オーライ(?)でした。

採用イベント参加

自分が逆求人出身ということもあり、同じようなイベントに人事側としても行きました。 私が行くと、学生さんからの面談の満足度が高いと人事の方に褒められたことを覚えています。 自分なりには、自分よりもまずは相手の話を聞く、そこに興味を持って質問をする、みたいなことをしていたからかなという学びを得ていて、そこは今も大事にしています。

新卒同期によるコーポレートサイト制作

同期でコーポレートサイトのリニューアルを行うプロジェクトを本業と並行してやっていました。

会社のことを理解するため、いろんな人にインタビューしたり社長やマーケの責任者の方とミーティングを重ね、半年以上かけサイトで伝える内容やファーストビューのムービーに込めるメッセージなどをひたすら提案・修正していました。 途中同期がチームを離脱するといったこともある中でもなんとかサイト制作を続け、新卒1年目のうちにはリリースをすることができました。 なお現在のサイトは更新により別デザインになっています。

タスクはこなしていたが効率は悪かった

当時、チーム全体のモチベーションこそ高かったものの、成熟度は決して高くなく工数管理やKPTといったスクラムの開発手法の導入の検討すらしていない状態でした。 そのため深夜残業が常態化したり土日出勤があったりと割とひどい状態ではあったのと、その割に何をしていたのか覚えておらず、このあたりからテストや自動化に対する意欲みたいなのが徐々に高まっていったような気がします。 記憶に残っている出来事としては、Push通知の許可導線をPMに言われるがまま、あまり考えずにいろんな導線と条件で出しまくった結果、処理が複雑化してしまったためエンジニア部門の上長に相談したところ「効果測定すらしていないのにそんなにダイアログを出す意味無いだろう、考え直したら!?」と怒られたのは今となっては良い思い出です。 逆に言うと、ひたすら新機の開発と手動テスト、そしてQAからも上がってくる細かいバグの修正をひたすらやっていたのではないかと思います。

Poiboyはテストコードが0行だった一方、隣のチームではテスト文化が根付いており、そのチームの当時のリーダー的な人の勧めもあって初めて行ったiOS系の勉強会がDeNAさんで開催しているiOS Test Nightでした。

testnight.connpass.com

他社のテスト事例を聞いてやっていきたさは高まったのですが、当時のPoiboyは

  • ベースとなる設計自体がなく責務分割もできていなかったためテストが書きづらいなどの技術的な面
  • 機能開発最優先でエンジニアによるボトムアップの改善が難しかったなどの組織的な面

の両方からテストが思うようにかけず、エンジニア文化としてちゃんと運用にこぎつけるまでにはそれから2年を要したのでした。 このあたりの話は後にTest Nightで発表したりもしました。

speakerdeck.com

これも今振り返ったからわかることであり、当時は自分の技術力が足らないからだめなのだと思いこんでいたりして、みんなもこうやって何かを乗り越えるのかなぁとか今でも思ったりします。

学習もしていなかった

加えてこの頃は、プロダクト開発以外に学習時間をほぼ割いていなかったと記憶していて、iOSやSwiftなどの勉強会にはほぼ行ったことがなく(話を聞いても分からないと勝手に思い込んでいたのもある)、自動化も後手後手に回っており、結果として開発効率が悪い状態ではあったと思います。

しかしチームメンバー同士の人間関係は良好であったため、疲れてこそいたものの、辞めたいとか心を病んでいたという記憶が全くないのも事実。 むしろ当時のメンバーとは、今でもプライベートで会うほど仲良くしていたりします。

2年目 - 転籍とPoiboy再始動・iOS開発者コミュニティへの参加

git勉強会

iOS系の登壇には自信がなかったのですが、勉強会登壇にも目が向き始めたので、今のスキルでできる内容を考えた結果gitを選び登壇することにしました。 ちょうど就活で利用したSupporterZがエンジニア向けの勉強会を開催していたため、中の人にコンタクトを取ったらすぐにやらせてもらえました。

https://supporterzcolab.com/

git challenge以降はgitに対する理解が進み、業務でもcommitやpull requestの仕方についてよく考えるようになりました。 一方外を見た時、gitに関する勉強会や気軽に質問ができる場がないとも思っていたので、初めて外部で勉強会を開催し結果として再演までお願いされました。

speakerdeck.com

speakerdeck.com

また勉強会に来場された方から「実際に業務で困ったときに対面で質問がしたい」という声もいただいたため、相手の疑問点を中心に対面で解説ができるようcoconalaでの出品もすることにしました。

coconala.com

今後はiOS系の勉強会やサービス出品にシフトしようと思っていますが、機会があればまたgitの方でも何かやってみたいです。

iOSのチームリーダーに

入社して1年が経つ頃、諸々の事情で会社の若手メンバーが次々と抜けてしまう時期がありました。 前述のようなオーバーワークの常態化や曖昧な権限の移譲などが原因だったりしたため、会社全体として危機感を持った結果、チームに権限が移譲されたりスクラム開発をベースにした開発フローが導入されるなどしました。

自分はこの頃から、スクラムイベントの司会であったりiOSチームのリーダーなどを担当するようになっていました。 新しいメンバーがジョインしてくれたことでマンパワーに対する心配は無くなったものの、同時にメンバーのモチベーションや興味関心を上手く活かしながらコードを書いてもらう・レビューしてもらうということの難しさを知るきっかけにもなりました。 例えば全てのエンジニアがキレイなコードやテストに関心があるわけではないこと、品質とスピードにどこで折り合いつけるべきか、改善の効果はどう計測し上長に説明すべきか、このあたりは今も悩みながら試行錯誤しています。

www.wantedly.com

転籍と0からの組織作り

またそのすぐ後に、Diverseはミクシィグループを離れ株式会社IBJの子会社となったため、自分は転籍という形でDiverseに付いていくことになりました。 グループの子会社であることに変わりはないものの、ほぼ独立に近い形でやらせてもらえることになったため、エンジニア含め全員で組織作りを0から行っていくことになりました。 (それまでは採用もブランディングも親会社頼みだった)

初めての自社勉強会である「マッチングの裏側Night」に登壇したり、会社でやっているPodcastの収録・公開などを引き継いだりと、このあたりからはエンジニアの採用・広報にも参加するようになりました。 これらの企画は別のエンジニア社員が始めたものでしたが、始めることよりも継続することの方が難しく、それにはいろんな人を巻き込んでやっていくことが必要なのだなと実感しました。 当時は専属の広報もいない状態で、登壇や出演を交渉したりするのは時に難しく、けどできた時には面白いという体験をしました。

www.wantedly.com

podcast.diverse-inc.com

また今年の頭にはDiverse単独では初めて、DroidKaigi 2019にブース出展しました。 自分はブースの責任者として、手探りながら本業の傍らブースの企画を考えたりノベルティやブース関連グッズのデザインをデザイナーさんに依頼したり、当日はPodcastの公開収録を担当したりしてました。 DroidKaigiという場にも関わらず自分はAndroidの開発経験0の状態、それでもどうにかライブ収録を敢行し多くの方がブースに立ち寄ってくださいました。

www.wantedly.com

こうしたイベントには登壇・ブース出展、そして参加のための予算確保と乗り越えなくてはならないハードルがいくつもあるのですが、イベントの中心になって成功させられたことで会社の知名度も上がり、Diverseのエンジニア文化の1つとしてDroidKaigi参加が根付いたので、個人的にやって良かったと思います。

3年目 - 外部登壇の開始・そしてiOSDCへ

iOS系勉強会登壇を開始

そろそろiOS系の勉強会に出ようかなと考えていた頃、同じチームで仕事をしていたエンジニアにROPPONGI.swiftというコミュニティを紹介してもらい、初めてiOS関連での勉強会で登壇をしました。 2年が経ってようやく、体系的に経験・知識をアウトプットできるようになった遅咲きなエンジニアです。

speakerdeck.com

また会社の個人OKRで登壇を目標としたこともあって、今年の前半は立て続けにコミュニティの勉強会で登壇をしました。 こちらはその前のOKRで、コードの複雑度を下げるというトライをしたときの話をしたときの資料。

speakerdeck.com

また入社してから2年が経って、やっとPoiboyでも自動テストの仕組みがようやくプロダクトに導入できたこともあって、前述のTest Night登壇を果たしました。 入社した頃にiOS Test Nightに参加した時は、正直発表者が何を言っているのか分からないレベルだったのですが、そんな自分がアプリのテストについて発表しているのは、自分で言うのもアレですが感慨深いものがあります。

ちょっとだけ数値周りを担当しlookerを扱う

あまり書けないけど、言えるはlookerマジスゴイ!ということ(笑)

www.wantedly.com

iOSDC Japan 2019登壇

前述のDroidKaigi 2019でAndroidエンジニアが頑張ってくれたので、今度はiOSエンジニアの出番... ということでiOSエンジニアのキャリアとして一つの大きな山とも言えるiOSDCに登壇を決めました。 テスト系の話だったので受かるかどうかは微妙だと思っていましたが、最終的には初登壇の30分枠で当選することができました (初めてだったので5分LTかと思っていたのでちょっとビビった)。 またスポンサー募集が始まった日に応募ページを見に行ったらすでにブース枠が埋まりかけていて、慌ててエンジニアリーダー的な方に相談しに行ってその場でブース参加をポチった思い出もありますが、やはりDiverseの組織が小さく柔軟であるからこそできたことだなぁと思い、その点はとても個人的には好きでした。

正直に言うと、「実戦投入」と題しておきながら、プロポーザル応募の時点では導入の検討を始めていた段階でした。 そのためどうにか登壇までにプロダクトのテストコードに載せられるように0ベースでスナップショットテストを始めたのでした。 (登壇を理由に新しい技術を触れたのは良かったが業務時間もけっこう使い込んだのでその点は反省) 登壇準備はもちろんのこと、ブース運営側のお手伝いもしたり、必要とあればタスクマネージもしたりしていて、気づけばあっという間に7,8,9月が過ぎていました。 ブースや発表の様子はDiverseのブログに書きましたが、DroidKaigiに続き大きなイベントで初めて登壇・ブース展示するこの過程は他では経験できなかったことでした。

developer.diverse-inc.com

タイミングとしてはDiverseでのキャリアの最後の集大成となってしまいましたが、来年以降もきっと優秀なiOSエンジニアたちが登壇を続けてくれるものと期待しています!

もっといろいろあった気もしますが、ひとまずやったことはこんな感じでした。

まとめ - 2年半で何を得たか

ざっくりまとめるとこんな感じでしょうか...

  • 知識0からiOSDC登壇に至るまでの技術力 +α (e.g. 行動力・説明力・コミュニケーション力 etc.)
  • 多様なバックグラウンドを持つメンバーとの開発・コミュニケーションのとり方
  • 継続的なアウトプットによる会社・個人のアピアランス及びエンジニアとしての市場価値
  • スクラム開発のいろは、継続性のある開発に対する各種手法の必要性を理解
  • 単体・スナップショットテストの書き方・メリットとコストパフォーマンスに対する感覚
  • 事業は楽しいことばかりではない、大事なのは辛い時にも何をモチベーションとし、どう向き合うかということ
  • (日記みたいなのをつけておけばもっと具体的に書けたのかもしれない)

以上個人的な忘備録でした。