Movatterモバイル変換


[0]ホーム

URL:


はてラボはてな匿名ダイアリー
ようこそ ゲスト さんログインユーザー登録

「アーキ」を含む日記RSS

はてなキーワード:アーキとは

次の25件>

2025-12-04

落合陽一とNullNullと新建築のこと

ここ数時間落合陽一はんがNullNullっちゅう大阪万博パビリオンの件で、新建築いう建築専門誌をめっちゃ突っついとるんや。

こないだ出た12月号が万博特集でな、見た感じほぼ全パビリオン網羅しとる思うわ。

これが何でインパクトあるかいうたら、新建築はこれまで万博についてほぼ黙っとったからや。

開幕時も、会期中も、閉幕時も、ほぼ一切触れてこんかったから「新建築万博に反対しとるんか?」いう声も出とったくらいや。

業界で一番権威ある雑誌が、建築の集まりみたいなイベントを完全スルーしとったわけやからな。

それがこの年末になって、ほぼ一冊丸ごと万博特集から、そらみんなビックリするやろ。

ほんで落合陽一はんや。

落合はんはNullNullのプロデューサーやった。設計したんはNoizっちゅう豊田啓介はんの事務所や。

NullNullは日経アーキテクチュアの表紙にもなっとったし、万博の目玉のひとつやったな。

ところが落合はん曰く、

新建築にNullNull載っとるの、雑誌出て初めて知ったぞ?ワイに何の話も来とらんやんけ!」

しかも載っとる図版、ワイが知っとるのと全然ちゃうやないか編集部どないなっとんねん!」

いうて怒っとるわけや。

新建築落合はんに連絡してへんのか?」いう反応になるんは当然や。

けど、現段階で落合はんが新建築をボロクソに攻めとるんは、大丈夫なんやろかとワイは思う。

ワイも設計仕事にしてるから分かるんやけど、新建築いう雑誌は基本「設計した人」に掲載依頼してくるんや。

まり建築家とかゼネコン設計部とか設計事務所とかやな。

掲載するにはオーナーとか利害関係者の許可も要るけど、そのやり取りも設計側がやるんや。

ワイも掲載決まったとき「お施主さんに承諾もろてください」言われてお願いしたことあるしな。

せやから今回も、新建築設計したNoizに掲載を依頼したと思うわ。プロデューサーである落合はんには直接連絡せんかったやろね。

刊行前の誌面チェックもNoizがやっとるはずやで。

そのとき利害関係である落合はんには情報が行かんかった。それが誰の問題になるんかは正直微妙なところやな。

あと、落合はんが言う「載ってる図版が間違っとる」いう件やけど、新建築本来図面なんか1枚も持っとらん。

雑誌に載る図面ダイアグラムは全部、設計側が出すもんや。

せやから「Noizが出した図版と、落合はんが出したかった図版が違う」いう話やろな。

現状、落合はんはまだNoizと連絡取れてへんのかもしれん。明日あたり進展あるんちゃうか。

NullNullに関して言うと、他のシグネイチャーパビリオンと違って、落合はんいう特異な才能を持った人がプロデューサーやったやろ。

せやから、会期中から落合はんと豊田はんで「この建物を『設計した』んは誰か」いう主張が微妙にズレとった感じもあったと思うわ。

河瀨直美はんとか福岡伸一はんは、パビリオンのコンセプトは立てれても、実際の建築設計はできへんやろ。

せやけど落合はんと豊田はんの場合、「どっちがどこまでやったんか」が正直かなり分かりにくかったように思うわ。

逆に言えば、落合はんと豊田はんという2人の「どっちがどこまでやったんか」分からんくらいのコラボやったからNullNullはできたんやと思うけどな。

これは「建築設計者とは何をした人のことなのか」、「誰が主体的にその建築を語ってええのか」いう、いろんな問題を孕んどると思う。

ある意味、これまでいろんな媒体で、落合はんも「ワイのパビリオンです」いう感じで露出してきた感もあったやろ。

せやから今度は、Noiz的には建築雑誌っちゅうホーム自分らが主導で語りたかったり、新建築的には語らせたかったりしたのかもしれんな。

あくま憶測やけどな。

せやけど、まあ後々のこと考えたら、何事も利害関係者には一言連絡しとくに越したことはないと思うで。

しか文字欠けとかページ記載ミスとか、新建築どないなっとんねんw

Permalink |記事への反応(8) | 01:36

このエントリーをはてなブックマークに追加ツイートシェア

2025-11-30

anond:20251130112618

どうとしても偉くなりたいのな笑

お前駆け出しの3倍程度しかできないくせに偉そうな顔してさ

俺なら30倍はできるよマジで

で、偉そうな顔はしないわ一応アーキテクトだが

から付いてこないんだぞ

Permalink |記事への反応(1) | 11:41

このエントリーをはてなブックマークに追加ツイートシェア

2025-11-23

anond:20251123101805

「その書き方は去年のメジャーバージョンアップで非推奨になりましたとか、その構成方法はもう非推奨ですとか、そのやり方はメモリ効率が悪いから新しい実装はこうしましょう」はすべて明示的な基準があるので実は簡単なんですよ。「非推奨の実装方式はできるだけ避けてください」とか一言付けておくだけでいい。あと、「アーキテクトとして全体構成最適化(実行時間が最速になるよう、メモリ消費が過大にならないよう、ネットワーク速度がボトルネックにならないよう)を最優先にして、コード提案してください」みたいなのもちゃんと反映される。

