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

私を置いていってください

概要

  • AIの普及 によるソフトウェア開発の変化への個人的な違和感
  • 人間同士のつながり や学び合いの大切さを強調
  • 自身の Android開発者としての成長と経験 の振り返り
  • AI活用によるスキルや体験の希薄化 への危惧
  • 最後まで 人間中心の開発 を志向する強い意思表明

AIを使えないと置いていかれる時代?それなら置いていってほしい

  • 2014年、大学で Javaプログラミング を学びつつ、無料のAndroid開発講座を受講
    • 最初の課題は ローカルストレージ付きToDoリストアプリの開発
  • 完成したアプリを両親に見せた瞬間が 「ひらめきの瞬間」 となった体験
    • 自分で作ったアプリ が手元のデバイスに存在する喜び
    • いつでも使える 実用的なツール を自分で生み出した実感
  • この経験から 人の役に立つものを作る意義 を強く認識
    • 2018年には、自身が開発した 出会い系アプリ で妻と出会うという実体験

成長の原動力は「人」

  • その後10年、 Androidエンジニア としてスキルを磨き続ける
    • 特別な誰かのため、現実世界で役立つアプリを複数開発
  • 初学時は 知識の吸収 を重視
    • オンライン講座やGoogleのエンジニアによるコースに夢中
    • 授業の合間や昼休みも惜しんで アプリ開発に没頭
  • ハッカソン にも多数参加
    • 熱意ある仲間とともに、寝る間も惜しんで アイデアと技術を形にする体験
    • 作品の出来や賞の有無より 「作る過程」そのものが報酬

仲間とともに成長する喜び

  • 卒業後、 デジタルマーケティング会社 でAndroidエンジニアとしてキャリアを開始
    • 初日に「 RxJava を知っているか?」と問われ、即座に不安に
    • しかし先輩が 無償で知識を共有 し、共に成長できる環境を実感
  • その後、 Droidcon NYC への参加
    • 同じ情熱を持つエンジニアたちと出会い、 知識の共有・発表の意義 を認識
    • 次世代のエンジニアへの 恩返しの意識 が芽生える

人間らしい学びと成長の価値

  • こうした経験の中で、 人とのつながり こそが特別なものだと痛感
    • 難題に直面した時の 笑い合い や、夜通しの作業で得る連帯感
    • 無償で教えてくれる人々 の存在が、技術の発展を支えてきた事実

AI時代の到来と違和感

  • LLM(大規模言語モデル) の登場で、ソフトウェア開発のスタイルが変化
    • 「コードを学ばずに プロンプトだけで開発 できる」という約束
  • 初めは期待したが、実際は バグや誤情報、未完成のコード も多発
    • 最新のツールでは改善されたが、 人間的な体験が希薄 になったと感じる
  • 分からないことがあればAIに頼り、 Stack Overflowのような人間同士の議論や学び が減少
    • 試行錯誤や議論による深い理解、自分のスキル向上の機会が失われる懸念

自動化と人間の役割

  • エンジニアは 自動化 を好むが、 重要な思考まで自動化 すると本質的なスキルが弱体化
    • 一部では「AIで作業効率化→より創造的な思考に集中できる」との主張も
    • しかし 試行錯誤や失敗から学ぶ過程 がソフトウェア開発の本質だと主張

フィードバックと人間関係の重要性

  • コードのフィードバックもAI任せではなく、 同僚と議論し合う過程 が大切
    • 他者の経験や視点から学ぶことの価値
  • AIは 統計と過去データの集積体 であり、 人間の情熱や喜びを共有できない
    • 一緒に作った!」という感動を分かち合えるのは人間同士だけ

人間中心のソフトウェア開発への回帰

  • 人とつながり、支え合い、学び合う ことへの強い渇望
    • 自分の経験を 発信し次世代に伝える ことの大切さ
  • AI利用で弱まった習慣を 取り戻す決意
    • ソフトウェア開発は 人間のための芸術・クラフト であり、コミュニティの力が不可欠
  • 人間が作らないソフトウェアは誰のためのものなのか? という根源的な問い
  • AI時代の波に乗れないなら、置いていってくれて構わない という強い意思表示

Hackerたちの意見

マリオ・サビオが産業革命のピーク時に言ったことがあるんだ。「機械の動作があまりにも嫌なものになる時がある。それが心を病ませて、参加できなくなる。受動的にさえ参加できない。そして、君たちは体をギアや車輪、レバー、すべての装置の上に置かなきゃいけない。それを止めさせなきゃならない。そして、それを動かしている人たち、所有している人たちに示さなきゃいけない。君たちが自由でない限り、機械は全く動かないってことを。」それでも今は機械がすべてをやっているのに、みんなうまく機能してる。最終的には、これが人間の知性を新たな高みへと導く道具の使い方になると思う。

これまでの自動化って、同じ入力が同じ出力になるって感じじゃなかった?LLMを使った自動化は、今までとは違う気がするし、歴史の中で「これが以前に起こった」と指摘できる時代はないと思う。

