ちなみに

火曜日の空は僕を押しつぶした。

マウントフルネスに生きる

近年読んだ本の中で(いろんな意味で)一番おもしろかった。

マウントというちょっとネガティブな題材をごり押しで良い感じの話にしている。こういうごり押しは好きです。

1章はマウンティングの例が紹介されていてめちゃくちゃ反面教師になる。 2章では「マウントさせてあげる」というテーマで普通に円滑な会話のためのエッセンスを学べる。 3章は「マウンティングエクスペリエンス」というパワーワードを使って、ユーザーに気持ちよく使ってもらえる商品やサービスのヒントを得ることが出来た。 さらに4章では他人との比較してしまう自分を受け入れて、優越感をうまく使いこなす術が述べられている。

正直、ほとんど内容は覚えていない。

完全にネタ本ではあるのだけれど、おもしろい視点の一つとして引き出しが増えた感覚がある。 薄っぺらい内容を真面目に書かれても薄いだけだけど、こういう突き抜けた視点でまとめてもらえると好感が持てます。

あなたの仕事はあなたの仕事を終わらせること

Audibleを解約しそこねて早幾年。勿体ないので今週はこれを昼休みにチマチマ聞いていました。 ちなみに書籍版は Kindle Unlimited でぱらぱら読んでいた。Amazon様々である。

全体的に常人には不可能と思われる方法が解説されていた気がするが、それもそのはずで時間管理はすべての人がうまくいくというのは幻想。 しかし無駄な訳ではなくて自分に合いそうなエッセンスを取り出して糧にしていくべきだと思っています。

この本で特に印象深かったのは以下の3点です。詳しい解説は本書を読んでください。

  • 仕事は最初の2割の時間で8割を終わらせる
  • モノを作って見せると言葉が拙くても伝わる
  • 好きになれない仕事はできるだけ避ける (好きなことをやれ)

それぞれ今から取り入れていこうと思います。

YAPC::Hiroshima 2024 にスポンサー参加してきた

yapcjapan.org

2/10(土)に開催されたYAPC::Hiroshima 2024に スポンサー枠 で参加しました。

ゴミのような計画性のなさで直前だとホテルが取れなかったので朝一で行って終電で帰りました。 懇親会の途中で出るのはめちゃくちゃ名残惜しすぎたので次は絶対に泊まりたいです。

広島まで日帰りでいけて温泉入り放題の別府市はいいぞ。

出不精

自分は基本は家から出たくないよりの人間です。 久しぶりのオフラインカンファレンスなので、正直なところ広島が来いという気持ちだったが、結果、参加して本当に良かった。 だいたいいつもこういう感じなので無理矢理にでも家を出た方がよい。

気軽な雑談とか、発表者の熱を感じたりとか、現地にいないと体験出来ないことが沢山あって、カンファレンスでしか充電できない何かがある。 id:Soudai さんの発表にあった 計画的偶発性理論 は仕事だけじゃなくて人生も適用されるよなあと思うのであった。 (どうでも良いのだけれど id:Soudai id:Songmu id:SixeightはてなOB大文字Sから始まるソフトウェアエンジニアとして最弱なので頑張っていきたい)

soudai.hatenablog.com

行ってしまったら楽しいので行くのを迷っている人はいったん行ってみるとよいと思います。

高齢化

めちゃくちゃ迷ったのだけれど、ずっとメインのゲストトークを聞いていて、他のトークは録画に託す。 それだけ今回のゲストトークはどれも気になる話題と、発表者の方々でした。 そしてめちゃくちゃ面白くて途中で抜けて別会場に行く予定だった時間も結局席を立てなかった。

これは少しネガティブな話もあって、コミュニティの中で有名なソフトウェアエンジニアの顔ぶれがあんまり代替わりしていない気がしていて、少なくとも自分は新しい世代で活躍している人をあまり知らない。 パネルディスカッションでも感じたが、会話されている内容も昔話に絡めることが多くて、使っている技術こそアップデートされているが、同窓会感は否めない感じがしました。