Permalink |記事への反応(1) | 10:25

このエントリーをはてなブックマークに追加ツイートシェア

2025-11-18

anond:20251117195811

特に男女双方視点から見聞きしたとき、多数の女性側の行動や要求現実乖離していると言わざるを得ません。モンスターもいます、てかその率が引くほど高い。

お前が言ってることはド正論

しかしな現代社会というのは女さんにマジモンのモンスターを多く抱えていて、ここで男が悪い路線に持っていかなかった時点でリベラルフェミニストが気に入らず罵詈雑言をお前に浴びせるかアーアーキコエナーイ状態に入るだろう

ついでにフェミニスト発狂して弱者男性ガーとかジャッポスガーとかのたまうでしょう

Permalink |記事への反応(1) | 13:25

このエントリーをはてなブックマークに追加ツイートシェア

2025-11-17

日本中間層エンジニアは「不足してるのに評価されない」状態

日本企業IT人材需要

【本当に欲しい人材

シニアアーキテクト(年収1200万+)

・内製化リーダー(年収1000万+)

AI/ML専門家(年収1500万+)

【実際に雇える人材

SES/派遣エンジニア(年収400-700万) ←あなたはここ

オフショア開発(中国/ベトナム/インド)

【結果】

中間層エンジニアは「不足してるのに評価されない」状態

Permalink |記事への反応(1) | 13:31

このエントリーをはてなブックマークに追加ツイートシェア

2025-11-11

リベラルフェミニストの違い

ダブスタや明らかにおかしい点を突っ込まれた時の反応

リベラル「アーアーキコエナーイ」

フェミニスト私たちに逆らう奴は皆殺しにしてやるッッッ!!!

Permalink |記事への反応(2) | 09:32

このエントリーをはてなブックマークに追加ツイートシェア

2025-10-06

anond:20251006143942

わいはアーキテクトサイド側やで

Permalink |記事への反応(0) | 14:40

このエントリーをはてなブックマークに追加ツイートシェア

2025-09-17

賃上げ

しろ命令して賃上げさせるのは、脳無し単細胞の極み。

賃上げ」という単語を見て、「賃上げしか考えられない」から、「命令すれば実現するのだ!」ってもう、アホかバカかと。

賃上げできるように経済をリアーキテクトするのが本筋。

経済Webサービスとかと同じで「仕組み」なんですよ。

経済は金の流れ、人の流れ。

Webサービスデータの流れ、処理の流れ。

賃上げが実現できるための諸条件を並べて、その条件を実現するための条件を並べて、ってやって、ボトルネックや太い流れを見つけて、そこの流れをよくする。

経済お金の回転を速め、総量を増やすのが鉄則だ。

なので、お金の流れをざっくり俯瞰すりゃええんよ。

それなのに、「外国人紹介業をしている弟を儲けさせよう」とか邪なこと考えるから、そこで曲げた流れが全体の流れを殺したりする。

全くもって、クズ兄弟だな、いい歳して。

ママに言いつけて、支店長に手心加えるよう頼み込むとか。

クズ中のクズだろ。

それでなぜ、モノの食べ方も、乾杯の仕方も知らんのだ?

犬ですら「待て」ができるんだぞ。

Permalink |記事への反応(1) | 19:13

このエントリーをはてなブックマークに追加ツイートシェア

2025-08-30

[ゲーム日記]8月29日

ご飯

朝:ドーナツ。昼:サンドイッチサラダチキン。夜:サイゼリヤ(白ワイン500ml、小エビサラダ生ハムほうれん草ソテーペペロンチーノ)。間食:なし。

調子

むきゅーはややー。おしごとは、それなりー。

お酒がすごく回って爆睡してた。

シャドウバースWB

財宝ロイヤルたのぢーーーー。

序盤から選択が多くて難しいけど、とにかく楽しい

旧シャドバもバルバロスの時に財宝使ってたし、このアーキ好きだな。

Permalink |記事への反応(0) | 10:31

このエントリーをはてなブックマークに追加ツイートシェア

2025-08-24

リベラルって結局のところ差別歴史修正もアーアーキコエナーイも保守よりやってるから不人気なんだよ

Permalink |記事への反応(2) | 22:42

このエントリーをはてなブックマークに追加ツイートシェア

anond:20250824115251

どうせお前はリベラルから「アーアーキコエナーイ」で済ませるんだろ?

Permalink |記事への反応(0) | 22:34

このエントリーをはてなブックマークに追加ツイートシェア

2025-08-23

anond:20250823155042

リベラルフェミニスト「アーアーキコエナーイ」

これが現実からお前も現実を見ないとな

Permalink |記事への反応(0) | 18:41

このエントリーをはてなブックマークに追加ツイートシェア

2025-08-19

anond:20250819131537

最後アーキテクレベル職人芸ということになるね

分割されたタスクが1週間でできるな?って思うのもエンジニア過去経験だし

ジュニアだと数週間になったりできなかったりするよね

Permalink |記事への反応(0) | 13:25

このエントリーをはてなブックマークに追加ツイートシェア

2025-08-18

anond:20250818124836

毎回君はそうだが俺はそもそも機械学習は専門ではないぞ?

君のが現場なんじゃない?

アーキテクトでそこそこ大規模システム設計開発とかそっちの方だし

ただ海外ではそういうのは数年前どころか7年前に俺が習ったときからNNだったよ

