本文へ
ハクソク

世界を動かす技術を、日本語で。

プログラミングを楽しむのはまだ大丈夫です

元記事: 原文(chriskiehl.com)

概要

  • プログラミング を楽しむことは今でも大丈夫
  • 仕事 とプライベートでのプログラミングの意味は異なる
  • ネガティブな意見に流されず 自分の楽しみ を大切に
  • 難しいことに挑戦する 喜び や学びの価値
  • 経済的な理由なしで 楽しむこと の正当性

プログラミングを楽しむことの意義

  • Hacker News などの情報源から、プログラミングの楽しさが否定されがちな空気感
  • 仕事では 経済的価値 や効率性が重視される現実
  • しかし、 仕事と人生は別物 であるという認識
  • インターネット上で目立つのは、 悲観的で感染力の強い声
  • その中で、 週末にプログラミングを楽しむ 筆者の姿勢
  • 現在は ゲームプログラミング の学習中
    • Breakoutクローン を手作業で作成
    • バグだらけの当たり判定 も含めて楽しみ
  • Claude のようなAIなら一瞬で書けるが、それが目的ではない
  • 興味が移り変わり、 Javaの型安全性 や Agda のアイデアを学ぶ週末
    • 実用性や目的 は不明だが、思考の幅を広げる活動
  • 再帰スキーム の勉強にも挑戦
    • 理解できず苦しむ経験 も含めて価値
    • 何が有用か分からなくても、後で役立つ可能性

難しいことに挑戦する楽しさ

  • 難解なアイデア は、長い時間をかけて理解が深まるもの
  • Monoid のような抽象概念に関する論文が書かれる理由
  • 実用性が見えなくても、学ぶこと自体が報酬
  • 社会的な圧力 を感じることへの違和感
    • 「もう楽しんではいけない」という空気
    • 成長や喜びに意味がないかのような風潮
  • ネガティブな情報 を浴び続けると気持ちが沈む現象
  • ネットから離れると、その気持ちは消える

楽しむことの正当性

  • 楽しむこと に経済的な正当化は不要
  • Fin のような美しい概念を理解する楽しみ
  • プログラムの正しさを代数的に考える ための学び
  • Vibe-coding のような、コードを全く見ずにアプリを作る楽しさ
    • 従来のプログラミング とは違う独自の面白さ
  • 自分なりの楽しみ方 を大切にする姿勢

提供: ハクソク · 要約更新:

AIによる日本語要約です。内容は原文とあわせてご確認ください。

Hacker Newsの議論を読む

Hackerたちの意見

誰かがプログラミングを楽しむことがダメだって言ったとは思わないけど、AIが俺の好きな部分(コードを書くこと)を得意になっちゃって、俺が苦手な部分(マネージャー業)をやらされるのが問題なんだ。18ヶ月くらいで、仕事の満足度がかなり高かったのが、今は最悪になっちゃった。

└

コードを書くことは俺にとって「ダウンタイム」だったんだ。集中して問題を解決する合間にあったからね。AIエージェントがいると、問題解決に時間を取られすぎて、ダウンタイムが減っちゃった。燃え尽きるんじゃないかって心配してる。

└

変だね。AIが一定の品質に達してから、コードを書くのが止められなくなった。実は、いじるよりも製品をデザインしたり作ったりするのがすごく楽しいことに気づいたんだ。たまに面白いアルゴリズムや技術的な詳細に出会うと、手動モードに切り替えるけど。キャリアのどこかで、断片的なライブラリやフレームワークのために大量のドキュメントを読むのに疲れちゃったんだ。AIはその「解決策」だと思う。皮肉なことに、これは配管工事のように見えるかもしれないけど、効率的で使いやすい製品をデザインすることにはアートがあるんだ。俺はそれがすごく好きだよ。

└

