エンジニアと給与

上場企業、勤続3年、35歳のエンジニアとしては安すぎる気もする。

30代で人生初の会社務め、業務エンジニア3年としては、そんなに悪くない気もする。そもそも今働けているということが幸福でしかない。

仕事自体は非常に面白い。別に給与のために働いているわけではない。人生を楽しむために働いているだけだ。

だけど仕事を満喫するにあたって「どんなに腕を磨いても、認められないし、給与は上がらないんだよなぁ」という思考がふとよぎり、楽しむことの邪魔をしてくるというのが嫌だ、というなんだか複雑な感情。

給与という洗脳にとらわれたくない。お金の幸福度への影響は、僕らの想像よりもはるかに少ない。お金に深々と洗脳されている僕らでさえそうなのだから、お金の洗脳から逃れた人間にとっては、なおさらそうだろう。

きっと仕事の楽しみ方が足りない。もっと深々と、全身を捧げるように仕事を楽しめたのなら、きっと給与のことなんかは、頭をよぎるまでもなくなるはずだ。

給与のことばかり考えながら働くほど寂しいことはない。

なんてことを記事に書きながら、これもまた、給与について思い出してしまう要因の一個となるのだろうか。給与についていくら考えても、その先で洗脳から解かれることはないし、なにか答えが見つかることもないだろう。だけど考えずにはいられない。まったくというのは無理だ。

 

プログラミングの中でも楽しい時と、楽しくない時がある

ということに改めて気付いた。

楽しい時

  • キーボードを叩いて実際のプログラミングをしている時、つまりトライアンドエラーが出来ている時
  • 言語の仕組みが分かりかけてきた時
  • プログラミング言語が家族や友だちのように感じられ、対話をしているように感じる時
  • キーボードを離れて、ソファに座って目を閉じながら、言語理解を深めるために自問自答を浮かべている時

楽しくない時

  • コミットの積み方やブランチの切り方に迷っている時
  • プログラミング言語を他人のように感じている時、無機物のように感じられる時
  • 良いエディタや環境が見つからなくて、メインのプログラミングまでたどり着けていない時
  • ひたすらドキュメントやStackOverflowを読み漁るだけで、理解が遠く感じられる時

僕が好きなのはプログラミングだ

ひとくちに「プログラミング」という大まかなくくりの中にも、プログラミングではない要素はたくさんあって、雑然とした周辺要素に追われているときなんかは、本当に楽しくない。

そして「楽しい」と「楽しくない」は、一見とても分かりづらい形で、数秒後ごとに入れ替わりながら、僕のもとに訪れたりするのだ。

もしこの世界に自分とプログラミングしか存在しなかったら

理解が遅くてもプログラミングは出来る

単に予習をすれば良いし、復習をすれば良い。

たとえば僕は今、Golangの channel と buffer と goroutine の相互の働きが本当に分からなくて苦戦している。

  • go言語 channnel とは
  • golang channel buffer
  • goroutine deadlock

色々なキーワードでググってみたり、手元でスクリプトを動かしたりしてみるが、どうにも腑に落ちない。

その理由は?

僕が細かい部分にこだわりすぎなのかもしれない。確かに自分でもディティールにこだわる傾向はあると思う。

そもそも要領が悪いのかも知れないし、物分りが悪いのかも知れない。

もしくは、似た言語を触った経験がないので、勘所がつかめていないのかもしれない。誰もがつまづきやすい箇所なのかもしれないし、僕だけがつまづいているのかもしれない。確かな理由は分からない。あまりの理解の遅さに嫌気がささないでもない。

人との競争

だけど自分の意識を操作して、なるべく気にしないように努める。

脳が「競争」にハッキングされそうな時は、まずは呼吸を整えて、脳の状態を整える。頭に浮かんだイメージを確かめ、身体感覚を確かめて、何が僕とプログラミングとの関係をブロッキングしようとしているのかをモニタリングする。

そして分かる。人と比較しても仕方がない。自分の理解の遅さに苛立つのは、いつでも「他の人の顔」が浮かんだときだけだ。時にそれは仕事の仲間だったり、架空の優秀なエンジニアだったり、どこにも存在しない「平均的なエンジニア像」だったりする。

プログラミングと僕だけしかいない島

だけどいまじんおーるざぴーぽー。もし仮に、この世界に自分とプログラミングしか存在しなかったとしたら、人と競争する必要さえなくて、本当にゆっくりとプログラミングを学び、愛することが出来るだろう。

だから僕はプログラミングを愛する。つまづいて、分からなくて、手を動かして理解する苦い工程の中にも、味わい深い甘さが隠れていることを知っている。そして見つける。

プログラミングは時に、現実逃避の手段

たとえ嫌なことがあっても、キーボードを触っているだけで、心が落ち着き、夢の世界に近づくことが出来る。脅かすものは何もない。あたたかな世界だ。(コンパイラに怒られることはあるけれど)

プログラミングは時には、現実の問題解決の手段であり、時には、現実から自分を守るための盾でもある。

なんて重宝するやつだろう。

