エンジニアライフで技術ネタのコラムを書くということ
Staticおじさんを掘り返す
今までコラムを書いてきて、「コイツは越えられない」と思ったコラムが一つある。
実はオブジェクト指向ってしっくりこないんです!
ある意味、エンジニアライフの流れを変えた伝説のコラムだ。私があと十年コラムを書き続けたとしても、これを超えるコラムを書ける自信が無い。
このコラムで語られているオブジェクト指向だが、最近はあまり聞かなくなった。オブジェクト指向よりも、どういうフレームワークを使ってコードを書くかという方向に向いているようだ。Webアプリケーションを作るにしても、一からゴリゴリとコードを書いていく人はほとんど見なくなった。そんなことをやっていたら、時代の求めるスピードとクオリティーでコードを書けない。オブジェクト指向を気にする人といえば、そのフレームワークを書いているような立場の人だろう。
著者がコラムで指摘しているポイントがズレているのはコメントから読んで取れる。ただ、今になってコメントを読み返すと、コメントをつけている人でも、オブジェクト指向に「流行り」で飛びついた人も多いように思える。技術もファッションと同じで、流行りを追いかけることで「すごい」と言われるような、そういうミーハーなところがある。それがよく分かる。
このコラムのコメント欄ですが、すごい熱気を感じる。現在ではSNSが普及していて、意見を言おうと思えばどこでも発散できる。入ってくる情報量もけた違いだ。こういう熱い議論(?)みたいなものが起きにくくなったのかもしれない。それだけ、一つの情報に対して掘り下げて考えることが無くなったのかもしれない。当時の熱気は羨ましくも感じる。内容はともかく、情報発信の手段が限られていたが故に、情報発信への熱量も高かったのかもしれない。
エンジニアライフの流れを変えやがった
当時の炎上祭りに恐れをなしたか、技術をテーマにコラムを書く人が激減したように思う。後に、リーベルGさんがこの「Staticおじさん」をモデルにした小説を執筆した。それが大反響で、テクニカルな小説を書く才能を開花させている。その影響を受けてか、エンジニアライフで小説を書く人がたくさん現れた。一時期、技術的なテーマでコラムを書く人より、小説を書いている人の方が増えて、エンジニアライフが小説家養成所のようになってた。
結果からみると、「実はオブジェクト指向ってしっくりこないんです!」はエンジニアライフのありようを変えた。物事の流れというのは、別に優れた英雄のような人が変えるとは限らない。そんなことを感じさせてくれるコラムだった。なにも、技術的に的確なことを書くだけがコラムじゃないと思う。本人が意図したかどうかは知らないが、エンジニアライフの歴史に残る影響力のあるコラムになった。
そもそもお前ら、技術的に的確な指摘をしたとして反応しねーだろ?反応するとしたら、技術的に凄いと有名な人の発言に反応するだろ?でなきゃ、ギリギリの挑戦で一歩を超えてしまった人を血祭に上げて炎上祭りをするくらいだ。そういう意味で「実はオブジェクト指向ってしっくりこないんです!」は皆さんにとって美味しい焼肉だったと思う。
「実はオブジェクト指向ってしっくりこないんです!」は技術的には間違っていたかもしれない。ただ、ハジけたコラムとしては傑作だったと思う。技術的に正しいかどうかはともかく、自分の正しいと思ったことを堂々と主張した。コメントでその場限りの正解をこねくり回す人より、情報発信の姿勢としては学ぶべきものはある。ただ、そのあとの著者の行動と普段の振舞いに関しては、知らないので何とも言えない。
ここ最近見つけた危なっかしいコラム
最近、ハジけた技術ネタのコラムをあまり見なくなった。その中でギリギリの線を攻めてるなぁと思うのが、Horus氏の書いた「手軽に簡単とかやってるからクソコード(VBA)が増殖する」だ。タイトルだけを見るとVBA書いている人に喧嘩売ってるとしか思えない。だが、よく読むとキッチリ布石が打ってある。
例えば、同コラムの最後を以下のように締めている。
> VBAはインターフェイスがExcelという以外のメリットは無いです。道具は特性を踏まえたうえで使いましょう。そこを外さなければ、きっと便利に使いこなすことができるでしょう。
「インターフェイスがExcelという以外のメリットは無いです。」の部分だが、言い方を変えると「Excelと密接に連携しているのがメリットです。」になる。ちゃんとVBAのメリットも把握したうえで、言葉はひねくっているが的確に指摘している。ここが読めると、単にVBAを叩いているだけのコラムではないことが分かる。
同氏の書いた「プログラマになりたいならVBAは捨てよう」も同様だ。ちゃんと書き出しで、
> 誤解の無いように始めに言っておくと、VBAは用途さえ間違えなければ便利なツールです。
と説明されている。ちゃんと「プロとしてITを仕事にしたいと思うのであれば」と条件付けもしている。普通の人が思い込みで見過ごすようなポイントに対しても、彼なりの説明を丁寧につけている。不誠実な特定の言語叩きという訳でもない。
ぶっちゃけ、これらのコラムを100人が読んだとして、真意をくみ取れるのは10人くらいだろう。一歩間違えると炎上祭りで焼肉にされるラインでコラムを書く。コラムでギリギリを攻めるということはこういうことだ。内容はそれぞれの評価に任せるとして、ギリギリを攻める技術ネタのコラムはもっとあっても良い気はします。
技術で殴り合ってもいいんじゃないか?
技術者が何人か集まれば、見解の違いでぶつかることもあるだろう。Vim使う人とEmacs使う人でエディタの話をさせれば宗教戦争が起きる。それでもいいんじゃないか?ただ気を付けるべきは、それでいて相手を尊重することだ。争っている内容がただの視点の違いだったりすることもある。また、意見の違う相手にこそ、本当に学ぶべき要素があると思う。
個人的にこういうのを「エンジニアシップ」と呼んでいる。相手の意見に同意する必要は無いが尊重はすべきだ。違う意見の人がいても、そこから学ぶ姿勢は忘れないようにしたい。こういう姿勢でなければ、怖くて技術ネタでコラムなんて書けない。コメントをつける人も、技術的な間違いを攻撃の理由にしてはいけない。お互いに何等かの「敬意」があってこそ、いろいろな気づきがえられるからだ。
自分が間違っているのか、相手が間違えているのか、それが分からないなら殴り合いくらいの勢いが無いと行動に移せない。最初から紳士的なコミュニケーションができればベストだが、それができるのは一部の練達な人たちだけだ。エンジニアが成熟していくプロセスで、技術での殴り合いは避けては通れないプロセスだと思う。
こんなことを言うと編集者さんにプンプンされるかもしれないが、エンジニアライフはもっとカオスでいいと思う。デタラメな技術を主張して正拳突きを食らう人がいてもいい。人の不正解からも学ぶことは多い。反面教師でもいいし、原因追及でもいい。不正解からでも大きな気づきというのは得られるものだ。無難なコラムでは熱さに欠ける。間違いを恐れずに技術ネタでコラムを書いてもいいんじゃないかと思う。
・・・コラム本文はここまで。以下、宣伝。
技術ネタでコラムを書いた先にあるもの
ある意味、ここからが私の本命の主張だ。今度の東京のOSCで登壇する。2/22(土)の時間は11:00から。やべぇ。急いでスライド作らなきゃならん。技術ネタのコラムもいいが、登壇してガチで話すのもいい。話を聞きに来いというのもあるが、同時間帯に魅力的な登壇が満載だ。ぶっちゃけ、話してねぇで聞きにいきてぇ。
単発ネタでも構わない。ネタがある人は登壇してみるといい。劇団パワーシェル (私の所属団体名) では、登壇したい人のサポートもしていく予定だ。と、いま思いついたところだ。プランはこれから立てる。登壇してみたい人は、私の登壇を聞いたついでに声をかけてくれればいい。どういうものかくらいは話ができる。
技術ネタのコラムを書くにしても、登壇するにしても、自分を鍛えていく良いステップになっていく。ぜひ、挑戦してみるといい。
コメント
仲澤@失業者
本論とあまり関係ないのですが、昔の論争を思い出してみました。
1.MIFES 対 FINAL
DOS時代のエディタですね。自分はRed2使ってたので蚊帳の外。
2.DOS 対 Windows
DOSの肩を持つ人が圧倒的でした。彼らはどこに行ったのか。
3.C 対 Turbo Pascal
Windows全盛になってC言語に軍配も、C++、C#となって本流から離脱。
4.Machintosh(現Mac) 対 Windows
今でも話題になることもありますが、Webブラウザしか使わない人が多数派となり鎮火?。
そのほかにも一太郎 対 Word、Lotus123 対 MultiPlan(後にMacのExcelを持ってきて決着)など
色々な事がありました(とほい目)。
Horus
フォローありがとうございます。ただ、ちょっとギリギリからはみでたかもしれません。意図を読み取っていただき、ありがとうございます。
ほ
あの記事からもう10年たったんですね
なんであんなに熱気にあふれてたんでしょうね
最近落ち着いたコラムが多いのはエンジニアライフも成熟されたってことなのか
今だったら「実はクラウドってしっくりこないんです!」とか「実はAIってしっくりこないんです!」ってネタになるんだろうな
侘助
小説化するとその業務やチームが置かれている状況がわかりやすくなるのがいいですね。
「VBAおじさん」をモデルにした小説も読んでみたいものです。
ただ今どきVBAを覚えてプログラマとしてステップアップしていこうと思う人はいるんでしょうか?
手を抜きたい人はSAASを使うでしょうし、サーバーサイドが触れるようなら最初からその上で動く言語で作るのでは・・?と思います。
データだけポンと渡されて、これ何とかしろという現場に放り込まれたらVBAくらいしか選択肢が無さそうですが。
そのあたりの背景がわからないと、技術だけの良しあしだけではわからないですね。