futabooo blog

色々手をつけすぎてすぐに忘れるので備忘録

転職して3ヶ月たったので振り返ってみる

こんにちは!こんにちは!

ほぼWFHだったので夏がいつの間にか通り過ぎて涼しい季節になったのがすごく嬉しいですね。 私事ですが7月頭から新しい会社で働いていましたが10月に入り試用期間も終了したので近況でも残しておこうかと思います。

前職と転職先

6月末で株式会社エウレカを退職して7月から株式会社10Xでソフトウェアエンジニアとして働いています。

eure.jp

10x.co.jp

転職活動

昨年の10月ぐらいからゆるゆると他社の話を聞いたり体験入社的なことをさせてもらったりしていました。

本格的に活動し始めたのは今年の4月頃からです。 退職の意志をはっきりと伝えて、6月末での退職が決まってからガッツリ転職活動をはじめました。

退職の意思表明をした時はまだ次が決まっていなかったのですが、 有給消化しながら探して、もし見つからなくてもAndroidの業務委託でもしながら探せばなんとかなるやろ!みたいな気持ちでした。 幸いにも10Xにご縁があって無職にはならずにすみました。

転職活動については本格活動を始めるタイミングでTwitterエウレカ辞めますツイートをしたら そこそこ反応がいただけてたくさんのカジュアル面談をさせてもらえました。

あんまりにも多く予定を入れすぎたので、自分が聞きたいことを事前に用意して公開しておきました。

カレンダーこんな感じになってました。 最終出社以降の青いとこはカジュアル面談とか選考です。

f:id:futabooo:20201002201221p:plain

予定の調整にはyoucanbook.meというサービスを使いました。 Googleカレンダーと連携させることで空いてるところに企業側から時間を入れてもらうことができるようになります。 これのおかげで予定の調整はめちゃくちゃ楽でした!

youcanbook.me

10Xに転職してみて

プロダクト

最近タベリーをクローズしており、今はStailerに集中し始めているところです。 イトーヨカドーのネットスーパーはStailerで提供されています。

stailer.jp

入社以前からPdMとしてのYamottyさんには注目しており、入社してみてもプロダクトへの向き合い方に驚くばかりです。

ユーザーとしてもアプリを使って買い物をしているので日々の小さい気づきなんかをプロダクトに反映できるのはモチベーションにとてもよいです!

テクノロジー

これも入社前から記事などで知っていましたが、FlutterやサーバーサイドDartをさわることになりました。 また直近ではAppStoreやGooglePlayStoreのレビュー通知Botを動かすために、JavaScriptやNodeやDockerやKubernetesなど幅広くさわっていました。


今回の転職において、衣食住などの生活インフラに関わる部分でプロダクトを良くするために何でもやれる環境みたいなものを探していました。 入社して3ヶ月、いまのところ10Xではそれができていると思います。

一方で期待されている価値を出せているか?でいうと開発においてもスクラムマスター的な経験を活かす部分においてもまだまだだと思っているのでこれから引き続きやっていく感じです。

おわりに

入社1ヶ月ぐらいで代表のYamottyさんのPodcastに登場して話したりもしてるので興味があれば聞いてみてください。 (自分の声こんなんだっけ?って思ってますがこんなんなんですねきっと)

‎ゼロトピック - Zero Topic:Apple Podcast内の#72 「自分のつまづきがすでにドキュメントになって再発しないのに驚いた」 with ソフトウェアエンジニア @futabooo

Work From Homeのデスク環境

昨今あれでWorkFromHomeの時間が増えたので自分のデスク環境を晒してみます。 ニトリの手動で昇降するデスクが結構気に入っています。 たまにスタンディングにしたりできるので。

斜めから

f:id:futabooo:20200331121013j:plain 左横に本棚があり、そこにライトをつけてます

