ninjinkun's diary

ninjinkunの日記

Launchableでソフトウェアエンジニア、データエンジニア、データサイエンティストを募集します

自分が働いているLaunchableでまた開発者を募集することになりました。ソフトウェアエンジニアに加え、今回はデータエンジニアとデータサイエンティストも募集します。

会社の推しポイントは引き続き以下の通りです。

  • テストの高速化という全開発者の課題に挑戦
  • 優秀な同僚
  • アーリーステージのアメリカの会社
  • 英語で仕事
  • フルリモートワークでかなり自由度高し

一緒にこれになりましょう→海外の会社にリモートワークで働く | 川口耕介のブログ

最近のLaunchableどうよ

早いもので、もう自分が勤めてからもう一年が経ちました。昨年11月にLaunchableに入社して四ヶ月が過ぎた - ninjinkun's diaryを書いた時点ではまだプライベートリリースだった製品もだいぶ進捗して

と実際に触れる製品がリリースされています。製品の使用イメージはドキュメントを参照するとわかりやすいかと思います。Webアプリの画面はこんな感じです。

f:id:ninjinkun:20210622191122p:plain f:id:ninjinkun:20210622192545p:plain

…という感じで出来てますアピールをしましたが、実際はまだ本当に最低限の部分のみ。増え続ける世界中のユーザー、増え続けるユーザーのテストフレームワーク、CI環境、無限にやることがあります(よくあるフレーズですが本当です)。ぜひ一緒に働きましょう!

同僚のブログ

yoshiori.hatenablog.com t.co

なぜランニングを始めたのか、どうして続けているのか

ランニングを始めて14年ほどになる。そんなに大したランナーではない。だいたい週に2、3回、5km〜10kmを走っている。フルマラソンには一度出たきり、タイムは5時間。全く走らない月もあったし、やたら走る月もあった。先日140. ninjinkunさんと財テクの話 | Ossan.fmに出て自分のランニングの話をしたのがきっかけで、どうして走っているのかをきちんと思い出して書き留めておきたくなった。

走り始めた経緯

自分は村上春樹が好きで、彼がランナーなので同じようにランニングを習慣にできたらいいなとぼんやり思っていた。

実際に走り始めたのは大学院に通っている時だった。当時自分は研究がうまくいっておらず(今から思うと真面目にコツコツやっていなかっただけ)、就職活動にばかり時間を割いていた。そんな中でも中間発表やら学会発表やらは容赦なくやってくるので、それなりにストレスがかかっている状況だったと思う。しかし山の中にある大学院だったので、ストレス解消といってもニコ動を見るか同期と飲み会をするくらいしかない。そんな折、学内の道路を走っている学生や先生がちらほらいるのに気づいた。最初は「みんな運動好きだなー」くらいにしか思っていなかったが、気がつくと自分も走っていた。

靴はジム用に買った汎用品の運動靴、服はジャージ。初めは2, 3kmくらいで始めて、徐々に5kmくらい走れるようになった。足に筋肉がつくまでは結構キツかった記憶がある(ちなみに10年以上経った今でも走った翌日は筋肉痛になるけど、こういうもの?)。当時は懐かしのiPod nanoで音楽やPodcastを聴きながら走っていた。

プログラマーとして就職してからも、「これからはずっとデスクワークだから体を動かしておかないと将来体がやばくなるだろう」と思ってランニングは継続した。当時は京都に住んでいたので鴨川を走っていた(理由は村上春樹が一番好きなコースだと言っていたから)。何か考え事をする際に走るようになったのもこの頃で、例えばはてなブックマークiOSアプリを作っていたときはひたすらUIを頭に浮かべながら走っていた記憶がある。今でも仕事で詰まるととりあえず走る習慣になっている。

ランニングで得たもの

健康

おかげさまで大きな病気もなく、風邪をひくのは年に一回くらい。心拍数は50弱。眠りも深い。幸いランニングによる事故や足を痛めたこともない。

ストレス耐性

仕事やプライベートのストレスフルな状況を切り抜けてこられたのはランニングのおかげだと思っている。「ninjinkun結構タフだね」と言われたことも何度かある。あるプロジェクトで毎日22時くらいまで仕事をしていた時も、帰りの通勤を帰宅ランにすることで気分転換をしていた。

考える時間

一人で考える時間を確保したくなると走っている。プログラマーとして仕様を考えるときはよく走っているし、プレゼンを控えているときは走りながら骨子を考えている。前述のようにUIを頭の中でシミュレーションしながら走っていたりもする。普段のランではPodcastを聴いているが、考え事のランのときは無音で走っている。

どうして続けているのか

ランニングは別に楽しくない。いや、楽しい時もちょっとだけあるが、基本的にはしんどいしだるい。しかし一度ランニングが習慣になると、体を動かさないとむずむずしてくる。体が自然に運動を求めるようになってくる。そうなるとため息をつきながら着替えてランニングシューズを履く。

自分にとってランニングは生活の基盤である。自分を支えるために今日も走っている。

Engineering in Voyageを読んだ

Engineers in VOYAGE ― 事業をエンジニアリングする技術者たち

