ninjinkun's diary

ninjinkunの日記

シェアオフィスを借りた

今勤めているLaunchableはオフィスがないフルリモート勤務なのだが、自分は仕事場として家の近所にシェアオフィスを借りた。家にもそれなりに作業環境を整えてはいるのだが、集中できる日とできない日でパフォーマンスの差が激しく、これをなんとか平均化したいというのが目的である。

借りたのは家から徒歩5分くらいのビルにあるシェアオフィス。固定席がなく7つの机を共同で使うプランで月に14,000円。まあ毎日カフェに行くと思えば悪くない金額かと思って契約した。

リモートワークの普及で広い家を求めて郊外に出ていく人が増えていると聞くが、自分のようにシェアオフィスやコワーキングスペースで解決する人も増えるのかもしれない。

f:id:ninjinkun:20200907155222j:plain
殺風景だが仕事はできる

4Kテレビを買った

有機ELの4Kテレビを買った。前に使っていたのはパナソニックのプラズマTVの最終型だったので、10年数年ぶりの買い替えになる。久しぶりに価格ドットコムを覗いて、いろいろ検討した結果LGの48インチ有機ELにした。決めたポイントは以下の通り

  • 有機EL
    • プラズマTVに近い発色を求めると有機ELになるらしい。そんなに液晶と比べたわけではないので、気持ちの問題かもしれない
  • 48インチ
    • 自分は大きな画面でもいいのだが、妻が大画面だと画面酔いするらしいので、できるだけ今と同じサイズというリクエストだった
    • 有機ELはこれまで最低サイズが55インチだったのだが、今年から48インチの製品が出てきた
      • 一説によると8Kパネルの生産が始まったので、それを4分割して作られているという噂
  • HDMI 2.1対応
    • PS5がHDMI 2.1対応らしいので。自分が実際に120Hzでゲームをやりたいというモチベーションはないが一応
    • これに対応しているのは今のところLGのみっぽい
  • OSは何でもいい
    • ほとんどの操作はApple TV経由なので、TVの操作性はどっちでもよかった
    • とはいいつつPalmの末裔であるところのLGのWebOSは悪くない

画質は文句なく、何を見ても綺麗。テレビ側にもAppleTV側にもアップコンバート機能があるらしく、2Kの映像もみんな綺麗になる。今のところはAppleTVの出力を4Kにしているので、多分AppleTVのアプコンが効いていると思われる。

TrueMotinoというフレーム補完設定がオンになっていたが、動きがヌルヌルして気持ち悪かったのでオフにした。代わりにProMotionというチラつき防止設定を入れたが、これは良い感じ。

今のところ一番楽しんでいるのはベルリンフィルデジタルコンサートホールの4K配信コンテンツ。オーケストラは映っている人が多くて密度が高いので、4Kになって満足度が上がった。

舞台でセリフがわからない夢

結構きちんとした演劇に、村人のチョイ役で出演している。しかし幕が開こうとしているのに、自分は台本を全く見たことがないのに気づく。慌てて監督のところに行くと、

「そんなことが…あり得るのか?」

と言われ、いやいや現実にそうなってるしこれなんかお前らの手違いだろおい、と混乱する。自分が受け身で台本が向こうから配られると思ってたのが悪いのか?そもそも練習したっけ?など頭がぐるぐるしているうちに幕が開いてしまう。どうやら村人は最初に出番があったらしいのだが、そのまま劇が始まってしまい…

Launchableに転職した

  • From: 一休.com
  • To: Launchable

B2B SaaSスタートアップのLaunchableに転職した。主にフロントエンドエンジニア、時々バックエンドエンジニアとして働く予定である。Launchableはソフトウェアの自動テストに時間がかかる問題を機械学習で提供するスタートアップで、詳しくは以下の記事を見ていただきたい。

xtech.nikkei.com

www.publickey1.jp

