[レポート]【KEY-1】 Next-Generation Software Development - JAWS DAYS 2025 #jawsdays2025 #jawsug #jawsdays2025_a

[レポート]【KEY-1】 Next-Generation Software Development - JAWS DAYS 2025 #jawsdays2025 #jawsug #jawsdays2025_a

Clock Icon2025.03.01

こんにちは、臼田です。

みなさん、JAWS参加してますか?(挨拶

今回はJAWS DAYS 2025で行われた下記セッションのレポートです。

【KEY-1】 Next-Generation Software Development

レポート

  • Jeff Barrさん
  • 自己紹介
    • VP and Chief Evangelist, AWS
    • 若い頃からテクノロジーに触れている
    • ものを作るのが好き
    • 3DプリンタやLEGOなども
    • プロの開発者として1979年からお金をもらっている
    • 今日でもそこそこ開発者について理解している
    • JAWSには2010年から参加している
  • 仕事
    • 面白いAWSの仕組みを紹介する
    • 20年にわたってニュースブログを手掛けてきた
    • 2024年にこれを終えた
    • ブログを書き終えたがSNSやグローバルのイベントに参加している
  • 初のJAWS-UG
    • 2010年2月23日
    • それ以降も何度も来ている
    • 日本がとても好き
    • 引き続き頑張ってほしい
  • スペシャルゲスト白幡さん
    • 昨年の11月に代表に就任した
    • 今日のイベントを本当に楽しみにしている
      • 今日のAWS足らしめているものがビルダー
        • 昨年のre:Inventに初めて参加した
        • 多くのビルダーを観て目からウロコが落ちた
        • ホテルを行き来して床に座りながら新しい機能を触る
        • AWSはグローバルでビルダーが作っているのだと感じた
        • KeynoteではAWS Heroesについて謝辞を述べていた
        • このいくつもの体験がビルダーの大切さを感じた
        • その一つの象徴がJAWS-UG
        • 東京リージョンが出来上がる前から活動している
        • 震災のときの復旧活動の歴史がある
      • ビルダーというカルチャーに共感するところがある
        • 経歴を見るとどこがやねんとなるが
        • GEでは機械のメンテナンスをやっていた
        • データを集めてプラントを制御する世界にいた
        • 今で言うIoTの走りの内容
        • SchneiderではガリガリIoTだった
        • スマートホームを作るためにビルディングブロックしていた
        • 自分の家でもいろいろ実験していた
        • 産業系でお客様のために組み合わせて作っていく、というところでAWSと共通点を感じた
        • ビルディングブロックの考え方がピンときた
      • AWSの将来もビルダーにかかっている
        • 生成AIに関する話は今日も今後も出てくる
        • 開発者なくしてはこれを組み合わせて活用できない
        • AWSではそれを支援したい
  • Jeffからの質問: 今日の参加者に言いたいことは?
    • お客様に近いことをやるのが好き
    • お客様といっしょに問題解決する
    • それが楽しい
  • 過去、現在、未来の開発を見ていきたい
  • まずJeffの過去の話
    • 様々なものが経験できる
    • メインフレームPL/1で開発していた
    • 当時アセンブリを書いていた
    • 8080, 6502, 68000
    • 言語も色々扱ってきた、C, PHP, Python, Perlなど
    • いつの時代もその時代のハードを使って開発する
    • 現代は非常に成熟している
    • 常にその時代で新しいものも出てくる
    • 荒削りではあるが
    • 過去に敬意を払い、歴史に敬意を払い、未来にオープンになることが大事
    • オープンで許容していく態度を取り、アーリーアダプタになり、試行錯誤して試す必要がある
    • これができると強みになる
    • 新しいことをすぐ試す人は仕事でチームを話しているときに、次のプロジェクトで何を使うのがいいかと聞かれるタイミングがある
    • キャッチアップしている人ならそれを提案できる
    • Jeff自身がそうだった
    • アーリーアダプタとなり新しいものを適用していった
  • 今日はAmazon BedrockとNovaを使ってものを作ってきた
    • オーディエンスに合わせて絵を作った
    • 日本のスタイルでと指示をした
    • インドやタイでも同じようなことをやった
    • 開発者が以下に古いコードを使っているかを表してほしいという指示
    • ちょっと指示を変えるだけでテイストを変えることができる
  • 様々な開発者とこの数年話してきて感じたこと
    • 不透明さに対する恐れ
    • 生成AIは便利ではあるが、次に自分はどうなるのか、となる
    • ソフトウェアツールで使われているものが新しいわけではないということ
    • これは健全なこと
    • 過去を見ながら生成AIを見ていく
    • 重要なのはちゃんと理解すること
    • 様々な新しいツールが出てくるがみなさんがその中核となる
    • ツールは人が使うもの
    • 人間がコントロールを握っている
  • 開発者は古代の道具を使っている
    • 我々は時としてモダンなことをやろうとしていて、使っているものが古いことがある
    • 人が開発者になるときには様々なパスがある
    • 開発者の定義とは?
      • 様々な背景やスキルを持っている
      • 非正規の開発者、独学で学んでいる
        • Youtubeで学んだり
      • 従来型は学校で学位を取ったりする
      • もう1つは数学的、科学的背景を持っている
      • どんなパスでもプロのソフトウェア開発者になれる
    • virtuous cycle
      • 世代型でより早く改善していく
      • 例えば毎回新しいハードウェアを作るとする
        • 新しいものを作って、次のものをまた作っていく
        • プロセッサーを作るとして、開発の仕組みを用意する
        • サイクルにより早くできるようになる
        • 新しいものは今の世代でシミュレーションする
        • そこから作って使っていく
        • このサイクルが今より早くなっている
    • 5年間4世代にわたってGravitonのチップを開発している
      • だんだん追加の機能が増えている
      • プロセス、ステップがイノベーションを生み出す
    • 似たような好循環はソフトウェアでも起きている
      • ソフトウェアがあるから追加のソフトウェアが生まれる
      • コンピュータは自分で情報の参照ができる
      • これは他の技術にはない
      • より長い視点でソフトウェアのサイクルを見る
      • AIのコーディングアシスタントは次のステップになると考えられる
      • AIはアシスタントである
  • 皆さんの中で0,1で書いている方は?
  • AIでアシスタントを使っている方は?
  • 色んな人がいるということ
  • いろんな形で開発ができるよということ
  • 開発者の仕事を振り返る
    • Jeffの考える定義
    • お客様の要件を満たすものを実装する
    • 期待通り動く、高速に動く、保守可能である、有料である必要がある
    • 良いコードの定義は難しいが、開発者として考える必要がある
  • 我々はどんなツールを使っているか?
    • 開発者のツールは例えばビットで作られていて、我々がより良く生活できるようにする
    • 仕事を成功できるもの
    • なぜツールが重要か?
    • 巨人の肩に乗る
    • ツールは積み重なっていく
    • 過去のツールがあって、他のツールとやりとりできる
    • これはソフトウェアのユニークなところ
    • メモリが増えてコンピュートパワーが上がるとうまく使える様になる
    • エディタやIDE、コード補完など
    • いろんな作業が裏で起きている
    • ツール開発ではどうやって開発者の生産性を上げていくかを考える
  • ツールはたくさんある
    • いろんな物がある
    • CASEツールなども
      • なるべくコードを書く前にやれることをやっていた
    • IDEの時代が来た
      • 手前まで構築してきたものを集約している
      • 便利なパッケージとしてまとめられた
    • 開発者はこれをよく感じる
      • 自動でコードのインデントができる、ハイライトできる
      • すごく便利に動いてくれる
    • いろんなことはステップで生成AIのアシスタントにつながっている
    • 言語にも色んな機能がある
      • メモリセーフティなど
      • 長期間をかけて開発してきた
      • それぞれが重要なステップ
    • 個々のコードは長い目で見ると利便性が高い
      • マクロライブラリやクラスなど、再利用できる
    • 常に我々は何かあったらツールで解決できないか考える
    • ツールはあくまで良いものであって、引き続き私達をサポートしてくれる
    • 新しいAIのツールに恐れを抱くこともあるだろうが、リスペクトする必要がある
  • 様々なものから今のツールが産まれている
    • すべてを使ってLLMを作ったらどうか
    • 更にそれをファインチューニングしたらどうか
    • これまでたくさんのものを作ってきた
    • それを学習して使えるとどれだけよいか?
    • これ自体は今後の未来だと考える
    • 産業全体で作ってきたものからメリットを享受できる
  • ここからは未来
    • パンチカードの例
    • 開発者の不安感を表したミーム
    • AIに仕事を奪われるのでは?という疑問を60年代の問題と重ねている
    • 今の世代が口にしていることにはならなかった
  • AI搭載型のコーディングアシスタント
    • より良い開発者にしてくれる
    • 効率が上がり、コードアシスタントは道具箱の1つになる
    • ツールの使い方の判断は人が行う
  • 形式検証
    • 少し風変わり
    • まだ適用されていないところもある
    • 正しいことの検証
  • Amazon Q Developer
    • どのツールを使ってもいい
    • 開発者がどういったアプリケーションを作りたいかプロンプトに書いた
    • 機能も指定している
    • フロントは、バックエンドは、機能は、認証は、アクセスコントロールは、などなど
    • そしてガイダンスをください、と書いた
    • アプリケーションの理解があるからプロンプトを書ける
    • これをAmazon Q Developerに投げ込む
    • Q Developerは内容を理解する
    • プランを作り、機能を定義し、コードを書き、諸々やっていく
    • ここでまた人の手が必要
    • みなさんがその内容に責任を持つ
    • Q Developerは開発を迅速にしてくれる
  • 形式検証の詳細
    • 数学的に、論理的に正しいことを説明する
    • 80年代からあった
    • その時点ではシンプルなメソッド
    • プログラムを書くよりも検証が難しかった
    • ここ何年かパワフルなコンピュータができてきて使えるようになってきた
    • もちろん機械学習もそう
    • 自動推論ツールも色々ある
    • Zelkova
      • 正しさを確認する
    • 先進のツールを使うことで証明される
  • まとめ
    • どこに向かうか
    • 継続的にリサーチして学ぶ
    • AI型のコードアシスタントを試して欲しい
    • ハンズオンで体験をしてください
    • 自動推論や形式検証も試してみて
    • AWS Builder IDにサインアップして

感想

元気のもらえるセッションでした!

新しいことをどんどん試していきたいですね!

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.