アンドリュー・ング教授がこれだけ理解できたらシリコンバレーAIエンジニアほとんどより知っていると言っていたが

リップサービスだと思ってたが本当だったのかもね

絵文字で判定というのが衝撃

あなるべく労力かけずに動けばいいわけから

Permalink |記事への反応(2) | 12:53

このエントリーをはてなブックマークに追加ツイートシェア

2025-07-28

anond:20250728112952

アーキテクトなんてウォーターフォールの発想だろ

プログラマー設計コーディングもやるんだぞ

Permalink |記事への反応(0) | 11:33

このエントリーをはてなブックマークに追加ツイートシェア

anond:20250728112726

コーディングの1個上はデザインとかアーキテクトとか挟まないといけないと思います

いきなりマネージメントちょっと飛びすぎ

Permalink |記事への反応(1) | 11:29

このエントリーをはてなブックマークに追加ツイートシェア

2025-07-24

LLMとTypescriptって実は相性悪いよねって話

今時点の使えそうな Sonnet4 を使ってコード生成とか業務でやる時にTypescript は案外うまくいかないことが多い。

UIとかシンプルものであれば結構うまくいくけど、graphql,prisma みたいなところになると、token数すごくなるし結局完成しない。

この辺りが、なんとも小骨がひっかかるからTypescriptの型ってやっぱりあれなのかと思って調べてもらったんだ。

↓↓↓↓↓↓↓

##ソフトウェア工学から見たTypeScriptの3つの根本課題

Web上の専門的な議論論文では、TypeScript課題は主に以下の3点に集約されます。これらはすべて、JavaScriptという土台との不適合性に起因するものです。

1. 不健全な型システム (Unsound Type System)

ソフトウェア工学において、型システムの**「健全性(Soundness)」**とは、「コンパイル時に型エラーがなかったプログラムは、実行時に型エラーを起こさない」という保証を指します。

TypeScriptは、この健全性を意図的放棄しています

設計目標の不在:TypeScript公式ドキュメントには「健全であること」は設計目標ではないと明記されています。これは、JavaScriptとの互換性や開発者利便性を優先した、根本的なトレードオフです。

具体的な不健全さ:

配列の扱い:string 型の変数に (string |number) 型の配列を代入できてしまうなど、配列の扱いに不健全な部分があります。これが原因で、実行時に数値を取り出してしまい、string型のメソッドを呼び出してエラーになる、といったことが起こり得ます

any型と型アサーション:any型の存在や、開発者コンパイラに「これはこの型で間違いない」と強制する型アサーションas構文)は、健全性を根本から破壊する「抜け道」です。

関数引数(Bivariance):関数引数の型チェックが、他の多くの言語(反変)とは異なり、より緩いルール(双変)になっています。これも実用性を優先した結果、理論的な正しさを犠牲にしている例です。

学術的な観点では、この「不健全さ」はTypeScriptの型システムが持つ最大の弱点と見なされています

2.構造的部分型(Structural Typing)の罠

TypeScriptは、クラス名などによらず「構造が同じなら同じ型」とみなす構造的部分型を採用しています。これはダックタピングが主流のJavaScript文化に合わせた賢い選択ですが、ソフトウェア工学的にはいくつかの罠があります

意図しない互換性: 全く異なる目的で作られた二つのオブジェクトが、偶然同じ構造を持っていたために、型チェックをパスしてしまうことがあります。これにより、ドメイン業務領域)の意図とは無関係コードが結合してしまい、予期せぬバグを生む原因となります

過剰なプロパティの許容:constconfig: { port:number } = { port: 8080, host: 'localhost' }; のように、変数経由で代入すると、型に定義されていない余分なプロパティ(host)がエラーになりません。これは仕様ですが、開発者意図しないデータが紛れ込むことを許容してしまい、セキュリティバグリスクに繋がります

これは「TypeScriptの型は、データの『形状』を記述するが、その『意味』や『文脈』を保証しない」という根本的な限界を示しています

3. 「漏れのある抽象化(Leaky Abstraction)」としての本質

Joel Spolskyが提唱した「漏れのある抽象化法則」に倣えば、TypeScriptはまさにその典型例です。

TypeScriptは「静的型付け」という抽象化レイヤー提供しますが、開発者は常にその下にあるJavaScriptの泥臭い現実(undefined, null, thisの挙動など)を意識し続けなければなりません。

抽象化の不徹底: 型を書いているときも、最終的にそれがundefinedになりうることや、thisが何を指すかを常に考えなければなりません。抽象化レイヤーが、下位レイヤーの詳細を隠蔽しきれていないのです。

摩擦コスト: この「漏れ」が、これまで議論してきた「Union地獄」や「境界での型変換の手間」といった、開発上の継続的な摩擦コストを生み出しています

##結論

ソフトウェア工学的な観点から見ると、Web上の専門家議論は我々の対話結論を強く裏付けています

TypeScript課題は、個別機能の優劣ではなく、「健全性を犠牲にしてでも、JavaScriptという動的な土台との互換性を最優先した」という、その成り立ちそのものにあります。その結果として生じる「不健全さ」「構造的部分型の罠」「漏れのある抽象化」といった問題は、この言語を使い続ける限り、アーキテクトが向き合い続けなければならない、本質的なトレードオフなのです。

Permalink |記事への反応(0) | 23:52

このエントリーをはてなブックマークに追加ツイートシェア

2025-07-06