今回転職した理由としては以下の通りである。

  • 創業者川口さんの熱いブログエントリに感化された
  • 英語の環境で仕事をしてみたかった
    • 同世代の友人たちが外資系で働き始めたのには結構影響を受けたと思う
  • チームメンバーの良さ、成熟度の高さ
  • プロダクトが必ず成功するという確信
    • もちろん自分の確信が外れたことは何度もあるけれど
  • アメリカのスタートアップの立ち上げに参加できるタイミングなんてこの先ないかも!

Launchableはアメリカの会社だが、自分は現在設立中の日本法人に所属して日本からリモートで働く。目下の課題は時差で、JST、PDT、EDTそれぞれの時間帯のエリアにメンバーが散らばっているため、非同期的な働き方にチャレンジする必要がある。そのため、ドキュメンテーションをとても重視しており、すでにConfluenceに書かれた文章がたくさんあり、その量に圧倒されている。

また、自分は今まで一般消費者向けの製品しか作ってこなかったので、B2BSaaSビジネスであるLaunchableへの転職は大きな転機となる。先に書いたのが主な転職理由だが、B2B SaaSビジネスの面白さについて創業者の川口さんから熱い思いを聞いたのも後押しになった。

自分にとっては初の英語環境での仕事、関わったことのないビジネスで緊張もしているが、新しいことばかりなので興奮している。今は早くこのサービスを世の中に届けたいという気持ちが強い。

Launchableでは現在βプログラムに参加してくれる会社を募集中なので、製品に興味を持っていただけたらぜひ応募してみて欲しい。

launchableinc.com

大事な情報、英語でも Please call me Ninjinkun でやっていく。

一休.comを退職した

3年務めた一休.comを退職した。一休では一休.comレストランというサービスの開発部に所属し、2/3ほどはマネージャーとして、残りはプレイヤーとして働いた。

関わった案件としては

  • ネイティブアプリの開発部部長
  • 開発ブログの開始
  • クレジットカード決済導入のPM
  • 在庫管理画面リニューアルのUIデザイナー兼フロントエンドエンジニア
  • Web版UI改善のサブチームリーダー

という感じで、同じ一休.comレストランというサービスの中でも様々な業務に携わった。

入社時はマネージャーとしての経験がかなり少ない状態だったが、いくつかのチームを任せてもらった。自分の至らなさを痛感することも多かったが、学びになることが多い日々だった。共に働いてくれたメンバーに感謝する。

開発マネージャー同士のミーティングにも毎週出席し、経営に近い立場で会社を俯瞰して見るのがどういうことかおぼろげながらも垣間見ることができた。

自分の技術スキルもネイティブアプリ開発からWebフロントエンドにシフトし、それが今回の転職にも繋がった。

一休.comのメンバーはどの職種の人でもサービスに対してのコミットメントが高く、旅館や飲食店を愛している姿勢が仕事にも現れていた。短い期間ではあったが、その一員として働けたことを幸運に思う。お世話になりました。

Redux Toolkit雑感

redux-toolkit.js.org

最近はReduxを書くならRedux Toolkit(旧Redux Starter Kit)を使うらしいと聞いて、一昨年作った個人開発アプリのRedux部分をRedux Toolkitで書き換えた(今更Reduxかという雰囲気もあるが…)。

github.com

以下、雑感。

  • Redux部分のコード量は半分になった
    • reducerを定義するとactionも生成されるので、actionのコードが全部なくなった
  • stateのimmutabilityをサポートする仕組みが入っているのが良い
    • immerが組み込まれているので、reducer内でstateをmutableに変更しても大体動く
    • immutabilityを破ると警告してくるmiddlewareが入っているので、違反しても気付ける
  • Sliceの仕組みで名前空間が分離しやすいのが良い
  • 学習コストはちょっとだけある
    • Redux ToolkitのパーツがReduxの何に対応するのかドキュメントとにらめっこ
  • TypeScriptサポートはバッチリ

