見出し画像

好きなものと向き合う

私は、プログラミングが好き、インターネットが好き、家族が好き。

そういう記事を書いてみる。

プログラミングとの出会い

個人的にはあまり良い出会いではないなと思っていたので書いた事がなかったけど、私はあまり中学に行けてなかった故にプログラミングを初めている。今はどうなのか分からないし、誰かが気付いていたのかもしれないし、成績でカバーしてたのかもしれないが、当時私が通っていた中学校は牧歌的で、何となく誤魔化して休んだり途中で居なくなっても何とかなった側面があったので、親も仕事で居ない日中の家に籠もってはリビングの共用PCでよく遊んでいた。

当時UWSCというWindowsを操作するためのフリーソフト(動的型付け言語とそのインタプリタ)があり、義務教育に導入されつつあったeラーニングなるシステムを自動化したのが最初のプログラミングだと思う。数日に分けてやるはずのeラーニングの課題を数分で解くそのプログラムを誰だかに教えてしまったが故に少し広まってしまい、当時の先生には本当に申し訳ない事をしたなと思う。でも、その時あまり行けていなかった学校の中で(小さい範囲ではあったけど)私の名前がヒーローのように出た事が原体験となって、またあの感覚を味わう事を望んでJavaScriptやC#に少しずつ手を広げながらプログラミングを楽しく進められたんだよなとも思う。

その後は学校というよりは、インターネットでコードやプロダクトを公開するようになって、ゲームプログラミングの館だとかその周辺の掲示板だとかに入り浸っては、自分の書いたプログラムで誰かが喜ぶという状態を作っていった。本当にどうしようもない投稿もあったと思うけど、中にはコードという表現を超えて感謝の言葉を受け取る事もあって、少しでも社会に貢献できてる実感が生まれ初めた。おぉ神よ、これが承認欲求か…。

まあそれでも結果的に、学校での劣等感はあまり拭えないまま進んで「何となく数学の成績が噛み合って」「内申点が少なくて良くて」「プログラミング出来そうで」とかよりも何より圧倒的に「同じ中学から誰も行かないから」という目的も何もない理由で高専に進むのだけど、電気電子情報工学科という電気工学も電子制御もプログラミングもできる楽しい所で5年間過ごせたし、なんだかんだ友達も出来たので本当に今思い返せば良い選択だったという事だけが残っている。

高専では、更にインターネットとプログラミングも密になって、Twitterを始めて、それこそ合同高専祭、ロボコン、プロコンのようなキーワードで高専クラスタと繋がり、よりインターネットに何かを公開するという障壁が下がった結果ソフトウェアエンジニアとして働いている今の私が居る。

劣等感と向き合う

冒頭に書いた通り、自分の中ではプログラミングを初めた動機はgoodではなかったなと感じていた事がどこかにあって、やっぱり高専に入るとプログラミング仲間にはもっと幼少期から続けている猛者や数オリだのプログラミングコンテストだので成績を残している人も多かったし、私のような「自分の作ったものが誰かに使われると快感だなあ」ではなく「工学をより理解して未来を作りたい」みたいな根源的な探究心っぽいもので動く人も居て、自分の原点は割とセコい所から来ているなーと思っていた。

一応は大学、就職先で出会った「より探求したい」「知る事が楽しい」「まだまだ上に行きたい」という学力も実績も気概もある人たちに引っ張られて何とか見繕っていたけど(機械学習という分野も良かった気がするけど)、結局今まで「プログラミングとの出会い」をちゃんと語れなかったのはどこか知の探求者の各位に対して劣等感があったなと思う。

この中学高専時代の体験から来ている「人に見せてワイワイしたいなあ」は、最近プロダクト開発の文脈で「ユーザに使ってもらえると嬉しいなあ」に変わっているので、割とちゃんと向き合えてきている。

この辺りは「人を選ぶ技術」という書籍を読んだのが本当に良くて、劣等感についてちゃんと整理できるようになった。何かを成すには、使命感と劣等感が陰と陽のようにバランス良く混ざり合っている必要がある。どちらかに偏ればダークサイドに落ちてしまうし、逆にどちらも小さい状態では大きな目標に進む力になり得ない。

それを何に向けていくのか、向き合いながら、学ぶ時間にあてたり、見方を変えてみたり、触れ続ける事が大事なのだなと思って生きている。

プログラミングに向き合う気持ちが「ツール的」である事、最近だと「お金儲け」である事、色々あると思うけど、結果としてプログラミングが好きか嫌いかとは関係ないし、学ぶか学ばないか、やるかやらないかであるし、もしそこで劣等感を感じているならそれを力の1つとして何を成すべきか考えれば良いよなと思う。

