GyakubaricEffects

Sailer-Fuku, Functional Programming, Post-Apocalypse

卑下をしない: 自分の上にも下にも人がいる

注意書き: この記事は憎しみ駆動で書かれています。この記事を読んだことにより吐き気をもよおす、動悸やめまいがするなどの症状が現れた場合には読むのを中断し、インターネットから離れて穏やかな日々を過ごすよう心掛けてください。

注意書き: この記事は適当に書き上げて公開した後ガシガシ書き直しています。できるだけこのページからでも書き直しがわかるようにしていますが、正確な履歴については GitHub を参照してほしい。

インターネットをやっていると卑下を目にしてイライラするのでよくない。俺は卑下を憎んでいる。理由は単純で、卑下をすると自分だけでなく他人への sage にもなるから これはよく考えると適当に出しただけの理由だ、本当の理由は下のほうに書いておく。

本文

インターネットは世界を身近にしてしまった。井の外がもう大海に繋がっており、ツイッターに登録すると数年十数年数十年の経験を積んだソフトウェアエンジニアたちが両手を使って1も数えきれないほど見つかる。新しい技術を即座にキャッチアップして本質を掴み解説を書いたり、世界中で利用されているオープンソースソフトウェアのメンテナンスをしていたり、中学生高校生のうちから興味分野で研究を行ったり、話題を呼ぶ Web サービスを単身で作り上げたり、AtCoder 赤色だったり、大学で学友とパソコンをカタカタしていたり、よくわからないけどすごそうなことをしていたり、なんだりかんだりする。おまえはひとつも得ていない、全員とタイマンしたら全員に負けるだろう。

そのような人たちを目にすると、おまえは自分が取るに足らないカス、エンジニアを名乗ることも許されないような雑魚未満のゴミであるように思ってしまう。これは錯覚というより実際に比較するとそれぐらいの差がある事例もそれなりにあり、その認識は正確なものかもしれない。おまえは卑下ツイートをテキストエリアに書き込む。

だがちょっと待ってほしい、仮にここでおまえが「自分にはエンジニアの才能がない。。。」みたいなツイートをしたとしよう、これを見たおまえのフォロワーはどう思うだろうか?おまえよりできる奴は「そんなことないよ」とか本心または形式的な言葉をかけてくれたり内心で思ってくれたりするだろう、そんなことはどうでもいい、強者は黙っていろ。

問題はおまえのことを自分よりできるすごい奴だと思ってフォローしているフォロワーである、彼らがおまえの卑下ツイートを見てポジティブな気持ちになることはない2、「これだけ能力のある人がこう思うってことは自分はもっと才能ないのかな……」という気持ちを呼び起こしうるだろう。

あるいは「そんなことないだろこのアホ、自己認識狂ってんのか殺すぞ」という敵意を向けられるかもしれない。後者はこれを書いている俺である。なぜこれほどに敵意を向けられるのかというと説明するのが難しいが、考えてみた理由がこれら:

  • たとえば「自分にはエンジニアの才能がない」は「自分と自分より能力の低い人間全員にはエンジニアの才能がない」と同じことを言っていると思うのだが、そういう攻撃性の強さに無自覚に発言をしている鈍感さがムカつく
  • 能力のある人間は能力があることに自覚的でなければならない、という思想が俺にあるから
    • 能力のある人間が才能一本でそこまで登り詰めたわけではないだろう。常に環境によって支えられてきたはずで、それらの恩恵を矮小化して誰でもできるとか言うのはあまりに愚かで無配慮なことだ

なにはともあれ悪いことばかり3である。

このような卑下をしないためには自分の能力を下から測ることが必要になる。要するに何ができない、ではなく何ができる、で理解する。自分が何をできるか書き出してみよう。どれだけ取るに足らない (とおまえが思っている) ものでもよい。あなたの能力や実績のうちどれが誰のコンプレックスに突き刺さっているかわかったものではないからだ。能力はできればその能力が身についていなかった頃の、実績や成果物はそれを得る過程の記憶や記録があるものだとなお良い。