参加者については初参加の人がかなり沢山いらっしゃったので、業界が高齢化しているということはないはず。 懇親会で知の高速道路が完成していてみんながスターで頭一つ抜けるのが大変になっているという話をしてたしかになという気持ちになった。

別の問題として自分の体力が落ちていて、三連休はほとんど寝て過ごすことになったのも高齢化を感じました。

後悔

今回スポンサーとして参加していて、スポンサーLTの枠をもらっていたのだけれど、めっちゃ普通に会社紹介をしてしまった。 選ばれなくても技術的な話をしてよい枠という認識が出来ていなかったのと、久しぶりすぎてカンファレンスの様子を忘れていたのであった。 諸事情により話す内容をめちゃくちゃ苦慮したので、ふつうに何か技術ネタを話したらよかったのであった。

メタバース」というマーケティング用語はめちゃくちゃ誤解されやすい単語だと思うので「世界を作れるプラットフォーム」を目指しているんだということが言いたかったです。

急速に子供の頃夢見ていた未来が実現しつつ昨今ですが、まだまだ足りないんですよ。電脳どころか電脳メガネすらまだ実現してないんですよ。 もっともっと未来を加速する、思い描いたものをなんでも創りだせる。そんなプラットフォームを作っていきたいです。 いまはまだバーチャルな世界がそこに近いのだけれど、これが現実世界に干渉出来るようになったら、そう思うとわくわくしませんか? それが僕の「お好み」です。

好きを貫く

終始わくわくしっぱなしだった1日だったのですが、やっぱりキーノートの杜甫々(とほほ)さんの発表は胸にくるものがありました。

www.tohoho-web.com

「とほほのWWW入門」といえば我々の世代(今年38です)ではきっと知らない人はいないと思います。 当時、書籍も含めて情報がほとんどなかったウェブの技術を学ぼうと思ったらとほほさんのサイトがもっとも整理されていて分かりやすかったのを覚えています。

そしてものすごいのが現在進行形ということです。新しい技術や、技術以外の趣味の話、それらをいまもどんどん更新されている。 間違いなく偉業なのですが、本人は「なんで続けられるのか」という質問に対して「好きだからとしか答えようがない」とバッサリ。 本当にただ「好き」だから「楽しい」からということが伝わってきて、自分のことじゃないのにとても嬉しい気持ちになりました。

そうなんですよ「好きを貫け」が合い言葉だったはずなのに、いつから「やらなきゃ」になってしまったのか。 もっともっと楽しんでいいんですよ。(ところで元ネタはラルフ・ウォルドー・エマソンということを今回初めて知りました)

機嫌良くそして愉快にやっていきたい!

(別の話題として技術に対する「好き」について自分がそこまで好きと言えないなという劣等感を感じる側面もあります。しかし比べることに意味はないのです。)

結び

スポンサーLTでアドリブでやった「世界を変えている場合じゃない、世界を作るんですよ。」というのを id:onk さんに褒められてめちゃくちゃ嬉しかったのですが、これは id:Soudai さんがゲストトークで紹介された id:onishi さんの「手を動かした人だけが世界を変える」へのアンサーでした。 同じトークで憧れているだけじゃ駄目で越えていくことが恩送りになる(意訳)という話をされていて、それを聞いて自分の憧れている人達へのいまの自分の気持ちを考えたところ「世界を変えている場合じゃない」という言葉が思い浮かんだのでした。

世界を変えた先、世界そのものを作れる時代を僕は見てみたいです。

自己信頼

自己信頼

Amazon

やった方がいいと思うことはたいていやった方がいい

生きていると「やった方がいいかな」と思うことがあるけど、めんどくさかったりしてやらないことも多い。 けれどもやった方がいいと思ったことはたいていやった方がよい。