anond:20250706200453

リベラル「アーアーキコエナーイ」

Permalink |記事への反応(0) | 20:05

このエントリーをはてなブックマークに追加ツイートシェア

anond:20250706120325

俺は↓の奴を貼り続けて昔のネットリベラルがどんな感じのことをしてきたか伝えてるんだけど

当の本人達はアーアーキコエナーイ状態だしアーカイブを読み解くという行為は物好きしかしないよ

https://twitter.com/lautream/status/987667478028300288?t=KwUOfZKNPanDFg-yxjTM7Q&s=19

Permalink |記事への反応(1) | 12:13

このエントリーをはてなブックマークに追加ツイートシェア

2025-07-02

上位存在がクドクド説明し始めるやつ

マトリックス』のアーキテクト(白髪ジジイ)のところとか、漫画だと『サムライ8』の不動明王のくだりとか。

まあ、挙げだしたらキリがないんだけど。

或いは上位存在とまではいかずとも、全容をほぼ把握しているやつがする「これはこういうことなんですよ、あれはああいことなんですよ」的な説明シーン。

あれって「設定なり世界観受け手理解させるため仕方なくやってる」って認識でいいんだよね。

もし作り手がアレを好きでやってたとしたら、感性に隔たりがあるんだが、かなり。

サムライ8』の不動明王だってセリフ回しがネタとして“面白がられてる”ってだけで、あのくだり自体は退屈だからね。

マトリックス』のアーキテクトに関しては退屈なうえに、結局それでも分かりにくいし。

Permalink |記事への反応(2) | 17:34

このエントリーをはてなブックマークに追加ツイートシェア

2025-06-30

ここまでやって下限が600万なら人間性問題がありそうw

1600万の間違いだと思いたい

年収600万超えるエンジニアの特徴

・上流での顧客折衝経験有り
・1億規模PL/PM経験3年以上
課題予算管理経験有り
Java/C/Pythonメジャー言語経験3年
技術カンファレンス登壇有り
クラウドアーキ設計経験有り
・社内育成経験有り
・TOEIC860↑
IPA高度試験保持
ベンダー最難関資格保有Kuro@エンジニア3年目 (@tamagotake3454)June 30, 2025

Permalink |記事への反応(3) | 19:11

このエントリーをはてなブックマークに追加ツイートシェア

2025-06-28

LLMはエンジニア仕事を奪うのか?否、仕事抽象度を「Why」の次元

序文コード蒸発する時代と、それでも残る「Why」という名の問い

2025年私たちソフトウェア開発の歴史的な転換点に立っている。大規模言語モデル(LLM)の進化は、GitHub Copilotのようなコード補完ツールに始まり、今や「何を作りたいか」を自然言語で伝えるだけで、アプリケーションの雛形が数分で生成される時代現実のものとしつつある。この光景を目の当たりにした多くのプログラマが、漠然とした、しかし確かな不安を抱いているだろう。「私たち仕事は、いずれAIに奪われるのではないか」と。

この問いに対する私の答えは、半分はYesであり、もう半分はNoだ。より正確に言えば、プログラマ仕事本質が、歴史上かつてないレベル抽象化され、その役割が再定義されるのだ。私たちは、コードを「書く」作業から解放される一方で、これまで以上に高度な思考要求されることになる。

本稿では、プログラミング歴史を「How(いかに作るか)」から「What(何を作るか)」への移行として捉え直し、LLMがこの流れをいかに加速させるかを論じる。そして、その先にある、AIには決して代替できない、人間ならではの競争優位性、すなわちWhy(なぜ作るのか)」を定義し、記述する能力重要性について深く考察していく。これは、単なる未来予測ではない。今を生きるすべてのソフトウェアエンジニアにとっての、生存戦略提示である

第1章:プログラミング歴史的変遷 ― HowからWhatへの長い道のり

LLMの登場を特異点として捉える前に、我々が立っている場所を正確に知る必要がある。ソフトウェア開発の歴史は、常に「抽象化」との戦いであった。そしてその歴史は、プログラマの関心が「How」から「What」へと徐々に移り変わっていくプロセスとして描くことができる。

1-1.手続き時代:Howを記述することに終始した黎明期

コンピュータ黎明期プログラミングとは、計算機理解できる命令(How)を、一行一行、丹念に記述する作業のものであった。アセンブリ言語や初期のFORTRANCOBOLといった言語は、ハードウェアの制約を強く受けており、プログラマメモリ管理プロセッサ動作といった、極めて物理層に近いレベルでの「How」を意識する必要があった。

この時代テストもまた、「How」に強く束縛されていた。書かれた手続きが、意図した通りに順番に実行されるか、特定入力に対して期待された計算結果を返すか。テストの関心事は、あくまで「手続きの正しさ」の検証にあった。ビジネスロジック実装の詳細が密結合し、コード特定の処理手順を記述した、硬直的な塊となっていた。

1-2.テスト駆動した振る舞いへの注目:Whatへの小さな一歩

風向きが変わり始めたのは、ソフトウェアの規模が拡大し、その複雑性が人間認知能力を超え始めた頃だ。1990年代後半から2000年代にかけて提唱されたエクストリーム・プログラミングXP)の中で、テスト駆動開発(TDD)という考え方が登場する。

TDD本質は、単なるテスト手法改善ではない。それは、プログラミングパラダイム根底から覆す思想だった。TDDは、「まずテストを書く」ことを強制することで、プログラマ意識を「これから実装するコード(How)」から「そのコードが満たすべき振る舞い(What)」へと強制的に転換させたのだ。