ほら、みんなが集まって、今はコーディングが楽しいって話すだろうね。そういう人たちは、君とは違うタイミングでこの変化を受け入れたんだ。これでいいんだよ。君も変化を受け入れることになるし、その経験で強くなれるよ。自分が世界で何をしたいか決めるのには時間がかかるし、世界が変わって自分の計画から離れていくことにどう反応するか決めるのにはもっと時間がかかる。実際に、世界が自分の計画と合わない方向に進んでいるかを確認するのには、さらに時間がかかる。ネガティブな予測や自己否定に陥るのは誘惑的だけど、それは役に立たないし、生産的でもないよ。ryandvm、君は自分の好きなことを中心にキャリアを築いてきたんだから、それは素晴らしいことだよ。もう一度好きなことを見つけたり、どう働くか、誰と働くかにこだわったり、他の選択肢を探すこともできる。誰も君の選択を奪うことはできない。俺も毎日仕事のあり方に悩んでるし、数ヶ月もそうだ。だから、何をするか、なぜそれをするのか、財政をどう構成するか、子供たちの学校はどこにするか、文字通りすべてを再評価することになった。それでも、船は進まなきゃいけない。話したいことがあったら、連絡してね。

└

それは本当に人によるみたい。僕のコーディングキャリアでは、消費者向けソフトウェアのために面白いアイデアを持ってたけど、ビジネスプロセスやインターフェースが苦手で、なかなか進まなかったんだ。そんな意味でAIは本当に奇跡だよ。面倒な仕事に煩わされることなく、ソフトウェアの設計や面白いアルゴリズムに集中できるから。AIにコードを書かせたり、デバッグさせたり、展開させたりするのも、全部自分でやるよりずっと早いし!それに、最近のフレームワークを全部学ぶ必要もなくなった。実際、AIがバニラJSで全部やってくれるから、フレームワークは必要ないんだよね。生きてるって素晴らしい時代だよ、怖いし不確実だけど、それでも素晴らしい :)

└

「プログラミングを楽しむのがダメだなんて言ってる人はいないと思うよ。LinkedInの狂人やSNSのエンゲージメントベイトを除けば、誰もプログラミングを楽しんじゃダメだなんて言ってないと思う。もちろん、みんなプログラミングを楽しむことはできるよ。僕も今でも手動で個人プロジェクトをやってるし。それは楽しいし、スキルも磨けるんだ。AIが書いたコードを見てると、注意を払わないと最適じゃない部分がたくさん混ざってるって気づくよ。Opus 5.5やAstraを一日中使っても動く出力は得られるけど、コードに入って自分で処理を始めると、「その通り!」って返事が返ってくる質問がたくさん出てくる。悲しいのは、プログラミングの仕事を楽しむ黄金の窓が閉じてしまったこと。ソフトウェアの仕事がすごく良い報酬をもらえて、楽しんでできた時期があったんだ。僕の一番幸せなキャリアの思い出は、スタートアップの小さなチームで一緒に部屋に座って、何時間もコーディングに集中してたこと。もう一つ悲しい理由があるんだ。AIが登場する前の数年間、僕の仕事は他の理由でその集中したコーディングの時間から遠ざかってた。業界のトレンドは、プロダクトオーナーやスクラムマスター、クロスファンクショナルプロジェクトマネージャーなどの役割で会社を埋め尽くすことだった。これらは少数で適切な人がいると非常に価値があるけど、いつの間にか制御が効かなくなってた。僕がいた会社のほとんどは、何を作るかについての会議や議論のサーカスのようで、集中してコーディングする時間はほとんど残ってなかった。CTOとの会議を思い出すと、エンジニア、デザイナー、プロダクトマネージャー、エンジニアリングマネージャー、プロジェクトマネージャーの比率について説明されて、ソフトウェアエンジニアがソフトウェアエンジニアリングチームの少数派になっていることに気づいた時は本当に嫌だった。あの時は嫌だったけど、今は最後の集中してお金をもらってコーディングするチャンスが、ほとんど会議やSlackの議論に費やされてしまったことが余計に悲しい。

└