実機デバッグする事が多いのでどうしてもマックとつなぐケーブル出ちゃうのをなんとかしたいのと、 もうすこし大きめの外部ディスプレイにしたい欲があります。

下から

f:id:futabooo:20200331121922j:plain 配線はニトリのデスクがコードポケット付きでそこにだいたいしまってあります。

それぞれ使ってるもののリンクまとめておきます

www.nitori-net.jp

実際に購入したのはこちらの中古オフィス家具屋さん、状態を気にしなかったらめちゃ安く買えます。1脚からいける。 www.officebusters.com

actto BST-02 ブックスタンド

actto BST-02 ブックスタンド

  • メディア: エレクトロニクス

www.pfu.fujitsu.com

2019年に買ってよかったもの

2019年は引っ越しして大物家電も買い替えたりしたのでまとめてみます

家電

Anker PowerPort Atom III 60W

MacBook Pro (15-inch, 2018)を使っていますが、Mac純正のACアダプタよりも小さいので持ち運びに便利

SONY WI-C310

会社で仕事中に使うために購入 いままでは有線のものを使っていて、会議などで自席から離れる際の着脱をしていたのですがその手間が減って快適

電動歯ブラシ

パナソニック 電動歯ブラシ ドルツ 黒 EW-DP52-K

パナソニック 電動歯ブラシ ドルツ 黒 EW-DP52-K

  • 発売日: 2018/09/01
  • メディア: ホーム&キッチン

歯がつやつやになります

シャープ 冷蔵庫 SJ-PD28E-T

冷凍庫の容量が125Lの大容量で全体の半分近くをしめる なんでもとりあえず冷凍保存できるだけのスペースが確保できて最高

食洗機

エスケイジャパン Jaime 食器洗い乾燥機 工事不要 SDW-J5L

エスケイジャパン Jaime 食器洗い乾燥機 工事不要 SDW-J5L

  • 発売日: 2019/01/21
  • メディア: ホーム&キッチン

洗い物はこいつのおかげでほとんど手を動かさなくて良くなった ふたり分ぐらいまでならこれで十分 工事ができないキッチンでも置けるので買ってすぐ使える 水を手で入れる必要がありますが、洗い物を自分でする手間に比べたら全然許容できる範囲

LeanとDevOpsの科学

メトリクスの話 良いパフォーマンスを発揮できている組織なのかどうかを図る指標をパターンとして見出していてよかった

  • 本の中で紹介されている指標の一部
    • コードのデプロイ頻度
    • コミットからデプロイまでのリードタイム
    • 平均復旧時間
    • 変更可能失敗率

その他

昇降できないデスクでもこれがあれば一瞬でスタンディングデスクとして使える

2019年の振り返り

2019年の振り返りをTwiiterの投稿とともにしたので残しておきます。 この形での振り返りは昨年初めてやってみて、割と簡単に1年を振り替えれるのでおすすめです。

2018年の振り返り - WhereToStart

次のような感じでTwitter検索すると1ヶ月ごとの自分のツイートを振り返ることができます。

from:[your account name] since:2018-01-01 until:2018-01-31

2019年1月

PROからアマチュアになったようです。

RSGT2019でエウレカの組織改善について発表していました。 現在も形を変えて大規模リアル看板は運用されています。

エウレカに入って6年目。社のインタビューで自分の経験や変化についてお話しました。

アドベントカレンダーで書いた記事がきっかけでAtlassian User Groupで発表しました。

2019年2月

エウレカではQPO(Quarterly Offsite Planning )というまる2日間で次の4半期でやることの大枠を決める会議があります。 このOSTではそこで決まった話についてメンバーと一緒にディスカッションして理解を深めるワークを行いました。

はい。

かわいい。

初めてDevelopers Summitに参加し、カンファレンススタッフ経験者として運営のことなどを観察してたのを思い出します。 誘導は大事。

2019年3月

Slackを大掃除しました。

