Skip to main content

Posts

偏狂的な愛と持たざる者

 なにかに偏狂的に愛を持っている人っていいですよね。 つい最近読んだ本で羽田圭介が言っていた。 自分もそう思う。でも自分にはそういう偏狂的な愛はあるんだろうか。そんなことを考えていた。 近頃、とても仕事が忙しい。この忙しさにはいくつかの要因がある。 チームレベルとしては、まずそもそも、仕事の量が多い。そして、それをできる人が限られている。 自分の話としては、他業務も並行していることで物理的に避けている時間が短い。その上、今のチームで求められているスキルに対しての成熟度が低い。とても。 一番最後の部分は、自分の問題なのでキャッチアップのために時間を捻出して、少しずつでもスキルを獲得しようとしている。 とはいえ他業務が忙しいので時間が取れずその結果として……と少し悪循環に陥っている。 そんな様子がしばらく続いているので、自己肯定感が低下している状況にある。 これを見ると少し面白い。 iPhoneの機能で自分のムードを記録しているのだけど、仕事が始まると週の後半に向けて徐々にムードが悪くなっている。 そんな折、チームの同僚と夕食をしながら会話していた。 その彼はチームの中で飛び抜けたパフォーマンスを出していて、言ってしまえば彼一人で持っているようなものでもある。 そんな彼の負担を少しでも減らしたい、そして自分も貢献したい、という思いもあって、色々と雑談をしていた。 すると、どうやら彼は、仕事でしている勉強とは別に機械学習の勉強をしているとのことだった。 それはもちろん、役に立つ可能性があるからというのもそうだけれど、楽しいからでもある、と。 いいPCをゲーム用に買ったので、ゲームするか機械学習をしている、と。 その時にハッ、と気付いてしまった。 自分の場合、ゲームとそのような学習は並列ではなくて別の枠。学習を十分にして楽しかったからゲームはいいや、とはならない。 そこで、自分は「ソフトウェアエンジニアリングが好き」なのではなくて、「ソフトウェアエンジニアリングができる自分が好き」なんだと気付いてしまった。 ソフトウェアエンジニアリングに対して自分は偏狂的な愛はない。だから嬉々として週末をそこに費やしたいというよりは、もう少しわかる状態で貢献できるようになりたい、そのためにはこのあたりまで「やらなければ」という気持ちになるのだな、と。 偏狂的な愛には勝てない。勝とうとするこ

面白いと思えるところまでやる

今日は飲み会だった。旧知の中のメンバーと。その中で一人、飛び抜けてかっこいいことをしているメンバーがいて、そして、その彼は誰よりも人一倍長い時間、同じ対象に対して情熱と時間を注いでいた。 義務感というよりは、今しかない、今やりたい、というような気持ちから。 自分にも楽しいことはある。例えば今、猛烈に学びたいと思っている言語やミドルウェアがある。でも、それも楽しいけど、もっと手軽に楽しめるものがある。例えばゲームとか。 何かを学ぶことは実際にできるとすごく楽しいのだけどその道中が少し苦しい。だから、最初から楽しくて、なにより苦しさが少ない方を選んでしまう。一方で、もっと長い目で見たら……という気持ちもあるから、そういう自分に対してネガティブな気持ちも出てきてしまう。 どうやっているの?と聞いた。 「最初は苦しかった、特に、始めるまでにはすごくハードルをいつも感じた」と話していた。 「ただ、エディターを上げた状態で、いつでも始められる状態で構えていたら、自然と段々、エディター上がっているしやるか、じゃないけど始めることのハードルが下がってきた。やりながら続けていたら楽しくなってきて、今は楽しくて仕方がないからもっともっとやりたい、そういう気持ち。」と。 つい義務感で進めてしまう部分があるから、その義務を果たすと、報酬としてやはりより安易な快楽であるゲームに流れ着く。その流れを切るのは紛れもなく自分で、楽しいと思えるところまでやる、そういう努力をする必要があるんだよなあと思った。 自分は、Joel Spolskyの言うJava SchoolのKids*1で、その事実を今仕事の中での自分のロール転換にあたってひしひしと感じている。 変わっていく中で新しく学ぶことに喜びを見出しつつも、やはり苦しくて、だからこそ、別の方面へと逃げてしまうところがあるなあというのを俯瞰しながら見て感じる。 「お前がつまんないのはお前のせいだ」って有名なセリフ*2もここぞとばかりに頭に浮かぶ。自分を楽しくするかつまらなくするか、それが今か先かも含めて、それは自分がどうするかなのだなあと。 色々と大変なこともあって万全ではないのだけど、だとしても射撃しつつ前進*3、のスタンスを崩さずにいけるといいなと思う。 註1 好きな著者にこうもストレートに言われて自覚もあるところだと気にならないわけはない、もち

RustとWebAssemblyによるゲーム開発読み始め vol.1

読んでいる本はこれ。 Game Development with Rust and WebAssembly Game Development with Rust and WebAssembly Write an endless runner game for the web in Rust and test, de learning.oreilly.com 『RustとWebAssemblyによるゲーム開発 ―安全・高速・プラットフォーム非依存のWebアプリ開発入門』 として日本語訳版がもうすぐ出る( 7/19発売予定 )ようだったけど、待てなかったし、基本的には文章を味わう系の内容ではなさそうだから原著でも良いだろうということで進めてみている。 まずは1-2章を終えたのでメモとして残す。 1章の最初のお試しで早速引っかかった。これが動かない。 npm run start copy node:internal/crypto/hash: 69 this [kHandle] = new _Hash(algorithm, xofLen); ^ Error : error: 0308010 C:digital envelope routines::unsupported at new Hash (node:internal/crypto/hash: 69 : 19 ) at Object .createHash (node:crypto: 138 : 10 ) at module .exports ( /Users/ tkhm/git/walk-the-dog/node_modules/webpack/lib/util/createHash.js: 135 : 53 ) at NormalModule._initBuildHash ( /Users/ tkhm/git/walk-the-dog/node_modules/webpack/lib/NormalModule.js: 417 : 16 ) at handleParseError ( /Users/ tkhm/git/walk-the-dog/node_modules/webpack/lib/NormalModule.js: 47