テストはもはや、書かれたコードの後追いで正しさを検証する作業ではない。それは、これから作られるべきソフトウェアの「仕様書」であり、「振る舞いの宣言」となった。例えば、「ユーザーログインボタンクリックしたら、ダッシュボード画面に遷移する」というテストコードは、具体的な実装方法(`onClick`イベントハンドラの中で`window.location.href`を書き換える、など)には一切言及しない。それはただ、達成されるべき「What」を記述しているだけだ。

この思想は、ビヘイビア駆動開発(BDD)へと発展し、`Given-When-Then`といった、より自然言語に近い形式ソフトウェアの振る舞いを記述するスタイルを生み出した。プログラマだけでなく、プロダクトマネージャービジネスアナリストといった非技術者をも巻き込み、「What」を共通言語として定義する試みが本格化したのである

1-3.宣言プログラミングの台頭とフレームワーク役割

TDD/BDDによってプログラマ意識が「What」に向かい始めると、コードのものもまた、宣言的なスタイルへと進化していく。この変化を劇的に加速させたのが、モダンフレームワーク存在だ。

Reactを例に考えてみよう。Reactが登場する前、フロントエンド開発はjQuery代表されるように、DOMを直接操作する命令的なコード(How)の連続だった。「このボタンクリックされたら、この要素のテキストを書き換え、あちらの要素を非表示にする」といった具合だ。

しかし、Reactは「UIとは、ある状態state)に対する純粋写像である」という宣言的なモデル提示した。プログラマがやるべきことは、UI状態(`state`)と、その状態がどのように見えるか(JSXによるコンポーネント)を宣言することだけだ。状態が変更された際に、DOMをどのように効率的更新するかという面倒な「How」の部分は、Reactの仮想DOM差分検出アルゴリズムがすべて隠蔽してくれる。プログラマは「What(UIのあるべき姿)」を記述するだけでよくなったのだ。

この「WhatからHowへの変換」は、様々な領域で見られる。

これらのフレームワークツールは、いわば特定の制約下における、WhatからHowへの高性能な変換器」として機能してきた。プログラマは、フレームワークが課す「お作法」や「制約」を受け入れることで、退屈で間違いの多い「How」の記述から解放され、より本質的な「What」の定義に集中できるようになった。我々が「生産性が高い」と感じる開発体験は、この優れた変換器の恩恵に他ならない。

現状は、この歴史的変遷の延長線上にある。プログラマ仕事は、手続き記述する職人から、振る舞いを定義し、それを実現するための最適な「変換器(フレームワーク)」を選択・設定するアーキテクトへと、その重心を移してきたのだ。

第2章:LLMがもたらす究極のパラダイムシフト ― 汎用変換器の誕生

フレームワークがもたらした「WhatからHowへ」の潮流は、LLMの登場によって、未曾有のスケールで加速されようとしている。フレームワークが「特定領域に特化した変換器」であったのに対し、LLMは「あらゆる領域対応可能な、究極の汎用変換器」としてのポテンシャルを秘めているからだ。

2-1.フレームワークの制約を超えて

前章で述べたように、ReactやTerraformといったフレームワークは、その恩恵と引き換えに、私たち特定の「制約」を課してきた。Reactを使うならコンポーネントベース思考し、状態管理作法に従う必要がある。Terraformを使うなら、そのエコシステムとHCLの流儀を受け入れなければならない。これらの制約は、WhatからHowへの変換を自動化するための「レール」であり、私たちはそのレールの上を走ることで効率を得てきた。

しかし、LLMはこの前提を覆す。LLMは、特定フレームワーク言語知識を事前に学習しているが、その利用において絶対的な制約を課すわけではない。私たちは、より自由形式で「What」を伝えることができる。

例えば、こうだ。

ユーザー認証機能付きのシンプルブログアプリを作ってほしい。フロントエンドはReactとTypeScriptUIコンポーネントはMUIを使う。バックエンドNode.jsExpressで、データベースPostgreSQLユーザーGoogleアカウントログインでき、新しい記事作成編集、削除できる。記事にはマークダウン記法が使えて、画像アップロードできるようにしてほしい。

この要求(What)は、特定フレームワーク流儀に則ったものではない。複数技術スタックを横断し、機能要求自然言語で並べただけのものであるしかし、現在のLLM、特にGPT-4oやそれに類するモデルは、このレベル要求からディレクトリ構造設定ファイルAPIエンドポイントフロントエンドコンポーネントに至るまで、驚くほど具体的なコード(How)を生成することができる。

これは、フレームワークが担ってきた「WhatからHowへの変換」が、特定のレールから解き放たれ、より広範で柔軟な領域へと拡張されたことを意味する。これまで自動化が難しかった、あるいは特定フレームワーク存在しなかったニッチ領域や、複数技術を組み合わせる複雑なシステム構築においても、AIによる宣言プログラミング恩恵を受けられる時代が始まろうとしているのだ。

2-2. 「What」の解像度がすべてを決める世界

LLMという汎用変換器の登場により、プログラマ生産性は、いかに質の高いWhatをLLMに伝えられるか」に直結するようになる。これは、俗に「プロンプトエンジニアリング」と呼ばれるスキルだが、その本質は、ソフトウェア開発における「要求定義」そのものである

