僕はもともとウェブ系エンジニアでは無いのだけど、Fluentdにかかわるようになってからは日本のエンジニアコミュニティとはちょっとつるんだり茶々を入れ合うようになってる。[1]
ハッカーニュースに代表される欧米(特にSF)のエンジニアともネットを通した交流もあるので、はてな民的日本エンジニアとHN民的のSFエンジニアを見比べることができる立ち位置だと思う。[2]
そんなこんなで両コミュニティに片足ず突っ込んで早二年。ツイッターやブログを読んでて思うのは:
- 日本のエンジニアは真摯な気がする
- SFのエンジニアかっこつけすぎじゃない?
HN民的エンジニアは俗に言う「俺スゲー!見て見て!聞いて聞いて!」な人たちが多いと思う。こっちだと面接ではどんな失敗もポジティブに言いくるめるように叩き込まれるからか、失敗談も恰好よくラッピングされている。本当にダサい失敗談とかほとんど目にしない。「カウンターカルチャーでスタートアップな俺カッコイイ」と言った感じの文脈が多い。事実は別でも、外面はそんな感じ。[3]
逆に日本のはてな界隈は淡々と技術の事例を綴ったり、恰好悪い悩みや葛藤も結構おおっぴらに書いたりしている。失敗は失敗であって、無理やりプラス方向に話を持って行ったりもしていないと思う。その姿勢は僕は真摯だと思うし、正直ホームであるSF界隈のノリよりよっぽど親近感も好感も持てる。
こっちではネタでもノリでも闇 Advent Calendar 2013なんて開催されないと思うし、ましてや現在進行形での悩みと葛藤満点なブログ記事なんてもってのほかだと思う。失敗談はすべてが終わってから語られる。進行中の間は良い側面のことしかしゃべらない。実際僕自身、就職・転職を考慮すると正直な気持ちはブログに書くわけにはいかなくて悩んだ時期があった。というかその時期はかなり長かった。下にいくつかの記事から抜粋するが、数週間前にいろいろと吹っ切れるまではこういう内容のものは僕には公に書けなかっただろうと思う。
かくいう自分も、闇という程でもないが、SEとして働きながら心療内科に通っていた時期がある。新卒で就職した最初の会社にいた頃で、その頃は「仕事がつまらなすぎ」て体を壊すという珍しい経験をした。別に激務だった訳じゃない。ほぼ定時で帰ってた。それなのに、毎日の仕事が退屈過ぎて、周りが全然技術に興味がなくて、ホントにアイティー企業かここは!?みたいな青臭い苛立ちを抱えていた。手を動かしたいけど当時の俺はマネジメント側でコードの1行も書けない。協力会社のバグ調査を手伝う振りしてこっそり書いていたけど、堂々とコードを書かせてもらえない環境に凄く嫌気が差していた。あの時は「心の闇」みたいなものが相当溜まっていたのだと思う。
...
そんな折、新しい心の闇の払い方を覚えた。「マサカリをぶん投げられて流血する」である。鼻っ柱を折られる、とも言う。たまに勉強会やその後の懇親会でベテランエンジニアと話をしているとたまにこれを食らう。ものによるが、大体凹む。特に基礎レベルの話で「あ、俺これ普段やってることなのに説明できない…」と思ってしまった瞬間がやばくて、自分は所詮仕事で使ってるコードをメンテして動かしてるだけの人間でゼロからものを作ることなど出来ぬ人間なのだ、とか色んなネガティブなことをその場では感じる。
でもこのマサカリこそが大事なのだ。マサカリを投げられることで、投げられたマサカリを投げ返せるようにそ突っ込まれた分野を必死勉強し始めて、次に会った時に少しは成長したなと思われたいと思い始めることが出来た。今だと「webを支える技術」を行き帰りの電車や昼休みに読み直したりしている。
...
こんなことをしていると大分気持ちがラクになった。自分が何がしたいか分からない、どういうエンジニアを目指せばいいか分からない、というのもここ半年ぐらいずっと悩んでいて禿げそうになっていたが、たまたま最近受けた数回のマサカリにより、まずはエンジニアとして恥ずかしくない仕事が出来るようになろう、と思えるようになって、大分目の前がスッキリしてきた気がする。
しかし、そういうことをやっているとどんどん周囲と考えが離れていくのを感じる。技術の話をしても噛み合わないことが増えてきているような気がする。
Rubyやnode.jsかじったやつが使ったこともないのにPHPやJavaを叩いてるのを見るとぶん殴りたくなる。 RDBの大した知識もないのに「MySQLはめんどうそうなので、MongoDBを使おう」などと提案されると軽蔑してしまうしそいつとは仕事したくない。
このままいくと将来こんなことを言ってしまうかもしれない 「プロダクションでnode.js使うの?いいけど何か問題が起きたとき対応できるの?nodeのソースコードすら追えないじゃ困るじゃん。C++も読めないのに偉そうなこと言うなよ」
そして老害になる
25歳定年説
探究心や独創性によって、物事が非線形な進化を遂げることもあると思う。 もし、開発者に対してこういった活動を行うための時間が1%も用意されていないのであれば、それは残念な状態だと思う。 それに、こういった活動で成果を上げるには、数時間から十数時間の周期でモチベーションを持続させる必要がある。 もし、さも人間の活動時間が何故か30分単位で等しく交換可能なものとして扱われていたり、 さも24時間周期でリセット可能なもののように扱われているのであれば、それは非常に残念な状態だと思う。 こういった状態で創作活動を行う方法は、 十割以上の圧力をかけて働いて、余った時間で周囲にバレないように内職を行うか、 仕事後の余暇を利用して開発することぐらいだと思う。 Autodocも、Sitespecも、Rack::Multiplexerも、Replicatも、Chankoも、 表面だけ捉えればいい話っぽいが、その大部分は余暇を利用して作られている。 コードを書かなかった週末が思い出せない。 その内、精神的な意味で体力というものが薄れ、週末にこういった活動に割く気力が無くなったとき、 ハッカーとしてはそこで死んでしまうのだと思う。そのことがただ悲しい。 何となくそういう予兆は感じられているし、あと2年もすればそのときは訪れると思う。 若者の界隈で、25歳定年説と呼んで震えている。 特にこの事実について何か主張があるわけではないが、ただこの社会は厳しいということに尽きる。 社会は厳しいの一言で思考停止するのをやめたい。 社会の斥力に負けて、心の弾力を失いたくはない。 無限に活動を続けていたい。
闇を表に出さないと、「フェイスブック症候群」のように実際はそうでないのに皆幸せ絶頂悩みゼロな世界に見えてしまう。そういう空気があるのがこっち側のエンジニア界隈の闇なのかもしれない。[4]
[1] 元々の専門は電子工学だけど、もう半導体の数式もロクに解けないと思う。
[2] ハッカーニュースはスタートアップアクセラレータのYCombinatorが運営する掲示板。まあスタートアップとテクノロジーに超特化したはてぶみたいなものだと考えてもらえればいいと思う。
[3] そういう人達の声がでかいだけかもしれないけど。
[4] (今回ウェブ系に絞ったけど、他意があるわけではなく単にこの界隈としか交流が無いだけなのであしからず)