Reduxは誰でも書けるし読めるのが利点だと思っているが、すぐに記述量の多さにイライラするタイミングが来るので、次にReduxを使って何か作ることがあれば最初から入れると思う(もちろんそもそもRedux要るのかというのは検討した上で)

ビデオ会議の影響でCPUコア数の要求が増えた気がする

在宅勤務になってから、ビデオ会議をしながら画面共有をしてデモやプレゼンテーションをする機会が多くなった。これがかなりコンピューターのCPUリソースを消費する。特にローカルで開発中のNuxtプロジェクトなんぞを動かすとZoom、Chrome、NuxtのBFF、バックエンドのサーバーが一気に動く。デモ中にファイル編集してコンパイルが走るともっとプロセスが立ち上がる。

昨年会社から貸与されたMacBook Pro 15インチは8コアで、最初はこんなに要らないよなと思っていたが、この状況でも安定してパフォーマンスが出るので急にありがたみを感じ出した。今後は開発者でなくても何かを画面共有することがありそうなら4コア以上が要件になりそうな気がする。デモなどをする開発者であればやはり6、8コアは欲しくなるのではないか。

これからは世間でもパソコンの買い替えが進むかもと勝手に予想してみる。

iPad Pro用Magic Keyboardを買った

身近にも購入を検討している人がいるようなので、レビューを書いてみる。結論から言うと、iPadで文章を書きたい人には最高、そうでなければ不要だと思う。自分の用途はメール書き、ブログ書き、Slackや各種チャットへの返信といった感じで、こういった目的にはかなり向いている。

Pomeraを購入してみたが全然使わず挫折した自分にとっては、これは求めていた文章書きマシン…という気がしている。今のところは。

Magic Keyboard購入までの道のり

自分は最近までiPad Proは持っておらず、3月に新型iPad ProとMagic Keyboardが発表されてから興味を惹かれて購入した。まずiPadOS 13.4からControlキーとCapsLockが入れ替えられるようになったことを確認し、店頭でIMEの使い勝手を確かめ、とりあえずiPad Proだけ購入してみた。

その時期はまだ専用Magic Keyboardは発売されていなかったので、まずはiPad Proに手持ちのBluetooth版Magic Keyboardとマウスを接続し、スタンドに置いて使い始めてみた。これが結構良く、文章を書くマシンとしてiPadも使えるぽいぞと認識を改めた。

f:id:ninjinkun:20200516181050j:plain

一番気になっていたのがIMEで、iPadOSはサードパーティIMEはハードウェアキーボードにアクセスできないので、標準IMEが自分に合うかが重要な要素になる。自分は長年ATOKを使っていたので割と不安だったが、結果としては問題なく使っている。最近良くなったと評判のライブ変換も、iPadで使うと文章が直接入力される感じで気持ちいい。Macで出始めだった頃はすぐにオフにしてしまっていたが、今回は使い続けており、Macの方もATOKから標準IME+ライブ変換に乗り換えた。

こうして外付けキーボードとマウスでそれなりに満足していたのだが、一点とても気になることがあった。ペンを使う時やブラウジングしたいだけの時はキーボードを机に残してiPad単体を手元に持ってきて使うのだが、何もしないとキーボードとはBluetoothで接続されたままなので、ソフトウェアキーボードが表示されず文字入力ができない。そのためキーボードの電源をいちいち切る必要があり、これが地味にストレスだった。

これはやはり高くても直接接続できるiPad用Magic Keyboardを買うしかないかと観念して注文した。

Magic Keyboard購入

f:id:ninjinkun:20200516181433j:plain

こうして11インチiPad用Magic Keyboardがやってきたが、色々確かめてから買ったので不満はほとんどない。重いかと言うと確かに重いのだが、今は家の中でしか持ち運ばないのであまり関係がなかった。MacBook Proよりは軽いので、また外出ができるようになったら旅行などにも持っていくと思う。MBPとの比較で言うと、パームレストが熱くならないのがかなり快適である。カバーは素材の関係か机の汚れが移りやすいので、これは少し不満がある。