質の高い「What」とは何か。それは、曖昧性がなく、網羅的で、矛盾のない要求である

これらは、優秀なソフトウェアエンジニアが、プロダクトマネージャーデザイナーとの対話を通じて、日常的に行ってきた思考プロセスのものではないだろうか。LLMの登場は、この思考プロセスを、より明確に、よりテキストベースで「記述」する能力を求める。私たちの頭の中にあった暗黙的な仕様が、LLMへの入力プロンプト)という形で、明示的に言語化されることを要求するのだ。

やがて、ほとんどのプログラミング作業は、この「Whatの記述」に収束していくだろう。TDDテストコードという形式で「What」を記述したように、私たち自然言語や、より構造化された要求記述言語を用いて、AIに対して「What」を宣言することになる。コード(How)は、その宣言から自動生成される中間生成物に過ぎなくなる。まさに、コード蒸発していく未来である

第3章:それでもAIには決められない ― 「Why」の不在という致命的な欠陥

「What」を伝えれば「How」が手に入る。この魔法のような世界の到来を前に、私たちは一つの重大な問いに直面する。それは、「そのWhatからHowへの変換は、本当に一意に決まるのか?」という問いだ。

答えは、明確にNoである

ある「What(要求)」を実現するための「How(実装)」は、無数に存在する。そして、どの「How」を選択すべきかを決定するためには、単純な機能要求(What)だけでは情報が全く足りない。そこには、必ずWhy(なぜそう作るのか)」という、背景、文脈、そしてトレードオフ考慮必要不可欠となる。

3-1.トレードオフの海に溺れるLLM

簡単な例を考えてみよう。「1億件のユーザーデータを格納し、ユーザーIDで高速に検索できるシステム」という「What」をLLMに与えたとする。LLMは、どのような「How」を提案するだろうか。

これらの選択肢は、どれも「What」を満たしている。しかし、その特性は全く異なる。案Aは多くのエンジニアにとって馴染み深く開発が容易だが、10億、100億件へのスケールは難しいかもしれない。案Bはスケール性に優れるが、厳密なトランザクション管理は苦手だ。案Cは高速だが、運用コストシステムの複雑性が増す。案Dは安価だが、検索速度は他に劣る。

LLMは、これらの選択肢をリストアップすることはできるだろう。しかし、このプロジェクトにとって最適な選択肢はどれかを、自信を持って決定することはできない。なぜなら、その決定には、LLMが与えられていない「Why」の情報必要からだ。

これらの「Why」こそが、無数に存在する「How」の中から、ただ一つの「正解」を選び出すための羅針盤なのである。そしてこの「Why」は、ビジネス目標組織文化ユーザーの期待、技術的な制約といった、極めて人間的で、文脈依存的な情報の中にしか存在しない。

3-2.エンジニアが暗黙的に行ってきた「Why」に基づく意思決定

ここで重要なのはこれまでもエンジニアは、この「Why」に基づく意思決定を、意識的あるいは無意識的に行ってきたという事実だ。

私たち技術選定を行うとき、単に「流行っているから」という理由だけでReactを選ぶわけではない。「SPA(Single PageApplication)にすることでユーザー体験を向上させたい(Why)」、「コンポーネント指向の開発によって長期的な保守性を確保したい(Why)」、「Reactエンジニア採用市場が活発だからWhy)」といった、様々な「Permalink |記事への反応(0) | 17:09

このエントリーをはてなブックマークに追加ツイートシェア

LLMはエンジニア仕事を奪うのか?否、仕事抽象度を「Why」の次元

序文コード蒸発する時代と、それでも残る「Why」という名の問い

2025年私たちソフトウェア開発の歴史的な転換点に立っている。大規模言語モデル(LLM)の進化は、GitHub Copilotのようなコード補完ツールに始まり、今や「何を作りたいか」を自然言語で伝えるだけで、アプリケーションの雛形が数分で生成される時代現実のものとしつつある。この光景を目の当たりにした多くのプログラマが、漠然とした、しかし確かな不安を抱いているだろう。「私たち仕事は、いずれAIに奪われるのではないか」と。

この問いに対する私の答えは、半分はYesであり、もう半分はNoだ。より正確に言えば、プログラマ仕事本質が、歴史上かつてないレベル抽象化され、その役割が再定義されるのだ。私たちは、コードを「書く」作業から解放される一方で、これまで以上に高度な思考要求されることになる。

本稿では、プログラミング歴史を「How(いかに作るか)」から「What(何を作るか)」への移行として捉え直し、LLMがこの流れをいかに加速させるかを論じる。そして、その先にある、AIには決して代替できない、人間ならではの競争優位性、すなわちWhy(なぜ作るのか)」を定義し、記述する能力重要性について深く考察していく。これは、単なる未来予測ではない。今を生きるすべてのソフトウェアエンジニアにとっての、生存戦略提示である

第1章:プログラミング歴史的変遷 ― HowからWhatへの長い道のり

LLMの登場を特異点として捉える前に、我々が立っている場所を正確に知る必要がある。ソフトウェア開発の歴史は、常に「抽象化」との戦いであった。そしてその歴史は、プログラマの関心が「How」から「What」へと徐々に移り変わっていくプロセスとして描くことができる。

1-1.手続き時代:Howを記述することに終始した黎明期