DevLOVE関西でRSGT2019の再演をしました。エウレカに来てくれているアジャイルコーチ繋がりで良い機会をいただけました。

試したい。試させてくれる場があれば行きたい。

2019年4月

技術書典6で表紙になった。

まったく記憶にないしなんで起きたのか未だにわかってないので中の人こっそり教えて下さい。

僕のツイートではないですが、当日飛び入りで発表しました。

2019年5月

Google I/Oに参加しました。 Twitterでは知ってた人に現地でエンカウントできたり、AmazonGoを体験したりしてきました。 AmazonGoの体験は本当に良くて日本でも早くあの感じのお店が増えてほしいものです。

ストーリーポイントでの見積もりがなんで良いとされてるのか、自分の中でこれだ!と理解できた瞬間だった。

2019年6月

5月のGWぐらいからチーム移動してリリース前、リリース日固定のプロジェクトで闇気味のときですねこれは。

2019年7月

エウレカ6年目に突入した月。

SECIモデルの話をしたいだけの発表だった。 ナレッジもマネジメントするもの。

id:seto_hiさんが業務委託としてジョインしてくれました。 当時のことなどをブログにもしてくれているので、そちらも合わせて読んでみてください。

seto-hi.hatenablog.com

2019年8月

InrernalAppSharingを新規アプリのリリースに向けて結構使ったので、どこかで発表するか資料つくるかしておけばよかった。

2019年9月

5月から着手で8月にリリースした。 めちゃくちゃスコープを削ることをしたし、進め方で反省も多かった。 でもリリースできてよかった。

メルペイの勉強会に参加してDesign docを知った。設計の意図や履歴をしっかりドキュメントに残すっていうのをやっていきたい。

PairsエンゲージAndroidチーム!!リリースまでの短期間でありましたが手伝ってくれたお二人にめちゃくちゃ感謝しています。

setoh (@seto_hi) | Twitter

ふじたく (@magie_pooh) | Twitter

打ち上げは麻布十番こま(麻布十番/居酒屋) - Rettyというところでうまい日本酒と肴でした。

技術書典7にて

2019年10月

見積もりとかエンジニアの評価について雑談した。めちゃくちゃ楽しかった。

台風で停電した。この日はお風呂にお水だめたり、事前に冷蔵庫の中身を調理しておいたりをパートナーがしてくれていたのでなんとかなった。 備えあれば憂いなし。

まじでさがしてる。

2019年11月

Bitriseのサクセスストーリー動画みたいなのにエウレカが紹介された時に動画に登場しました。 太ってるので痩せることを決意した日だった。

Designship2019に参加。デザイナー系のカンファレンス初参加でいつもの自分の界隈との違いがいい意味で刺激的だった。 エンジニアリングだけでもデザインだけでも、マーケティングだけでもプロダクトはつくれないのでここがシームレスに繋がってるチームが最強だよなと再認識した日だった。

γ-GTPがやばい

2019年12月

大きい冷凍庫は正義。なんでもとりあえず冷凍しておくっていう意思決定ができて最高。

DMMに初めてお邪魔した。こういうときは写真付きがいいですね。

GDG DevFest Tokyo 2019参加

potatotipsで久しぶりに発表。Android Jetpack Navigationについて話しました。 DeepLinkは罪深いですね。

33歳になってもお酒を買うのに年齢確認されました。はやく見た目に大人の雰囲気を持ちたいものです。

総括