文字キーはBT版のMagic Keyboardと同じサイズ、returnがdeleteより短かったりはしているが特段気になるようなこともない。トラックパッドは主に画面スクロールに使うことが多いが、新しいポインターのフィーリングも気持ちが良い。ペンを使うときはMagic Keyboardを外して使うが、直接接続なので当然すぐにソフトウェアキーボードモードに切り替わる。

iPadはフルスクリーンでシングルタスク利用が前提なので、自分は文章に集中しやすい気がしている。ただ、Pomeraとは違い通信ができてしまうので、Twitterやらを見にいってしまう事はある。

また、普段は仕事でMacBook Proを使っているので、違うデバイスを使うだけで気分転換になることがわかった。朝起きてiPadでメールや書き物をして、仕事開始になったらMBPを開いて仕事始めることでメリハリがついている…ような気がする。全部主観です。主観。

総じて、自分はライブ変換+打ちやすいキーボード+フルスクリーンの没入感がとても気に入っている。Macとは違うコンピューター体験をしたいという人にもおすすめです。しかしなにぶん高価なものなので、迷っている人は自分のようにiPad+外付けキーボードでフィーリングを試してから検討するのが良いのではないかと思う。

在宅勤務二ヶ月の感想

勤務先が在宅勤務に切り替わり、二ヶ月ちょっとが過ぎた。我が家は夫婦2人ぐらしなので、子供がいる家庭に比べると在宅はやりやすい方だと思う。

とはいえ、自分の感想で言うと、最初の一ヶ月目あたりがかなり辛かった。仕事のパフォーマンスが出ないのである。

元々自分は人が周りにいる方が集中できるタイプだった。2月までは休日も喫茶店に作業をしに行ったり、本を読むためだけに電車に乗ったりしていた。もちろん仕事でも同僚が周りにいる環境の方が集中できており、人目がなくなるとついついTwitterやらはてブやらを見てしまうという弱みがあった。

これが在宅になって、気がつくと仕事中にコロナの情報を追いかけている自分に気づくような有様になってしまった。こんな状況でタスクが進むはずもない。当時ちょうど新しいプロジェクトに配属になったこともあり、コードベースの把握から何から時間がかかって、すぐに成果が出る状況になかったことも状況の悪化に拍車をかけていたように思う。一応小さいチームのリーダーをしているので、アウトプットが出せないとメンバーに合わせる顔がないというプレッシャーもあった。

結局どうしたか。まずは「今自分はパフォーマンスが下がっています」とメンバーやリーダー陣に正直に伝えていった。同時期にtagomorisさんの この時期、業務で低パフォーマンスを出し続ける覚悟 - たごもりすメモ が公開されて、自分だけがこういう状態じゃないと分かったのも大きかったように思う。周りに言えるようになってからは多少スッキリして、前向きに取り組めるようになっていった。

朝は散歩しながら一日やることを整理する時間を作った。スマホは仕事中は別室に置くようにした。つい見てしまうサイトはhostsに入れた。色々な積み重ねで、元のパフォーマンスの8、9割くらいまでは回復したように思う。結局、状況に慣れて落ち着いてきたということなのだろう。

これからも自分はオフィスや人混みの方がパフォーマンスが高い人間であり続けるとは思うが、この事態の収束が見えない以上、在宅でやっていく方法を模索していくかしない。これを読んでいる人も、家で集中するための工夫があったら教えてください。

XSSで炎上する夢

渾身のブログ記事を書き、ポストする。しかしなぜか色気を出し、読者の反応を分析する外部JavaScriptを入れてしまう。このJSにXSS脆弱性があり、ブログがバズって200ブクマを超えたあたりでページがいたずらされ始める。拡大される文字、チカチカするdiv、エントリ内容を揶揄した誹謗中傷が書き込まれ、JSを除去しようにもブラウザが固まり焦りに焦る。俺はこれからXSSでバズったエンジニアとして記憶されてしまうのかと絶望的な気分になって目が覚めた。