転職します
4年ほど勤めていた株式会社ドワンゴを8月末で退職し, 転職することしました.
実のところ2ヵ月前には決まっていて, 1ヵ月前には実務的には全て終えて有休消化中だったりします. 退職日は大分先なのに書いてもな, ということで退職日が今週末に控えたので, ブログの形でご報告させて頂きます.
今までどういう仕事をやってきたか
配信バックエンドの新規開発
最初の2年ほどは, ニコニコ動画/生放送の配信バックエンドの新規開発に携わっていました. 新配信, DMCといった単語で露出している箇所になります.
非エンジニアの方に説明すると結構大変なのですが, 動画の例で言うと, 各デバイス向けに動画をエンコードし, 各デバイス向けの配信プロトコルやコンテナに詰め替えて視聴できるようにし, 実際に配信するところまでがシステムの範疇です. 説明下手ですね.
デブサミ2017の資料が参考になると思うので, 興味を持たれたら参照して頂ければと思います.
そこそこ大きいErlangで書かれたシステムですが, そのうちの特に配信部分を担当していました.
具体的に言うと, 保存されたファイルからHLS, MP4 (ISO-BMFF)などへの変換だったり, 音声・映像のリアルタイムマルチプレクスとか, 生放送の視聴者が増えた場合のオートスケール周りです.
Erlang & Elixir Fest. 2018で発表されたシステムの前の実装なんかは私の実装で, 2週間ぐらいで作ったような気がします.
負債を作った扱いされるのは嫌なので書いておくと, 元々要件がふんわりしている状態で最低限必要な実装を組み込んだもので, 独立性を担保する形で実装しているので作成当時は負債ではないです.
リリース前だったので大したものではないですが, インフラ的なことも少しやっていて, 性能検証やパフォーマンスチューニングなどもやっていました.
あとはリリース周りですね. 本番環境の制約もろもろに対応したホットコード対応のリリースツールとかも作りました. (実際にホットコードをしているかどうかは知らないです)
iOSアプリの運用保守
ファーストリリースと同じぐらいの時期 (けもフレぐらいの時期ですかね) に, 体調だったり, アプリ開発やってみたかったといった理由で, ニコニコ動画/生放送のiOSアプリのチームに希望異動しました. (正確にはアプリ開発というところまでが希望で, あとは上の判断です)
こちらは完全に運用保守ですが, かなり大幅に実装をリライトするといったことをやっていました. 新配信への対応だったり, 追加機能への対応をしつつ, リライトであります. 半分ぐらいをフルスクラッチした気がします. ちょうど7月のアップデートで, 一段落でした. 言語的にはObjective-C, Swiftでしょうか.
結果として映像まわりのサーバー/クライアント両サイドをやっていたことになるので, 「この動画で〇〇になるんだけど~」「多分こういうことが起きてる気がしますね……」だったり, 「この新しいプロトコルの実装, クライアント側これ対応していないので, こういう風に修正できませんか」といった形の対応ができたのは良かったのかなぁと思います.
ところで全然関係ないのですが, 「負債はスタートアップでは別に許容していい」みたいな話を見かけたりしますが, それなりの金額を借りる時は返済計画を立てて借りると思うんですよね. なので返済計画のない負債は絶許と私は思っています. ご利用は計画的に.
良かった点/悪かった点
といっても悪かった点については書くつもりはなく, だらだらと働き続けるのも一つの選択肢として考えられる程度には不満はなかったです. もちろん不満の一つや二つはあるのだけれど, トータルで考えて許容できる範囲でした.
良かったと思う点は明確に2点あります.
1. Erlangという言語に出会えたこと
入社するまでにそれほどコードを書いてはいなかったものの, そんな中でいくつもあった釈然としない部分がErlangは綺麗に一つの解を提示していて, すぐに魅了されました.
詳細については別の機会に譲ろうと思いますが, 配属先が異なっていたら今の自分はなかったと言える程度には大きな意味がありました.
今でも好きな言語には迷わずにErlangを挙げますし, 学ぶべき言語にC++とErlangを挙げます. 得意な言語はその時書いてる言語です.
2. 色々な働き方をする人に出会えたこと
そして, もう一つの良かった点は, なにより人との出会いだと思っています.
裁量労働制なので出勤時間も退勤時間も自由な訳ですが, そのせい (おかげ?) か, 色々な人がいる会社でした.
9時出勤の人もいれば15時出勤の人もいて, 毎週水曜日休む人もいれば, お昼時に散歩で新宿まで出る人もいます. アニメみながら仕事する人もいれば, 艦これが別窓で開いている人もいます. いつもかどうかは知りませんが……
最初の部署ではオーバーワークで, 異動してから自分なりのワークスタイルに調整しましたが, その際にはとても参考になりました.
帰りたいと頻繁に言いつつ, 自分の仕事はしっかりこなすSさん曰く, 「きみは倒れるまで働いちゃうから, 体にだけは気をつけて」ということなのですが, Sさんの働き方もとても参考になったし, 自分にあったワークスタイル分かってきたので大丈夫ですよ!
また, 働き方以外でも参考になることは多く, Tさんの「LGTMはLook good to meなのだから, 良さそうに見えない時は絶対チェックつけない」も, とても影響を受けました. 他にも色々あるのですが, 割愛.
良くも悪くも尖っている人が多いので, 部分的に学ぶことはとても多かったです.
転職する理由と転職先
転職自体は実のところ, 部署異動の時に既に選択肢としてありました. 節目節目で部署異動と転職は考えていて, 異業種も異職種もこの年でしかできないと思ったので, 決断したにすぎません.
あ、そうです. 転職先の会社についても業界・業種についても書きませんが, 異業種・異職種での転職です. 本業プログラマ辞めます.
元々エンジニアとそれ以外を半々で就活していたりと, プログラマになりたかったという訳ではなかったので, プログラマを辞めるという決断自体には何ら思うところはなかったです.
分からないことを調べるのも, 設計考えるのも好きなので, プログラムを書くこと自体はどちらかというと好きなんですが. コードレビューだけで稼げるならそうしたい程度にはプログラムを書くことへの拘りはなかったです. ちなみに, コード書くよりもコードレビューの方が好きで, 10人程度までのチームならほぼ全部レビューする程度には好きです. そういう話をすると割と引かれるんですけど……
そんな訳で, どちらかというと新しいことをやることへの不安はありましたが, そこはやらないで後悔するのだけは嫌だという気持ちが勝りました.
転職先の話を, 挨拶回りの時そこそこの人にはしたのですが, 「遂にか~」「マジで?」「(何言ってるんだこいつ)」「おー頑張れー」と様々で, 知っている人にとっては今更である程度にはボンヤリと周りに話していることでもありました.
数年後にまたプログラマやっていたら, あざ笑ってくだされ. まぁ何だかんだで書き続けるとは思いますけれどね.
そして最後になりますが, 心配・応援・相談に乗ってくれた方々, 送別会開いてくれた方々, お世話になった先輩・同僚の方々, 色々ありがとうございました. 頑張ります.
記事が気に入ったらチップを送ることができます!
You can give me a cup of coffee :)
Kyash ID: soranoba
Amazon: Wish List
GitHub Sponsor: github.com/sponsors/soranoba
PayPal.Me: paypal.me/soranoba
(Updated: )