コンピュータ黎明期プログラミングとは、計算機理解できる命令(How)を、一行一行、丹念に記述する作業のものであった。アセンブリ言語や初期のFORTRANCOBOLといった言語は、ハードウェアの制約を強く受けており、プログラマメモリ管理プロセッサ動作といった、極めて物理層に近いレベルでの「How」を意識する必要があった。

この時代テストもまた、「How」に強く束縛されていた。書かれた手続きが、意図した通りに順番に実行されるか、特定入力に対して期待された計算結果を返すか。テストの関心事は、あくまで「手続きの正しさ」の検証にあった。ビジネスロジック実装の詳細が密結合し、コード特定の処理手順を記述した、硬直的な塊となっていた。

1-2.テスト駆動した振る舞いへの注目:Whatへの小さな一歩

風向きが変わり始めたのは、ソフトウェアの規模が拡大し、その複雑性が人間認知能力を超え始めた頃だ。1990年代後半から2000年代にかけて提唱されたエクストリーム・プログラミングXP)の中で、テスト駆動開発(TDD)という考え方が登場する。

TDD本質は、単なるテスト手法改善ではない。それは、プログラミングパラダイム根底から覆す思想だった。TDDは、「まずテストを書く」ことを強制することで、プログラマ意識を「これから実装するコード(How)」から「そのコードが満たすべき振る舞い(What)」へと強制的に転換させたのだ。

テストはもはや、書かれたコードの後追いで正しさを検証する作業ではない。それは、これから作られるべきソフトウェアの「仕様書」であり、「振る舞いの宣言」となった。例えば、「ユーザーログインボタンクリックしたら、ダッシュボード画面に遷移する」というテストコードは、具体的な実装方法(`onClick`イベントハンドラの中で`window.location.href`を書き換える、など)には一切言及しない。それはただ、達成されるべき「What」を記述しているだけだ。

この思想は、ビヘイビア駆動開発(BDD)へと発展し、`Given-When-Then`といった、より自然言語に近い形式ソフトウェアの振る舞いを記述するスタイルを生み出した。プログラマだけでなく、プロダクトマネージャービジネスアナリストといった非技術者をも巻き込み、「What」を共通言語として定義する試みが本格化したのである

1-3.宣言プログラミングの台頭とフレームワーク役割

TDD/BDDによってプログラマ意識が「What」に向かい始めると、コードのものもまた、宣言的なスタイルへと進化していく。この変化を劇的に加速させたのが、モダンフレームワーク存在だ。

Reactを例に考えてみよう。Reactが登場する前、フロントエンド開発はjQuery代表されるように、DOMを直接操作する命令的なコード(How)の連続だった。「このボタンクリックされたら、この要素のテキストを書き換え、あちらの要素を非表示にする」といった具合だ。

しかし、Reactは「UIとは、ある状態state)に対する純粋写像である」という宣言的なモデル提示した。プログラマがやるべきことは、UI状態(`state`)と、その状態がどのように見えるか(JSXによるコンポーネント)を宣言することだけだ。状態が変更された際に、DOMをどのように効率的更新するかという面倒な「How」の部分は、Reactの仮想DOM差分検出アルゴリズムがすべて隠蔽してくれる。プログラマは「What(UIのあるべき姿)」を記述するだけでよくなったのだ。

この「WhatからHowへの変換」は、様々な領域で見られる。

これらのフレームワークツールは、いわば特定の制約下における、WhatからHowへの高性能な変換器」として機能してきた。プログラマは、フレームワークが課す「お作法」や「制約」を受け入れることで、退屈で間違いの多い「How」の記述から解放され、より本質的な「What」の定義に集中できるようになった。我々が「生産性が高い」と感じる開発体験は、この優れた変換器の恩恵に他ならない。

現状は、この歴史的変遷の延長線上にある。プログラマ仕事は、手続き記述する職人から、振る舞いを定義し、それを実現するための最適な「変換器(フレームワーク)」を選択・設定するアーキテクトへと、その重心を移してきたのだ。

第2章:LLMがもたらす究極のパラダイムシフト ― 汎用変換器の誕生

フレームワークがもたらした「WhatからHowへ」の潮流は、LLMの登場によって、未曾有のスケールで加速されようとしている。フレームワークが「特定領域に特化した変換器」であったのに対し、LLMは「あらゆる領域対応可能な、究極の汎用変換器」としてのポテンシャルを秘めているからだ。

2-1.フレームワークの制約を超えて

前章で述べたように、ReactやTerraformといったフレームワークは、その恩恵と引き換えに、私たち特定の「制約」を課してきた。Reactを使うならコンポーネントベース思考し、状態管理作法に従う必要がある。Terraformを使うなら、そのエコシステムとHCLの流儀を受け入れなければならない。これらの制約は、WhatからHowへの変換を自動化するための「レール」であり、私たちはそのレールの上を走ることで効率を得てきた。

しかし、LLMはこの前提を覆す。LLMは、特定フレームワーク言語知識を事前に学習しているが、その利用において絶対的な制約を課すわけではない。私たちは、より自由形式で「What」を伝えることができる。

例えば、こうだ。

ユーザー認証機能付きのシンプルブログアプリを作ってほしい。フロントエンドはReactとTypeScriptUIコンポーネントはMUIを使う。バックエンドNode.jsExpressで、データベースPostgreSQLユーザーGoogleアカウントログインでき、新しい記事作成編集、削除できる。記事にはマークダウン記法が使えて、画像アップロードできるようにしてほしい。