スロップフォークマシンは全然違うよね。著者たちがこれを考えなかったのは不思議だけど、特徴を検出して見たものを再現できる機械を想像してみて。パンの作り方を一度見せれば、無限に作れるし、曲を聴かせれば、なぜその音がするのかを理解して、バリエーションを作り続ける。たとえオリジナルのものを作れなくても、境界を押し広げたり新しいものを作ろうとする意欲を削いじゃうんだ。

それでも今は機械がすべてをやっているのに、みんなうまく機能してる。最終的には、これが人間の知性を新たな高みへと導く道具の使い方になると思う。どうやって?人間の知性の根底を揺るがしてるんじゃない?

人間の知性を新たな高みへと導く だけど、今の人間の知性が歴史的な高みにあるなんて全く思えない。人間の知識はあるけど、知性は?ないよ。みんなで考えると、バカになってきてるし、AIが引き起こす怠惰な思考の傾向がその流れを加速させるだろうね。

「私たち」って誰のこと?工場で機械を操作してるの?1900年に機械を操作してた人の気持ちがわかる?機械の置き換えと考えの置き換えは比べられないけど、最も無思考な親AIコメントが上に来ることが多いよね。

前のツールたちが私たちを肉体労働から解放してくれたけど、人間の肉体は別の高みへと進化したのかな?

それでも私たちはみんなうまく機能してるよね。 そうだね… > これは人間の知性を別の高みへと引き上げるツールの使い方だと思う。 無限の退屈、孤独、うつ病の流行、読解力の記録的低下、注意力不足…今は全然高みにいないよ。数十年前から後退して、どんどん悪化してる。

それは産業化の問題じゃなくて、共犯にならないことなんだ。機械はシステムの比喩だった(これは1960年代の話)。

なんで知性を促進する必要があるの?みんなが「知的」だったら、何が違うの?せいぜい、この地球で健康に過ごせるのは50年くらいだし。自分は相対的に「知的」だと思うけど、その概念は過大評価されてるとも思う。バカで無邪気でいたいな。自転車に乗ったり、空に矢を射ったり、エスカルゴを食べて、眠っている間に死にたい。なのに、私たちは介護施設の研究や労働に追われてる。

この記事は私にとってとても目を開かせるものでした。著者の苦しみがわかる気がして、記事を読みながらそれを感じました。「人々」が違いを生んだという事実には驚きました。そして、著者が経験したことが私にはほとんどないから、これが私(や他の人)の技術に対する見方に大きな影響を与えるかもしれないと気づきました。私にとって、ソフトウェアを作ることは孤独なプロセスで、周りの人よりもずっと夢中になっていました。技術が盛んな地域に住んでいないし、プログラミングやソフトウェア工学、AIについて話せる知識のある人もあまりいません。著者のように新しい技術や言語を学ぶ必要があった経験はありますが、もっと知識のある開発者の助けを借りずに、自宅で独りでやっていました。私にとって、LLMは以下のことが真実で、今後はこれらをどう調和させるかが課題だと思います。 - LLMを使って学ぶこともできるし、学ばないこともできる。それはユーザーのアプローチや意欲、意志力の結果です。 - LLMを使うにはスキルが必要で、ほとんどのものと同じように、ユーザーのスキルレベルが技術の認識に影響を与え、周りの人たちの技術への見方にも影響します。スキルのないユーザーは、よりネガティブな感情を生むでしょう。 - 機械が得意なことをやりたい人もいれば、機械にやってほしい人もいる。私は今年のある時点で、プログラミングをすることが、システムを構築したりデザインしたり、問題を解決することほど好きではないと気づきました。 - ソフトウェア開発は多くの要素が絡み合っていて、ひとつのこととして話すと混乱しやすい。アプリケーションの論理を考えるのが好きな人もいれば、LLMに解決策を考えさせて実装させるのが好きな人もいます。これらは目標や欲望が異なる、非常に異なる人たちです。 - 誰かがクロードやChatGPTを見たとき、あなたが見るものとは全く違うものを見ているかもしれません。これが他の人にも共鳴することを願っています。

よく言ったね。私も同じ考えだ。アイデアを出し合ったり、コードの細かい部分についてブレインストーミングできる相手はほとんどいなかった。大抵は本やオンラインの記事を掘り下げて、自分なりのフレームワークを作るしかなかった。それが私には良い結果をもたらしてくれた。今、AIを使って、学べるツールを見つけた。正しいやり方を教えてくれて、何が行われたのかを詳しく説明してくれる。質問もできるし、間違いを指摘したり、異なる実装についてやり取りしたりして、最終的にはより良いプログラマーになれる。多くのコメント者が言ってるように、AIは人によって意味が違うよね。私にとっては、力を与えてくれたり、啓発してくれたり、謙虚にさせてくれる存在。学ぶべきことはたくさんあったけど、時間が足りなかった。でも今は、そんな感じがしない。

Hacker Newsで議論の続きを見る