技術カンファレンスで聴ける裏話を凝縮したような本だった。全編にわたって実際のビジネスに取り組むエンジニアの努力が取り上げられており、深い共感を持って読んだ。自分はこういった本がとても好きである。1200あるテーブルを450まで減らしたり、オンプレをクラウド移行したりと技術的負債を返済していく地道な話が中心になるが、どういう文化がそれを可能にしているのかが語られるのが面白い。

その文化とは、この本の副題である「事業をエンジニアリングする」に集約される。Voyageのエンジニアは事業をドライブするために手を動かす。そして時には事業サイドに切り込んで、利益が今後も見込めない事業(そしてそれに付随したレガシーシステム)を廃止したりもする。彼らはエンジニアであると同時にビジネスマンである。自分は事業サイドに切り込もうとして何度か痛い目を見たので、こういう振る舞いができる人は素直にすごいと思う。

WebではOSSや自作サービスを作るエンジニアが格好良く見えるが、本書を読むと事業にコミットするエンジニアも格好いいなと思える。社会に必要とされている人材は圧倒的に後者の方が多いはずなので、この本に出てくるエンジニア像がロールモデルとして広まっていくと良いなと思う。

コロナ禍で技術カンファレンス的なものに飢えている人にもおすすめです。

英会話で気づいたコンテキストの力

英語を使って仕事をするようになって一年ほど経つが、まだ集団での会話は苦手だ。しかし1:1なら割と言いたいことは伝えられるし、相手が言っていることもわかるようになってきた。この過程で自分が感じたのは、英語自体の流暢さよりも「共通のコンテキストを持っているか」の方が遥かにコミュニケーションに影響があるということだった。言い換えると「今何の話をしているか」と「相手はどんな前提で喋っているか」が理解できれば会話は成立する。

うまく例になっているか自信がないが、例えば相手が4月に"I skied with my family last Sunday"と言った時、初対面なのか、彼がコロラド州デンバーに住んでいてまだ近所のスキー場には雪があることを知っているかで受け取り方が違ってくる。知っていれば"Nice. How was the snow condition?"とかそのまま会話を進められるが、この前提を知らない場合、自分ならそもそもskiedが聞き取れない可能性が高い。

技術カンファレンスで外国人と英会話したら意外と話が盛り上がったり、GitHubOSSにissueを立てたら結構通じてしまったりするのも、一定の同質性を前提にできるからだろう(用語が世界共通なのも大きいが)。

元々自分は今の仕事に就く前からこの仮説を持っていた。自分はずっと同じ英語の先生と8年近く個人レッスンを続けているのだが、6年の間億劫だったレッスンが一転して楽しくなった経験があったからだ。きっかけは一昨年にお互いがビデオゲームが好きなことがわかり、彼がプレイしていたのと同じ Death Stranding を自分もプレイし始めたのを転機に一気に会話が弾むようになった。それ以来お互いのビデオゲームに関する話題使ってレッスンをするようになったので、今は毎週のレッスンが楽しみになっている。

この経験から、英語で同僚と話す際に以下のことを実践している。

  • 会話では固有名詞を使いまくる
  • 最初からある程度の詳細を話す
    • 日本語の会話だとまずふわっとした概要を話し、相手が興味を持ったら次に詳細という手順になるが、相手が興味あるかを気にせずに最初から固有名詞を入れた詳細を話す
      • 例えば I watched a movie at a theater よりも I watched Nomadland at a cinema complex in Sinjuku last weekendの方がフックがある
      • 相手が興味なさそうなら別の会話に移れば良い
  • お互いの好きな本を紹介し合う
    • 面接を担当してくれたデザイナーと入社前にこれをやっておいたのが関係構築に役に立った
  • お互いの好きなNetflix作品を紹介し合う
  • 一緒にゲームをする
    • 最近だとチェスを教えてもらって、こちらは代わりに将棋を教えた

今のところ同僚とはフレンドリーに会話ができているので、ある程度はうまくいっていると思う。もちろん英語自体の勉強も続けていくが、こういったコンテキストの帯域を太くする努力を今後も続けていきたい。

財テク遍歴

遍歴といってもここ二年くらいの話。今は 普通の人が資産運用で99点をとる方法とその考え方 - hayato に落ち着いた。

  • もともと定期預金以外は面倒でやっていなかった
  • ロボアドのWealthNavi社に元同僚が転職したのが契機になって、試しに自分のお小遣いを入れたら増えてポジティブなイメージになった
  • その後家計から定期預金に積み立てていたお金の半分をWealthNaviに積み立てて運用
    • コロナ当初の株安で下落を経験
    • その後の株高のおかげで20%ほど増えてトータルでは良い体験だった
  • しかし周りの人に聞いてみると手数料が高いらしい (1%)
  • 調べてみるとiDeCo+積み立てNISAが定番ということがわかってくる
  • 普通の人が資産運用で99点をとる方法とその考え方 - hayato を読んでこれならできそうと思う
    • 素晴らしいエントリです
  • しかし始めるのはとにかく面倒
    • 楽天証券の口座を開設
    • iDeCoのために会社に社印を押して貰う
    • 楽天カードを作って?引き落としにして?毎月ポイントゲット?
      • 辛い気持ちになりながら全部セットアップした
    • 積み立てNISAを設定
    • 特定口座での投資信託の積み立て設定
    • 定期預金の再設定
    • iDeCo開設まで二ヶ月ほど待たされる
    • iDeCoのパスワードを入れて銘柄を決めて…なんでパスワードが必要でUIも違うんだ?
    • これを妻の分と2セットやって消耗した
  • あとは99点取れていると信じて老いるだけ

