🔥

魔法の中身

2024/12/22に公開

こんにちは!MOSHで開発をしているHigashiです。
こちらはMOSH Advent Calendar 2024の22日目の投稿です。

いきなり言い訳になってしまうのですが、絶賛家庭内パンデミック中で色々と崩壊しかけておりだいぶ意識も朦朧とした状態で書いております。
こういうときこそアドベントカレンダーの神が舞い降りたり、サンタさんがネタをプレゼントしてくれたりしてくれればと思うのですが全然そんなことはありませんでした。夏休みの宿題を後回しにするタイプのまま大人になったツケですね。

先日読んで思うところのあった記事があります。

レバテックLAB
『メタルギア』『ZOE』の開発者がレトロゲームエンジン「Pyxel」を作った理由【フォーカス】
レトロゲームエンジン「Pyxel」開発者である北尾さんのインタビュー記事です。詳細は記事をご覧いただければと思います。

個人的に

  • 今の時代にプログラミングやゲーム開発に興味を持つ子どもたちは、ある意味で「恵まれていない」と感じているからです。
  • 現代では、技術をゼロから学ぶきっかけに出会いづらくなったのではないかと考えています。

といったこところに考えさせられることがありました。

仰っていることを僕なりに超意訳すると「現代はマシンスペックも進化しているし、ツール群も進化し豊富である。Pyxelは敢えて制約を設けている。その制約で試行錯誤する、乗り越えようとすることがプログラミングの楽しさや醍醐味であり、成長の鍵や糧となる。」ということだと感じました。

ホビーパソコンで悪戦苦闘し技術を磨いた世代ではなく、就職後プログラミングに触れだした経歴になります。約20年程前です。ホビーパソコン世代の方々からすればすでに「恵まれた世代」だったかもしれません。それでもマシンスペックもツールも今とは全然違います。情報の手に入りやすさも違いました。

それが今では便利なツールが日々開発されている。日本語での情報も豊富にある。紹介記事の手順に倣えばやりたいことに向かって開発をすぐ始めることができる。チャレンジしやすく良い時代になったなと本当に思います。

ただ、少しレールから外れたことをしようとすると躓くこともあります。様々なツールの組み合わせで実現されているものも多いです。初学者がそれらを紐解いていくのはとてもむずかしいことだと思います。そこを諦めず乗り越える先に成長があるのだと思います。

僕のキャリアはWeb製作会社から始まりました。受託開発ではなくWeb制作です。受託開発を行う部署が新設されるタイミングで手を挙げところ運良く移動となり開発者へキャリアチェンジすることができました。希望して異動したくせに不まじめなヒヨッコエンジニアでした(当時の自分に会ったら個室で説教すると思いますし、サシ飲みでひたすら自分の苦労をネタに説得すると思います。若手からしたら最悪のおじさんですね)。
案件開始のたびに開発環境を申請、要件に合わせ環境をセットアップをしていったことを覚えています。
例えばLAMP環境と言われるアレです。なれない頃は様々な設定を理解できず苦労し、文字コードの組み合わせにすら阻まれ正しくページを表示させるのにも苦労した程でした。これらで苦労したおかげで文字コードに詳しくなった部分もあります。
また、当時は現在ほど「技術選定」云々というのは言われなかったように思います。既存のアーキテクチャ踏襲、慣れ親しんだ技術といった理由で同じ技術スタックを使い続けていました。あるとすればバージョン差異くらいでしょうか。
これが今やDockerなどのツールを使うことでコマンド一つで環境を立ち上げることができます。詳しくないスタックの環境も気軽に起ち上げ試すことができます。一方でそれはゼロからミドルウェアのインストールや設定を行う機会を捨てていることにもなりかねません。

前掲した記事にある「制約による試行錯誤」とは違うとは思います。それでも、ゼロから学ぶことや試行錯誤する機会は大事にしたいと思うのです。

以前僕は「知の高速道路」という表現が気に入っていました。先人の経験や知識によって敷かれた道に乗ることで後継が苦労せず追いつき追い越していけることが良いと思っていたのです。いまでもそれは効率の観点では間違っていないと思います。しなくて良い苦労をしてほしくないからです。一方で苦労て得た知識は印象強く記憶に残りやすいと思います。また、乗り越えられることで得られる自信やタフネス、将来どこかで話すかもしれないネタ等もあるかもしれません。こうしたものが減っているのではないかという気もするのです。

SFの大先生が「充分に発達した科学技術、は魔法と見分けがつかない」とおっしゃっていましたね。中身を知らず使う技術は魔法のようなものかもしれません。実際祖父母の世代に僕らの職業を説明しても理解してもらえないことが多いです。ほとんど魔法のようだと思われているフシもあります。それでも僕らはエンジニアであり魔法の中身を調べ、理解することができます。おかしなところは直せますし、もっと良いものをと試行錯誤する楽しさもあります。黒い画面に向かってブツブツつぶやく姿は、鍋に薬を投げ入れ呪文をつぶやく魔法使いの現代版かもしれません。

文章がどこに向かおうとしているのかもう自分でもわからなくなってきました。ただ、久々に筆が乗っており非常に楽しく書けています。決して酔っているとかではないのですが、熱があるなど若干体調が悪いくらいのほうが集中力高まってハイになることありますよね?それだと思います。

このままだとあまりにポエミーかつ思い出語りになってしまいそうなので締めたいと思います。

様々なツールには作者の思想も込められているでしょうし、使用技術も分解していけば全く知らないものを見つけることができるかもしれません。僕らエンジニアはそれらを調べ理解するスキルやナレッジを持つ職種です。昨今はAIが発達してきているので分解や理解を助けてくれることが増えるはずです。魔法の中身を覗いて様々な技術の宝庫であることを理解する楽しさや熱意を持ち続けられればいつでも、いつまでもエンジニアでいられると思います。

年末年始体調だけは気をつけましょう。
では

MOSH

Discussion