俺がやってみる。

  • まず基本能力としてよく挙がるやつとしてエラーメッセージの英語はだいたい読める、内容を理解して解決したり、エラーメッセージで検索して issue に到達したりできる。DeepL とか Mouse Dictionary を駆使してだいたいの英語は読める。がんばれば書きもできる。
  • 英語シリーズはこれくらいにして技術の話をしよう。JavaScript は不自由なく書ける、TypeScript もアプリケーションコードで使うような機能は理解している。Web フロントエンドツールチェインをある程度触れる、フロントエンドの一見謎なエラーを詳細に調査して撲滅まで持っていける (ものによるけど)。
  • あとはシングルスレッド限定でパフォーマンス気にしないレベルの Rust が書ける、Haskell わずかに読める、OCaml と F# 読み書きできる、とか。ついでに言うとこれらの能力は型クラス、カインド、代数的データ型、カリー化などの概念の理解を前提としている。
  • それとプログラミング言語処理系を作ったことがある。かんたんな型チェッカも作ったことがある。

とりあえず適当に書き出してみた。OCaml が書けるようになったのも Haskell でいろいろな概念を理解したのもここ 2 年のことだと思うとちゃんと成長しているんかなあという気持ちになる。ここ 1 年の成長が微妙かもしれないぜ。

僕は成果物が全然ないので書いてないが、何か作ったものがある人はそれも書いてみよう。僕は本を全然読了しないので書いてないが、何か読んだ本がある人はそれも書いてみよう。

とまあ多少自己を肯定できるようにならないだろうか。ならなかった人は重症の自己肯定感欠落症なので専門家に相談してください……

もちろんここで積み上がったものを見て満足して終わるよりは、もっと積んでいくぞという気持ちを練り上げるほうがよい。そこは各自がんばってください、俺はとにかく無用な卑下ツイートを減らしたいだけなので。

まとめると?

みんなスキルセット書いて公開してほしい、できれば逆スキルセット (できないこと、知らないことを書く) も書いてほしい、自分の上位互換に見える人に見えていざフォローしていると意外とこれ知らないんだ〜みたいな感想を抱くことがたまにある。

よくある質問

卑下ぐらいしていいもいいだろう、人の表現を制限しないでほしい。

まあ別にいいけど俺は not for me を連呼してフォロー解除するかそもそもフォローしないかします。あなたと何らかの縁があって話すことがあっても俺は「この人ツイッターでの卑下が激しいんだよな……」という気持ちを抱えながら話すことになる。

「CSS 難しすぎる」はセーフですか?

「CSS 難しすぎる」は自分ではなく CSS について言っているのでたぶんセーフ、「CSS なんもわからん」はギャグとわかるのでまあセーフ、「CSS を書けるほど脳が大きくないのでバックエンドエンジニアやってる」とかもしょうもないネタツイなのでセーフ。率直な話をすると俺が見てイラッとこなければよく、適当な茶化しをいれてネタツイートの枠に収めてしまえばたいていはセーフになる。すべてを茶化していきましょう。

ところで

  • 実在の人物1人に対する不満をぶつけたわけではなくツイッターを見ていて複数の他人に感じた不満をまとめて吐き出しているだけなので、この記事で非難しているような人間は現実には存在しないかもしれない
  • これ俺のできる・恵まれてるように見える人間への嫉妬と憎しみが不必要に強いだけではないかという気がしてきたな

Footnotes

  1. 2 進法です、それでもなお

  2. それをいうとできる人が自分より弱いやつの卑下を見てポジティブな気持ちになるかというとそうではないと思う (そうだったらすごい)

  3. 俺みたいな人にバンバン敵意を向けるような性格の悪い奴がイライラすることは別に構わないかもしれないが、めんどくさいやつに因縁をつけられるというのはリスクですよ