プログラミングは食べるもの

「食べる! SSL!」という本がある。この本のタイトルは良い。

スクリーンショット 2018-07-16 18.30.30.png

プログラミングって「食べている感覚」がある。果実のようで、カフェラテのようで、ステーキのようで、お米のようでもある。

たとえば長いドキュメントを読む時だって、ドキュメントを食べ物のように感じているなら、食べている時間は長ければ長いほど嬉しい。噛みごたえがあるのも良い。美味しいものはずっと味わっていたい。

どんなに食べても太らない食べ物。それがプログラミング。むしろ食べれば食べるほど美味くなるし、味わいは増すし、たぶん頭もちょっとだけ賢くなる。いや、逆に馬鹿になるかもしれないけれど。

こんな風にいつまでも、プログラミングを食べ物のように感じていられたら幸せだなと思う。

 

プログラマは好き嫌いを大事にしよう

最近僕は、Ansibleと遊んでいるのが楽しい。

DockerやRuby on Railsと遊んでいるよりも、何故か。

「技術的には、もっと廃れにくいものを勉強した方が良い」というようなことを考える。だがそれは損得勘定で。そんな風に頭で考えても、何の役に立たない。どうせ面白さを感じていなければ、勉強したって何も頭に入って来やしない。

楽しさ重視。あまりにも安直なフレーズだが、言葉じゃない、本能を働かせる。人間の意識の複雑な部分がキャッチする「面白さ」や「味わい」を大事にする。

プログラマは巨人の肩の上で遊んでいる

プログラミングなんて、出来合いの遊具で遊んでいるようなものだと思う。

たとえば ls コマンドでディレクトリ一覧が表示される。ただこれだけのことだって、過去に遡れば、無数の巨人たちの、膨大な積み重ねの上に成り立っている。

僕らはプログラミングのパーツを組み合わせたり、組み替えたりして使う。ひとつのプログラミングをするとき、本当に僕ら自身やっていることなんて、どんなに多く見積もっても、0.0001%もない。

99.9999% は巨人たちの力の上に成り立っている。僕らは巨人たちが力を動かしているのを、ただ見守るだけだ。

深みにはまり込むことがプログラミングの醍醐味だと思う

プログラムが思うように動かない。

プログラムを動かしているプラグインがうまく動いていないみたいだ。

そのプラグインを動かしているライブラリがうまく動いていないみたいだ。

そのライブラリを動かしている‥以下略。

たとえばそんな風に深みにはまり込む時、プログラミングの情報空間に脳を放り込んでいる感じがする。悪くない。こいつがプログラミングというやつの醍醐味だ。

 

スクリーンショット 2018-07-14 15.45.03.png

眠りはエンジニア最大の特効薬

睡眠は偉大だ。これで大抵の問題は解決する。

1日キーボードを触って解けなかった問題も、眠りから冷めた頃には解決していたりする。

たとえ完全な眠りには落ちなくても、うとうとしながら、プログラミングの問題について考え続けるのが良い。それだけで問題解決に近くづくことが出来る。たとえそうではなくても、考えること行為自体だけで、うっとりとした時間を過ごすことが出来る。

意識が考えるよりも、無意識に考えさせた方が良い。

無意識というとざっくりとした言い方だが、完全な無意識というよりは、意識の遊ばせ方の話だと思う。自分の脳や思考と、軽やかに遊ぶ方法を覚えるのだ。

仮眠をとったり、ちょっと散歩や運動をしたりするのも良い。

プログラミング上の問題は、意識的に思考した時間と、無意識的に脳に解決を委ねた時間とで決まる。

意識的に考えることは大前提だが、苦悩まではしなくても良い。苦闘するから問題解決するというわけでもない。むしろ問題が見えなくなる。

あくまで問題解決に寄与するのは、まずは問題と遊ぶこと、そしてその跡で、無意識的なものに解決を委ねることだ。

決して「苦しむ」必要は微塵もない。遊び方がうまければうまいほど、問題はい解決しやすくなる。遊びのプロになろう。

眠りを味方につければ百戦危うからず。

煮詰まってから眠るのではなく、最初から眠りを味方につけておきたい。たまたま偶然に眠りが着想に寄与するのではなく、積極的にこの効果を活用していきたい。

 

瞑想するエンジニアに危機が訪れる

僕は精神統一のトレーニングとして瞑想をたしなんでいる。これが最高の休憩にもなる。

だが今回、半期に一度の評価面談で聞かれたこと。

「何か宗教やってる?」

そして目立つ場所、というか社内での瞑想は実質禁じられることとなったのだ。

ねえマム、スティーブ・ジョブズにはなれないよ。

だが心配ない。

二年間の瞑想経験により、僕は仕事をするだけでもトレーニングが出来る段階に達していた。たとえば自転車に一度乗れれば、乗ることが自転車の訓練になるような。

プログラミングをしたりドキュメントを読みながら、心身のバランスを整える。これが僕の瞑想だ。

椅子の上であぐらをかくことさえ禁止されなければ、きっと大丈夫。