A Long Reflection 2019 (1) - Timeline
(もくじ。)
まず・・・どこまでもどればいいんだろうか。大学?自分は私立大学の推薦入学というやつをして、それはよくなかったと思っている。ちゃんと受験勉強を戦う根性を出すべきだった。ただ当時の自分がそこで迷った記憶もないので、自分の根性の無さの帰結とみなす方が自然に思える。いくつか候補がある中で情報系を選んだのは、なかなか先見の名があったと思う。市場動向とかを調査した記憶もないので、まあまあマグレではある。プログラマなんてゲームプログラマしか知らなかったし、プログラミングもしたことがなかった。なお「手に職」と親に強く念を押されていたため、文系は考えていなかった記憶。これは親がえらかったともいえるが、別に文系にだって職はあった気もする。我ながら雑である。評価としては、大学受験をしなかったのはダメな判断だが情報系という選択は、運の要素もあるが良かった。
そのまま同じ大学の大学院に進んだ。大学院大学みたいのも教員に勧められたが、田舎の山奥で寮暮らしをして正気が保てるとは思えなかった。(インターネットには大学院大学在住の変人がいっぱいいた)。まあこれらは言い訳で、根性がなかったね、やはり。評価:根性なくてだめだが、無難ではあった。
学生時代は最初は本屋でバイトをしていたが、プログラマのバイトをしたいんですよねと教員に話したところ授業の TA を紹介してもらい、その TA の仲介でいわゆるエンタープライズ孫請けみたいな会社で Java を書くバイトをした。それとは別に、これはきっかけは忘れたがウェブで組込系の会社のバイトをみつけ、そっちでも Java を書いた。組み込み系の方は家から遠かった上に時給も安かったので一年ぐらいでやめた。もう一個のエンプラ孫請けは 2-3 年くらいやってた気がする。
プログラマのバイトは、まあ、よかったね。本屋よりお金をいっぱいもらえたし、仕事でコードを書く様子を覗き見られた。特に当時の一大産業である「エンタープライズの Java 開発」というやつがどんなものか体感できたのがよかった。それらのバイト先が特段優良企業だったとは思わないが、自分も別にコードをかけたわけではないから、実力を考えると良い仕事だったと思う。評価:運がよかったというよりは時代が良かった。時代の波にのる良い判断ではあった。
大学院生には「学校推薦」という優遇雇用枠で就職できる利点があり、自分も大学院に進む時は視野にいれていたと思う。ただ実際目の前に来てみると、企業からの様々なしがらみに関する噂や雇用枠を巡って学生の間に漂う微妙な空気など、めんどくささの総量が自分の許容範囲を超えていた。なのでふつうに就職することにした。そこで説明会とかに行くことにした。
最初に行ったのはマイクロソフトだったと思う。ただ説明によるとトップ大学卒でないと話にならなそうな雰囲気だった。会場で「質問」みたいのを繰り出す学生の意識高い感じも厳しく、ああ二流私大のおたくはお呼びじゃないのねと退散した。安い革靴で痛んだ足の記憶ばかりがはっきりのこっている。もう説明会に足を運ぶのも面倒になり、先に一年だけバイトをした組み込みの会社に求職し、説明会とかも一通り行って、採用された。エンタープライズ系のバイト先は仕事の印象が(本業の候補としては)よくなかったのでパスした。エンタープライズ受託は親も子も孫もイヤだと思っていた記憶。
つまり自分は説明会には二つしかいかず、求職したのは一社だけだった。やるきねえなーーー。本当に根性がなかったとわかる。今振り返ると数年後にやってくる就職氷河期に巻き込まれたら就職できなかった可能性あるね。あぶなかった・・・。
評価:一社にしか求職しない根性のなさはダメだが、その後の学校推薦をとってるメーカー系大企業のぱっとしなさをみると、それらを退けた判断自体はよかった。エンタープライズ IT を避けたのが良かったのかどうかはわからないが、それが自分のバイト体験に基づいた判断である点は地に足がついていたよかった。
最初の組込系ブラウザの会社。かなりハードワークしたが三年弱で辞めた。
ベンチャーという触れ込みだったが今振り返るとストックも自社株もないし、顧客が大企業だったせいか仕事の仕方もぜんぜんベンチャーぽくなかったし、社員も年寄りが幅を利かせていたし、やたら会議が多かったし、なにより労働時間の長さは異常だし、いまいちだった気がする。
一方で、作っているものがウェブブラウザなのはよかった。後に今の会社に入る役にたったのはさておくとしても、来るウェブ時代の基盤技術に仕事を通じて詳しくなれた。自分は別にウェブブラウザがやりたくて入社したわけではない(特にやりたことはなかった)ので、これは運がよかった。
会社の偉い人たちは、本人らが主張するほどテクノロジの重要性をわかっていなかった気がする。おかげでコードを書くのは新卒入社数年目みたいな若者が中心だった。これは会社の競争力という点ではよくなかったが、新卒入社の身分である自分にとってはよかった。自分は入社早々組み込み SVG レンダラを開発したけれど、初期バージョンを書いていたのはグラフィクスを何もしならない一年上の新卒社員だった。しかしこの SVG は Macromedia (当時) Flash と戦う必要があったのである。新卒入社一年二年、しかも専門性のない素人を西海岸と戦わせるとかアホなの?ふつうに考えたら社内の使える TL を軸にゲーム業界とかのグラフィクスわかる人員を雇って脇を固め、新卒はせいぜい補助的に手を動かす仕事に回すとこじゃね?ところがそういうことは微塵もおこらず、自分がビットシフトとかしながら Bitmap にピクセルを置くコードを書いていたのだった。やばい。勝てるわけない。しかしそのあり得ない期待値のおかげで上から下まで自分でぜんぶデザインして書く、という得難い体験ができた。
会社の中に人はいっぱいいたので、これはスタートアップの人手不足ストーリーとは少し違う。組織の価値観の歪みによって生まれた機会という方が近い。社内の同世代も、似たような事情で沢山コードを書く人が多かったと思う。もっと気の毒な感じの仕事に回されてしまった人もいたが・・・。
評価: 選択の根拠やプロセス自体はそんなによくなかった。運良く沢山コードがかけたのはよかった。ウェブブラウザだったのも運がよかったが、それなりに勢いのある会社を選べばどこでもそれなりに時代に合ったテクノロジには触れられたんじゃないかな。労働時間が長すぎるのはよくなかった。これは運の問題に思える。
つぎは外資系の名を冠した SI の会社に転職した。二年くらいいた。特によいことはなかった。グラフィクスの仕事をできるという触れ込みだったが、入って最初にやったのは Java で Web をつくる仕事だった(なんで?)。最終的にグラフィクスの仕事も少しはできたけれど、半分以下だったと思う。一つ前の組み込みの会社も今おもうとプログラマの扱いはひどいものだったけれど、この SI の会社はほんとにプログラマ・エンジニアをリソースとして見ており、エクセルとにらめっこする上司を横目に、ああ人月ってこういうことなのねなるほど・・・とある種の感慨があった。
後から振り返るとこの転職のきっかけは過労すぎなどで損ねていた前職時代の精神衛生だったので、精神衛生や健康は仕事より大切にしなさいね、というのが教訓。
なおこのとき仕事への思い入れみたいのが完全に失われた結果、仕事のクソさにもかかわらず精神衛生は回復した。あと仕事のやる気のなさの反動でインターネット執筆活動がはかどり、ブログの時代の追い風もあってそこそこオンラインの知名度が高まったのは良くも悪くも後の身の振り方に影響している。趣味プロジェクトも捗った。
評価: 判断も結果もよくなかったが、前の段階でよくない判断をしてしまう状態に身を置いたのがよくなかった。一方で、それも若さ/時代かなとも思う。メランコリックな若者だったし、IT といえば過労で鬱という時代だった。インターネット活動は、自然言語よりコードを書いた方が良かったとは思うけれど、文章も書いたなりに影響力を持てる時代だったので悪くはなかった。
次は零細ゲームミドルウェア会社。大手ゲーム会社の子会社だった。小さい会社がいいなというのと、速いコードを必要としているところがいい、という判断だったと記憶。三年弱。
社長はスタートアップぽい野望を色々もっていたものの、別に金もないし子会社で株もないしで、別にスタートアップではなかった。ただ前の二者と違い社員 20 人とかの小さい会社で、小ささ自体は悪くなかった。エラそうなことをいいつつ沢山コードをかけたのは良かった。エラそうにする必要はなかったけれど、たとえばアジャイルごっことをしたりとかは小ささの利点だった。同僚も気のいい人々で、おおむね楽しく働けた。(なんとなく擁護しておくと、一つ前の会社も同僚は概ね良い人たちだった。)
ただ本当にまったく儲かっておらず、儲かるあてもなく、経営や採用も雑で、企業としての先行きは暗かった。実際じぶんがやめた一年後くらいに店じまいしてしまった。
この頃からインターネット活動でも身元を明かすようになった。小さい企業なのでそのへんは気楽でよかった。インターネット芸人成分が増したとも言える。
評価: 小さい会社にいく判断自体は, job hopper になってしまった身からすると悪くなかった。大きい会社は雇ってくれなそうだったから。小ささの恩恵は堪能した。どうせならもうちょっと儲かりそうなところに行けば良かった気もする。一方で自分の中の天邪鬼は儲かってて軽薄そうな空気を嫌がっていたので、そんな判断を出来た気もあまりしない。
つぎ、外資系大企業でオープンソース。
入社じたいは、まあめぐり合わせと運みたいなもんです。ブラウザつながりだけど、東京にウェブブラウザやる仕事がある理由からして未だに謎というか特になかったと想像する。雑だから、くらい。
最初の 4 年くらいは新しいウェブ標準の提案実装をやった。これについては前に何度か書いた。なにかもう少し書くことはある気がするけれど、稿はわけておきたい。このプロジェクトの最後の方で転勤した。
そのあと一年くらいは割と実験的なプロジェクトを手伝っていたが、気がつくと新しい OS やらマイナー自社言語の UI フレームワークを作るプロジェクトに姿を変えており、どちらも自分の価値観とあわなかったので一年くらいで退散した。プロジェクトを選んだ時は想像していなかった展開なだけに運が悪かったとも言えるが、大企業の野心的なプロジェクトは自分の価値観とはズレがちという事実は知りつつ踏み込んだわけで、自業自得。仕事の作業自体も色々な事情で全然はかどらず、たぶんこの一年は職業人生の中で二番目くらいに非生産的だった気がする。(一番非生産的だったのは SI 勤務時の数カ月だが、それは自分の意思でさぼってただけ。)
評価: 運の要素もゼロではないとおもうけれど、それよりは野心的プロジェクトを通じた出世の欲をかいて価値観や原則にあわないことをしたり、前のプロジェクトで染み付いた非生産性を払拭できなかったりと、入社以来降り積もった自分のダメさが結実したような一年だった。ただ転勤を助けてもらった義理を果たす面もあったので、一年やったこと自体は妥当と思う。
そのあと二年くらい電子書籍アプリ。ウェブがモバイルに負けると言うならモバイルというものを見てやろうとモバイルアプリを選び、Web の知識が役に立ちそうなので電子書籍。結局半分くらいの時間は WebView の中でうごく JS を書いていた気がする。ウェブの知識で成果を出しつつモバイルに入門するという狙いどおりにいったのはよかった。チームはそんなに大きくも強くもなく、それは良いところも悪いところもあった。大企業モバイルのベストプラクティスみたいのはまったく触れる機会がなかった一方、割と雑にいじっても見逃してもらえたので裁量はあったと言える。サーバ側もちょっとだけさわれたし。コードは割とレガシーで厳しかったが、チームを説得してそれをガっと書き換えるのが自分の職位に期待されていることのはずで、それができたかったのは実力不足。文句をいう筋合いはない気がする。じっさい自分がやめたあとにけっこう人がいれかわり、今はだいぶ近代化されたと伝え聞く。育児休暇のあと復帰した際に巻き込まれた Git to Monorepo の移行プロジェクトに伴いチームの空気が悪くなり、いたたまれなさが限度を超え逃げ出した。
評価: 欲をいえばウェブからモバイルに寝返る勢いでもっとでかくて勢いのあるチームでバリバリ働く道を選べばよかった気もするが、現実的にはこういうプロプリエタリなコードを書く小さなチームでオープンソースや超大規模開発からの禊をするのはリハビリとしてよかったと思う。新しいチームを決める前ににいくつかのチームの話を聞けばよかったかもしれないが、そんなに候補もなかった記憶。チームの空気が悪くなったのは残念だったけれど、結果的にみるとリハビリを切り上げるにはいいタイミングだった。
そのつぎが今いるカメラアプリ。もう二年くらいやってる。これについては繰り返し書いているので割愛。総合的には割といい判断だったとおもっている。