多分これでも簡単な方なんだろうけど、総じて面倒だった。元々資産運用が好きとか、かなり強い意志がないとやらないのではないか。そう言う意味では手軽に始められるWealthNaviは素晴らしいサービスだった。しかし手数料1%→0.1%というマトリックスの外側の世界が見えてしまうと脱出せざるを得ず…。自分のお小遣いはまだWealthNaviに入れてます。

スマートホームソリューションによるテレビとオーディオアンプの電源連動

自宅のテレビと音声出力に使っているオーディオアンプ(not AVアンプ)の電源を連動させる方法を探していたのだが、ついに成功した。

結果はシンプルなのだが、裏側は下記の図にあるようにやたら複雑である。HDMI連動のAVアンプを買えば一発で解決することはわかっているのだが、貧乏性でがんばってしまった…

f:id:ninjinkun:20210310184345p:plain

玄関マスク入れ

山崎実業といえば、無くても生きていくのに全く困らないけどあったら便利なものを数千円で売っているナイスな会社だが、この会社のTwitterをフォローしているおかげで定期的に欲しいものが出てきて困る。今回は玄関にマグネットで取り付けられるマスク入れという商品を出してきて、玄関脇にマスクを置くスペースがなかった我が家のための製品だったのでつい買ってしまった。結果、出掛けにマスクを忘れても靴を脱いで部屋まで戻らなくていいので便利です。

ドアと色が違うので割と存在感がある。 f:id:ninjinkun:20210204134607j:plain

買ったのはこれ。

親子で別々のサイズのマスクを入れたいニーズにも応えていて、横に並べて設置できる形の製品も売っているので抜かりがない。これなら2台売れる。

PS5その後

2週間ほどPS5を使ってみての感想。

  • PS4ソフトは読み込み高速化、4K画質、フレームレート向上などの恩恵だけだが十分嬉しい
    • Cyberpunk2077は読み込み速度が1/3くらいになった
  • 本体付属のAstro’s Space Roomは楽しい
    • このレベルのゲームがどんどん出てくるのに期待
    • コントローラー、3Dオーディオの可能性を感じる
  • 3Dオーディオがすごい
    • 自分は対戦型のシューターをほとんどやらないが、Fortniteで試してみたところ足音や発砲音の定位がすごかった
      • 音が来る位置が上下までわかる
    • PS5に最適化されていないと有効にならない
    • 専用ヘッドセットはこれがワイヤレスで楽しめるだけでも買う価値あり
  • コントローラーのアダプティブトリガー楽しい
    • No Man’s Skyで宇宙船に慣性がかかっている時にブレーキを踏むとトリガーが重くなるのは面白かった
    • まあ必要か?というとそこまでは…
  • 起動時(スリープ復帰時)のBlue-rayディスクの読み込み音がうるさい
    • 本体の動作音が静かなだけに気になる
    • ドライブにディスクが入っていると毎回轟音
    • これだけでDL版中心に買おうと思うくらい
    • 1分くらいでおさまる
  • ×○スワップ問題はすぐ慣れる
  • ゲームランチャーのUIはまだ慣れない

PS5入手

昨年11月にAmazonで購入したPS5がようやく届いた。Amazonが在庫がないのに購入を受け付けてしまったというトホホ案件だったのだが、いつ届くのかわからないPS5を待ちながら「PS5 Amazon 発送」とTwitter検索を繰り返す不毛な日々だった。待ちきれずに抽選にもいくつか応募していたがことごとく落選し、心が折れかけていた中でようやく届いて安堵した。

しかしこんなに欲しくても手に入らないものがあるというのが久しぶりで新鮮だったし、Twitter上での「11月18日Amazon購入組」の人々との謎の連帯感はインターネットが狭かった時代を思い出して懐かしくもあった。

そんなに欲しかったPS5だが、手に入ってしまうと所詮はただのゲーム機なので、Cyberpunk 2077が高解像度で安定して動いて良かったというくらいの感想である。実のところPS5を手に入れるまでのワクワク期間こそが一番の神ゲーだったのではないかと思っているのだが、入手できていない人に申し訳ないので大声では言えない。

Cool

Coolと言われればクールの誕生、つまりかっこいい何かを想像するが、英会話の中では相槌として使われているようだ。

  • 僕「最近こんなことをやっていて〜」
  • 相手「質問」
  • 僕「返答」
  • 相手「Okay, cool.」
  • 僕 (何かcoolなこと言ったっけ?)

もう言うことが無くなった時(会話の終わり)にも使われている気がする。単発の「Cool」が来るとちょっと寂しいというか、気の利いたこと言えなかったなという気持ちになる。