そうだよ。実際に、コードを見たり、どう見えるか気にしたりすることを軽視する人がいるんだ。

└

私も似たような状況だよ。AIの開発があったおかげで、他の仕事がもっと楽しくなった部分もあるから、少しはホッとしてる。以前は、プログラミングや問題解決、学ぶことが好きで、最終的な成果物よりも学びを重視してたから、できるだけ多くのことを学べるプロジェクトに取り組んでた。今は、もっと大きくて挑戦的なプロジェクトに取り組めるようになって、細かいことよりも最終結果にもっと関心を持つようになった。確かに何かを失ったけど、その代わりに別のものを得た気がする。今は、実証的なアプローチもできるようになって、大きな変更が有益かどうかを試すことができる。これによって、私が取り組むことはエンジニアリングというよりも研究のようになってきた。何かが可能かどうかを考えることに集中してる。近い将来、経済的に貢献できる方法がなくなるんじゃないかって心配してるけど、これはソフトウェアやエンジニアリングだけの問題じゃないよね。

└

これが何についてなのかよくわからない。むしろ、AIの助けを借りてプログラミングをするのが今はもっと楽しいと思ってる。私の仕事の深さと広がりは大幅に増えたし(そう、今でもたくさんのコードやドキュメントを読み書きしてる)、まるでお菓子屋さんの子供みたい。以前は手が届かないと思ってたプロジェクトも、今は取り組めそうに思える。夢のプログラミング言語やエージェント用の知識管理システムの実装にも着手できるかもしれない。可能性は無限大だ。今、私のソフトウェアエンジニアリングは自分の会社のためのものだから、これが違いを生んでるかも。誰も私の肩を叩いて、意味のないところでAIを使えとか、こう使えああ使えって言ってこない。私は運転席にいて、AIには必要なことだけを任せてる。AIができないこともまだたくさんあるし、すぐにはできないだろうけどね。

└

毎日、ソフトウェア業界に対して素晴らしいシャーデンフロイデを感じてる。みんなに「ただコーディングを学べ」って言いながら、仕事を奪ってきたこの業界がゼロになろうとしてる。ここ1ヶ月で、ほとんどすべての月額ソフトウェアサブスクリプションを、自分のニーズに合ったクローンに置き換えた。私が払ってるのは、自分では取得できないデータ(つまり、ライブで規制された市場データ)に対してだけ。蛇は自分の尾を食べる。ちなみに、私はコーディングが大好きで、5歳からコーディングをしてきたけど、もう明らかだよ。今、私が1日でやることは、以前は何年もかかってたことだ。まるでジーニーが手元にいるみたい。

└

AIに対する僕の問題は、今や好きだった仕事の部分(コードを書くこと)で優れていて、苦手な部分(マネージャー業)をやらされることなんだ。キャリアのほとんどでICの役割を持っていたけど、ずっと逆だったんだよね。それでも、この変化は楽しめないな。主に、このツールのUXが本当にひどくて、真剣に使うときにストレスが溜まるから。最初はユーザーエラーだと思ってたけど、今はこのエコシステム自体が使いにくいのが根本的な問題だと思ってる。少なくとも、ほとんどのマネジメントの場面では、従業員が君をガスライティングしたり、君の小さな決定をすべて疑ったり(もっと悪いのは、自分にとって「好ましい」と思う決定をひっくり返したり)することはないし、常に口から出るクソみたいな話をすることもない。そんな人と一緒に働いたことはあるけど、すぐに無視できたよ。この状況はしつこくて避けられない。もっと多くのことができるようになったけど、その分すごく疲れてる。

編み物や縫い物を楽しんでる友達がいるよ。そういうのは素晴らしい趣味だけど、物流や自動化の進歩で商業的には成り立たなくなっちゃった。でも、全然無効な趣味じゃないし、楽しめるものだよ。そこで得られるスキルも他に応用できるし、忍耐力や細部への注意、タスクを続ける力が身につくんだ。

Hacker Newsで議論の続きを見る