チームやプロセスに注力した2018年から変わって2019年はPairsエンゲージという新規プロダクトを作るAndroidエンジニアとしての側面がとても大きい1年となりました。 Pairsエンゲージの開発についてはたくさんの人に助けてもらいました。自分一人では絶対にリリースをやりきることはできなかったと思います。 めちゃくちゃに忙しかったはずなのにI/Oに行けたり、外で発表する時間をしっかり取れていたり本当に環境に恵まれていると再認識しました。 他方でデザイン系のカンファレンスに参加したり、LTで飛び入りでデザインについて発表したり、社内のデザイナー勉強会に顔をだしたりとデザインに興味を示して行動をし始めた1年でもありました。 デザインのことまで興味を持ち始め、自分は一体何者なのか何者になりたいのかふわふわ感が進んだ気もしますがそれもまた良さなのかと思うようにもなってきました。 変化に最も対応できる生き物が生き残るこれはエウレカの行動規範のひとつですが、自分が何者なのかを定義しないことで変化に対応できてるきもします。なんてね!

少し早いですが2019年お疲れさまでした!よいお年を!

Androidアプリで実行時にFirebaseAnalyticsを環境によって使い分ける設定方法

すでにFirebaseAnalyticsを使っている人向けです。 まだ使ったことがない人はまずは下記を参考に導入から管理画面でのイベントの確認まで進めてみることをおすすめします。 Get started with Google Analytics for Firebase on Android | Firebase

Androidアプリ開発していると本番環境と開発環境でFirebaseのプロジェクトを分けたい事案が発生することがあると思います。 公式ドキュメントでも複数のFirebaseプロジェクトをサポートするための実装方法が案内されています。

Configure multiple projects | Firebase

しかしこの方法は環境ごとのgoogle-services.jsonを用意した方法となっており、FirebaseSDKに初期化方法を任せた形での実装となるためBuild時に環境を選択することはできますが実行時に選択することができません。 下記の感じになります。

app/
    google-services.json
    src/development/google-services.json
    src/release/google-services.json
    ...

そこで初期化を自分たちでやる実装に変更し、実行時に複数の環境から選択できるような実装に変更する必要があります。 この方法自体はFirebaseの公式Blogでも紹介されています。

developers-jp.googleblog.com

記事を読みながら手順を踏めばだいたいうまくいきますが、必要ない設定もあったりするのと自分でやる際に少し工夫した部分もあるので復習の意味も込めて紹介します。

1. FirebaseInitProvider を無効化する

AndroidManifestのapplicationタグ内に下記を追加します。

<application>
  <provider
    android:name="com.google.firebase.provider.FirebaseInitProvider"
    android:authorities="${applicationId}.firebaseinitprovider"
    tools:node="remove"
  />
</application>

2. FirebaseApp.initializeApp() を呼び出して初期化する

公式Blogではいくつかsetメソッドが呼ばれていますがFirebaseAnalyticsを使うだけならsetApplicationIdだけ呼べばいけました。

val builder = FirebaseOptions.Builder().setApplicationId("your_ google_app_id")
FirebaseApp.initializeApp(this, builder.build())

ここでyour_google_app_idgoogle-services.json{YOUR_CLIENT}/client_info/mobilesdk_app_idの部分になります。

3.strings.xml内にFireBaseAnalyticsから呼び出されるようにkeyvalueを設定する

上記までだとアプリを実行した時にMissing google_app_id. Firebase Analytics disabled. See https://goo.gl/NAOOOIというエラーが表示されてAnalyticsが動きませんでした。 そこでstirigns.xmlに下記の1行を追加すると動くようになります。なぜこの行が必要なのかまだわかってないのでコメントもらえたら嬉しいです。

<string name="google_app_id" translatable="false">"your_ google_app_id"</string>

google-services.jsonのkeyvalueとstrings.xmlのkeyvalueの対応は下記のdocで確認できます。

developers.google.com

これで実行時にFirebaseOptionsを引数を変えて作成することができるので、環境に合わせて使い分けることができるようになります。

RSGT2019でスクラムチームをやめて20人でカンバン運用してきた半年間の軌跡というタイトルで発表してきた

RSGT2019で発表してきました。

2019.scrumgatheringtokyo.org

発表資料がこちらです。