具体的には爪を切った方がいいなと思ったけど面倒だと思って放っておいたら、ひっかかって爪がめくれたりする。 髪を切った方がいいと思ったけどそのままにしておいたら、目に入って痛くなる。 ミルの掃除をさぼるとコーヒーの味がどんどん落ちていく。

そもそもやった方がいいなと思うのに脳のリソースを使うのは勿体ない。 やってしまった方がたいてい得な場合が多い。

手戻りが発生してからの方がもっと面倒なので先にやるべし。

ソフトウェアエンジニアこそやるべきバルダーズ・ゲート3

みなさんバルダーズ・ゲート3やってますか。僕はいま140時間くらいやっています。

おもしろいゲームが沢山リリースされた大豊作の2023年にゲームオブザイヤーを総なめにしたすごいRPGです。 日本では馴染みのない ダンジョンズ&ドラゴンズ のルールが元になっているなども事情もあって、周りではそこまで盛り上がりを感じなくて惜しいなと感じています。

このゲーム、最初はむずかしいなと感じるのですが、知識が増えるごとに出来ることが広がっていき、気が付いたらその面白さの虜になっています。 これってどこかで体験していませんか。そうです、ソフトウェア開発を学び始めたときと同じなのです。

この記事ではバルダーズ・ゲート3をプレイすることで、ソフトウェアエンジニアにとってどういった利点があるのかをお伝えしようと思います。

(ネタです。マジレスは勘弁してください。)

不確実性

このゲームはほぼすべてがダイスロールで決まります。つまりダイス(サイコロ)を振って出目によって結果が決まるのです。 例えば、会話で相手を説得出来るか、隠されたものを見つけられるか、攻撃が相手に当たるか、などなど。

現代のソフトウェア開発において不確実性をどうコントロールするかというのは大きなテーマです。 ダイスロールというのはまさに「不確実性」と言えるのではないでしょうか。

ダイスをふるならただの運ゲーじゃないかと思われる方もいらっしゃるかもしれません。 しかし、ここからがおもしろいところです。このゲームでは様々な方法で期待値の調整が可能なのです。

例えば、キャラクターのビルドによって能力値の補正を加えたり、魔法やアイテムの効果によって出目の底上げが可能です。 どういった能力が求められているかを正確に把握して、適切に対応することで不確実性を減らすことできるのです。

不確実性について普段から意識することは、ソフトウェア開発にも必ず活きてきます。 そして、どうやって不確実性を下げるかというのはソフトウェアエンジニアとしての腕の見せ所でしょう。

リソース管理

戦闘中は基本は1ターンにつき「アクション」「ボーナスアクション」「リアクション」「移動」の4つの行動しか取ることが出来ません。 くわえて魔法などの特殊な行動についても使える回数が決まっており、基本的には休憩するまでは回復しない仕様になっています。

戦闘の難易度はかなり高めになっており、限られたリソースの中で最大限の効果を発揮できる方法を常に考える必要があります。 魔法やアイテムなどの準備も必要なので、リソースの調達についても頭を使うことになります。

同じく、ソフトウェア開発においてもリソースの管理は重要です。時間や予算との戦いになることもあるでしょう。 マネージャーやリーダーとしてだけでなく、開発メンバーとしてもリソースを意識することは重要です。

このゲームで骨のある戦闘を何度もこなし、リソース管理に対する姿勢を身につけることで、この先生き残るためのスキルを身につけることが出来ます。

スケジュール管理

難易度の高い戦闘はシビアなスケジュール管理についても要求してきます。 誰を使って、どの順番でどの敵を倒すのが効率がいいのか計画したり、敵の行動による割り込みに対処する必要があります。 また、勝負は戦闘前から始まっており、味方の位置取りを決めたり、都合のいいように環境を整備する準備は、スケジュール短縮のための根回しそのものです。

スケジュールを立て、進捗をみつつ、臨機応変に対応するスキルは、絶対にソフトウェア開発に必要になってきます。 このゲームは計画から実行までのプロセスを何度も経験できるチャンスではないでしょうか。