時代と向き合う

話変わって直近、会社を退職して時間が出来た中でLLMのブームが来て、ChatGPTやGitHub Copilotを使った開発にかなり長い時間を当てる事ができた。もう近い数年で「ツールによるコーディング」が大半になるだろうなと感じさせる技術であるなと思った。今はまだ微妙なコードが生成されたり、扱いにくい言語があったり、プロンプトの扱いづらさやら法整備やら課題こそあるものの、本当に強力なツールであるがゆえにすぐに性能が上がり整っていくだろうと思う。

以前記事にも書いた通り、今までの牧歌的なAI組織はなくなるだろうし、広く一般的なエンジニアリング組織もその一環に入ると思う。

本当に時代の転換点ではあると思うし、上手く捉えたい気持ちが強い。

一方転換点とは言っても、資本主義社会において技術はあくまでツールであることが多いし、私も生成モデル、LLMブームの最初の頃はAI関連で出てくる技術をツールとして認識していて「絵でも文章でもコードでもユーザに届けるだけならどんな形でもモノづくりが出来れば良いのかなあ多分」とぼんやり思っていた。

けれど、長く触っているうちに「プログラミングという行為自体が楽しい」「ユーザに届けるためのエンジニアリングも楽しい」と思うようになった。

エンジニアリングはもちろん前章で書いた自分の性に明らかに合っている訳だけど、プログラミング自体もまた深みがあって、その深みがあったからこそのめり込めたんだなとGitHub Copilotを使い続けて思い至った。やっぱりコードがコンパイルされて動くまで一連の過程を含めて、一種の表現行動として「言語を書く」「言語を習得する」という面白さがあるし、そのコードを通して私達ソフトウェアエンジニアはやり取りしてきたわけで、これもまたプログラミングの醍醐味だよねと感じる事が増えた。デバッグにかける時間が増えたからこそ、より本質的なプログラミング言語の良さに迫れたような感覚かもしれない。

今までもこれからも、陶芸や園芸のように趣味の範囲が大きくなってもやり続けるだろうなと思う。その形はOSSかもしれないし、組織論かもしれないし、人かもしれないけれど、いずれにせよ好きに関わり続けたいなと思えるようになっている。プログラミングもエンジニアリングもどちらも大切だし、今まで時間を使って手を動かして学んできたからこそ、プログラミングもエンジニアリングの次のパラダイムについて考えられるんだよなと思うと、少し次を作る気力が湧く。

死と向き合う

なんでこんな記事を書く事になったかというと、採用シーンで「プログラミング始めたきっかけは?」という質疑からUWSCの話になって懐かしくなって調べた時にUWSCの作者が亡くなっていること、代替となるUWSCRというRust版を作っている方が居る事などを調べて知り、何とも言えない感情になったから。

当時中学生だった私は、UWSCを使って上手く自分のコードが書けて嬉しかったこと、Pro版を使うお金が無いが感謝している事を問い合わせフォームのようなところから長文で送った事がある(今思い返せば失礼な文面だった気もしていて当然返信も無かったと記憶している)。

私の人生を変えてくれてありがとうと伝えたい。

そしてUWSCRの開発者にも敬意を表したい。


同時に、良いソフトウェア開発者も死ぬんだよね、と思っていて、その時までに大事にしたいものを少しでも探したいなと思うようになった。

やっぱり、目の前に居る妻子は大事で彼女らの笑顔によってHARD THINGSにも耐えられるし、自分が好きな事を出来ている幸せを同じようにと強く思う。同時に、将来の娘に恥じないように続けないといけなくて、プログラミングやエンジニアリングと好きな所を自分でやり続ける必要があるんだなというのが直近の結論。続けるのはしんどい事もあるけれど、こう考えると割と大きな事にチャレンジできるなと思えるようになってきている。前職では色々あったけど、このタイミングで退職出来たのは本当に良かったのかもしれない。

なんとなくWho You Areで語られている武士道っぽさもある。

まさにWho You Areの副題の通り、自分の言葉と行動で形を作っていかないといけないなと思う日々を過ごしている。故に言葉にするし、手を動かすという事を最近はしている。

おわりに

自分が楽しいと思えるエンジニアリングと、熱中できるプログラミングと、自分を救ってくれたインターネットと、支えてくれる家族と、この辺りを大事にする人生でありたい。本当に色々な先人に支えられている訳なので、私も少しでも先人になるべく次を作りたい。
最近はちゃんとそういう気持ちです。

どういう形で発現するのか分からないし、私も楽しみだけど、この熱はずっと大事にしたい。

やっていき。


サポートよろしくお願いします