20分枠だったのですがおよそ150ページの資料を作ってしまい、前半部分を高速でポチポチしてサマリーを喋るだけにとどまってしまいました。 Twitterで資料公開のつぶやきをしたところ自分史上では中々の数のFavをいただいているので、需要があると感じたのでカンバンをつくる際にInputになった資料をまとめてみようかと思います。

カンバン仕事術

カンバン仕事術

カンバン仕事術

カンバンの原理原則、WIPの制限について学ぶことができます。また本書の後半にはカンバンの理解を深めるためのワーク例も記載されているので、チームに広めたい場合に引用するのにも大変役立ってくれました。

カンバン始めたいと思ったらまずこの本を読んでおけば問題ないと思います。私自身初めて読んだ時は当時同僚として働いていたkajinariさんにお借りして読みました。そのあと手元に置いておきたくて自分でも買いました!

リーン開発の現場

リーン開発の現場 カンバンによる大規模プロジェクトの運営

リーン開発の現場 カンバンによる大規模プロジェクトの運営

スウェーデン警察におけるとても大きなプロジェクトの事例をもとに、どのようにカンバンとリーンの原則を適用したかかを紹介しています。今回の私の発表とはまた違いますがそこには確かに現場があって戦ってきた人たちがいます。

アジャイルコーチの道具箱 – 見える化実例集


アジャイルコーチの道具箱 – 見える化実例集 すごいチームはどう見える化している?
作者:Jimmy Janlén and 原田騎郎, 吉羽龍太郎, 川口恭伸, 高江洲睦, 佐藤竜也


96個の見える化の実例が載っています。発表の中で話したパーキングロットはここからのアイデアでもあります。カンバン上でやっていたことに名前がついていたのか!と確認できたりもしました。

かんばんとスクラム 両者のよさを最大限ひきだす

www.infoq.com

発表の通り、Pairs事業部ではスクラムをやめてカンバンへの移行となりました。スクラムとカンバンの比較を通して活かせる部分異なるので気をつける部分などを把握するのに役立ちました。

タウンワークをドライブさせるためになんちゃってアジャイルをやめた話

リードタイムの計測に関してものすごく参考にさせてもらいました!カンバンの手戻りをどうやって計測するか?見えるようにするか?ということが解決できました。

おわりに

自分がアジャイルとかスクラムとかカンバンとかに興味を持って、よちよちあるきでもやってこれたのは@kajinariさん@yohhatuさんのおかげです。この記事や発表のスライドがどこかの誰かにとってやってみよ!となるなにかになれれば良いなーと思います。

質問とかあれば @futaboooまで!

2018年の振り返り

新年明けましておめでとうございます。

振り返り記事を年明けになって書き始めました。

一年間を思い出すのに今回は流行り(?)のTwitterで振り返るっていうのをやってみました。 次のような感じでTwitter検索すると1ヶ月ごとの自分のツイートを振り返ることができます。

from:[your account name] since:2018-01-01 until:2018-01-31

2018年1月

冬休み全然冬休みしてなかったようです。なにやってたのか全然思い出せません。他の1月のツイートを見てもまったく思い出せません。2019年の冬休みも今の所冬休み感がまったくありません。年明け1週目に登壇が控えているのでその発表資料づくりに追われています。

2018年2月

2月はいくつかトピックがありました。

DroidKaigiで話せなかった話を勉強会で話しました。Androidアプリが無いWebサービスを使っていたので、自分でスクレイピングしてAndroidアプリを作った話です。その2ヶ月後ぐらいに公式Androidアプリがリリースされたのでモチベーションが一気になくなりました。

作ってたアプリ play.google.com

DroidKaigi2018では企画スタッフとしてコードラボやアフターパーティーでの登壇者への風船の準備などしていました。コードラボではピアノを作るツワモノがいて驚きましたw

DroidKaigiといえばカンファレンスアプリがOSSとして公開されるています。私が実装したセッションアンケートでのバグが当日発見されるなどしていて本当に申し訳ない気持ちでいっぱいでした。見つかってから修正されるまでのスピード感にも驚きました。