この要求(What)は、特定フレームワーク流儀に則ったものではない。複数技術スタックを横断し、機能要求自然言語で並べただけのものであるしかし、現在のLLM、特にGPT-4oやそれに類するモデルは、このレベル要求からディレクトリ構造設定ファイルAPIエンドポイントフロントエンドコンポーネントに至るまで、驚くほど具体的なコード(How)を生成することができる。

これは、フレームワークが担ってきた「WhatからHowへの変換」が、特定のレールから解き放たれ、より広範で柔軟な領域へと拡張されたことを意味する。これまで自動化が難しかった、あるいは特定フレームワーク存在しなかったニッチ領域や、複数技術を組み合わせる複雑なシステム構築においても、AIによる宣言プログラミング恩恵を受けられる時代が始まろうとしているのだ。

2-2. 「What」の解像度がすべてを決める世界

LLMという汎用変換器の登場により、プログラマ生産性は、いかに質の高いWhatをLLMに伝えられるか」に直結するようになる。これは、俗に「プロンプトエンジニアリング」と呼ばれるスキルだが、その本質は、ソフトウェア開発における「要求定義」そのものである

質の高い「What」とは何か。それは、曖昧性がなく、網羅的で、矛盾のない要求である

これらは、優秀なソフトウェアエンジニアが、プロダクトマネージャーデザイナーとの対話を通じて、日常的に行ってきた思考プロセスのものではないだろうか。LLMの登場は、この思考プロセスを、より明確に、よりテキストベースで「記述」する能力を求める。私たちの頭の中にあった暗黙的な仕様が、LLMへの入力プロンプト)という形で、明示的に言語化されることを要求するのだ。

やがて、ほとんどのプログラミング作業は、この「Whatの記述」に収束していくだろう。TDDテストコードという形式で「What」を記述したように、私たち自然言語や、より構造化された要求記述言語を用いて、AIに対して「What」を宣言することになる。コード(How)は、その宣言から自動生成される中間生成物に過ぎなくなる。まさに、コード蒸発していく未来である

第3章:それでもAIには決められない ― 「Why」の不在という致命的な欠陥

「What」を伝えれば「How」が手に入る。この魔法のような世界の到来を前に、私たちは一つの重大な問いに直面する。それは、「そのWhatからHowへの変換は、本当に一意に決まるのか?」という問いだ。

答えは、明確にNoである

ある「What(要求)」を実現するための「How(実装)」は、無数に存在する。そして、どの「How」を選択すべきかを決定するためには、単純な機能要求(What)だけでは情報が全く足りない。そこには、必ずWhy(なぜそう作るのか)」という、背景、文脈、そしてトレードオフ考慮必要不可欠となる。

3-1.トレードオフの海に溺れるLLM

簡単な例を考えてみよう。「1億件のユーザーデータを格納し、ユーザーIDで高速に検索できるシステム」という「What」をLLMに与えたとする。LLMは、どのような「How」を提案するだろうか。

これらの選択肢は、どれも「What」を満たしている。しかし、その特性は全く異なる。案Aは多くのエンジニアにとって馴染み深く開発が容易だが、10億、100億件へのスケールは難しいかもしれない。案Bはスケール性に優れるが、厳密なトランザクション管理は苦手だ。案Cは高速だが、運用コストシステムの複雑性が増す。案Dは安価だが、検索速度は他に劣る。

LLMは、これらの選択肢をリストアップすることはできるだろう。しかし、このプロジェクトにとって最適な選択肢はどれかを、自信を持って決定することはできない。なぜなら、その決定には、LLMが与えられていない「Why」の情報必要からだ。

これらの「Why」こそが、無数に存在する「How」の中から、ただ一つの「正解」を選び出すための羅針盤なのである。そしてこの「Why」は、ビジネス目標組織文化ユーザーの期待、技術的な制約といった、極めて人間的で、文脈依存的な情報の中にしか存在しない。

3-2.エンジニアが暗黙的に行ってきた「Why」に基づく意思決定

ここで重要なのはこれまでもエンジニアは、この「Why」に基づく意思決定を、意識的あるいは無意識的に行ってきたという事実だ。

私たち技術選定を行うとき、単に「流行っているから」という理由だけでReactを選ぶわけではない。「SPA(Single PageApplication)にすることでユーザー体験を向上させたい(Why)」、「コンポーネント指向の開発によって長期的な保守性を確保したい(Why)」、「Reactエンジニア採用市場が活発だからWhy)」といった、様々な「Permalink |記事への反応(0) | 17:09

このエントリーをはてなブックマークに追加ツイートシェア

2025-06-22

anond:20250622175916

ミッドエンジニアシニア初級だよ

構築提案からコスト計算権限周りの提案までクライアントに対してしてる

 

しろシニアアーキテクトへの道が日本って少ないか海外視野に入れてるよ

報酬低い割に税金高すぎるんだよ日本

Permalink |記事への反応(1) | 18:02

このエントリーをはてなブックマークに追加ツイートシェア

2025-06-13

anond:20250613083832

実は男女平等かいって

都合の悪いことは

アーアーキコエナーイ!!

するやつがたくさんいるか

順位が低いままなんやろうな

って思うと筋が通るで

Permalink |記事への反応(0) | 08:44

このエントリーをはてなブックマークに追加ツイートシェア

次の25件>
ログインユーザー登録
ようこそ ゲスト さん
Copyright (C) 2001-2025 hatena. All Rights Reserved.

[8]ページ先頭

©2009-2025 Movatter.jp