設計のトレードオフ

みなさんもソフトウェアエンジニアとして、大なり小なり設計という行為を行ったことがあるのではないでしょうか。 その中で、様々なトレードオフに頭を悩ませてきたはずです。

このゲームのキャラクタービルドはとにかく変数が多く、すべてを最高にすることは出来ないのでトレードオフに頭を悩ませることになります。 例えばクラスだけをとっても1クラスで最大レベルまで上げるのか、マルチクラスにしてシナジーを狙うのかなどなど考えることが無数にあります。

各キャラクターのビルドは単一システムの設計、パーティー全体のバランスを考えるのは複数システムの設計とみなせます。 誰にどういう役割を持たせるかを考えるのは、システム分割を考えるのに等しい行為ではないでしょうか。 その中で発生するトレードオフに頭を悩ませてみてください。

幸いなことに「種族」と「背景」以外はいつでも変更が可能で、何度も試行錯誤できるので、よい訓練になるでしょう。

コミュニケーション

このゲームに登場するキャラクターは全員が良くも悪くもとても個性的です。 それぞれが思惑や事情を持っており、斜め上のコミュニケーションを取ってきます。 彼ら、彼女らの機嫌を取ったり、場合によっては敵対したりと、コミュニケーションも重要なゲームの要素になっています。

ソフトウェア開発においてもコミュニケーションは非常に重要です。 様々なバックグラウンドのメンバーが集まってチームを組むこともあるでしょう。 チームが最大限の力を発揮出来るように普段から鍛えておくに超したことはありません。

パーティメンバーだけでなく、それ以外のメンバーにも気を配って冒険を進めることでコミュニケーション能力が鍛えらるでしょう。


いかがだったでしょうか。

たしかにプライベートでも仕事みたいなことするのは嫌だとおっしゃる方もいるでしょう。 しかし、難しい開発を乗り切った達成感を知っているからこそ、この仕事を続けているのではないでしょうか。

まあ、そんなことどうでも良くてめちゃくちゃおもしろいのでとにかくやってくれ!!!

個人的にはPC版でマウスキーボードでやるのがおすすめです。 ドラッグでいろんな要素を移動できるので楽です。

store.steampowered.com

www.spike-chunsoft.co.jp

答えを出そうとしない

誰かから相談を受けたとき、答えを出そうとしてしまう。 多くの場合は相手は答えを求めていないし、くわえて中途半端な答えしか出せないことも多い。 自分のちっぽけなプライドのために答えを出そうとしているからそうなっていると思う。

求められているのは適切な問いを返すことで、答えを出すことではない。 下手に経験を積んでしまっているがために欲を出している。

問いを返すことで相手は答えに近づけるし、自分も相手の視点を知ることが出来る。 自分の中にある情報だけから答えを出してしまうとなんの発展もない。

プライドを捨ててしまおう。

2024年の目標と2023年のふりかえり

2024年の目標

  • 捨てる
    • 物を買いすぎているので手放していく (断捨離)
    • 経験を積んでしまっているので手放していく (アンラーン)
  • 俯瞰する
    • けっこう狭い範囲しかみてないなという感触があるので俯瞰を意識したい
    • 去年の上長との1on1でもらったテーマだったが引き続き

2023年のふりかえり

blog.nishimu.land

  • がんばらずに成果を出す
    • 全然頑張らなかった
      • 月の勤務時間を調整して働き過ぎないようにした
      • 有休を気軽に使って適度に休むようにした
    • 評価されたので成果が出たと言える
      • 半年は超えてしまったが一年弱でグレードが上がった
      • 数値上はアウトプットもそれなりに出ている
      • アウトカムにつながっているかはちょっと怪しい
  • 運動をする
    • 前半は運動していたが後半ちょっとダレていた
    • それでも体重はだいぶ減ったので頑張ったと思う