2018年3月

ペイモガールが会社に来てくれていました。僕は会えなかった。残念。(ツイートではPaymoになってますがpaymoが正しい表記です)

技術書典4へ参加が決まって、初の同人誌執筆をしていました。

Androidエンジニア デザイン部#1に参加して懇談会で話していた内容をツイートしたら100Fav超えしてビビってました。

nohana.connpass.com

2018年4月

DroidKaigi2018でAndroidThingsのチューターやっていたつながりで、別のイベントでもチューターとして参加してました。

技術書典4を無事に終えることができました。初めての同人誌、でもたくさんの人が巻き込まれてくれて最高につら楽しいイベントでした。

会社ではスクラムチームからチームの形を大きく変え、カンバンの運用を始めた頃でした。振り返るとこのあたりからチームや組織、プロセスへの興味がましてきてように感じます。

2018年5月

引っ越しました。

Kotlin!!!

2018年6月

月1でやってたもくもく会の日がサッカー代表戦だったので、途中で切り上げて参加者のみなさんと寿司食いながら見てた。

チームの開発スタイルについて話しました。今では全社的にペアプロ・モブプロという選択肢が普通になっています。

2018年7月

チームワーク賞をもらいました。クラッシュフリー率の改善に注力していた時期です。

会社のイベントで話しました。このときはデザイナーとエンジニアで一緒に話した。参加者も両職種で、普段参加するエンジニア向けイベントとは違った側面での開発プロセスの話などができて大変良かったです。

月イチぐらいでやってるゲーム会。このときはまだWiiスマブラだったような気がします。

2018年8月

疲れてきた。

3月には単に参加者だったAndroidエンジニア デザイン部の第2回で登壇してきました。

この記事を読んでから、ほんとうの意味で全体最適に達することは難しいので個別最適を積んで改善していくしかないという思考になるようになった。

サマソニにPairsがスポンサーしてました。

いざ読んでみると恥ずかしいですね。

また行きたい。

2018年9月

こんなこともありましたね。

4系の呪縛から解き放たれた瞬間。

実は3月ごろに一度落として修理してたのをまた落とした。

2018年10月

春に参加した技術書典4に続き、秋は技術書典5にも参加してました。この時は合同誌をやめて、1人1冊だす方式だったので1人のボリュームが多くて割と苦労しました。

多分スクラムにおけるベロシティの話してる。同じ時間でより遠くに行けるのは短距離走の選手よりマラソン選手だよねって話だと思います。

2018年11月

実はアワードにPairsで登録したけど選ばれませんでした。最後にいくつかデザイン調整したけど、長期でしっかり腰据えてやりたい。

matching-dev-group.connpass.com マッチングに特化したAndroidiOSの勉強会で当日飛び込みLTしてきた。

認定スクラムマスター(CSM)になりました。

2018年12月

大変です。

今年はアドベントカレンダー2つ書きました。

2018年最後のツイートはごはんに迷ってました。結局何を食べたのかは思い出せません。

総括

2018年は会社としては組織体制が大きく変わり、個人としてもその変化に対応して振る舞いを変えた1年となりました。エンジニアとしてコードを書く時間よりもチームや組織やプロセスに対して思考する時間やアウトプットする時間の割合が大きくなっていきました。コードによるアウトプットと違い、自分のアクションからのフィードバックが来ないことや遅いことも多く、今自分がやっていることはなぜやっているのか?本当に意味があるのか?自分のためになっているのか?今後のキャリアは大丈夫なのか?と様々なことに不安になることも多くありました。それでも会社の締め会では2018年のMVPをいただくことができ、やってきたことを認められたことで悪くない1年だったなと感じています。 f:id:futabooo:20181220161033j:plain

2019年も引き続き不安を抱えたままだと思いますが、自分のペースでやっていきたいと思います。