1. いつまじラジオ
  2. 定数とEnumの使い分けは、状態..
定数とEnumの使い分けは、状態を持つかどうかで変わる|データ抽象の話 #32
2026-09-13 52:06

定数とEnumの使い分けは、状態を持つかどうかで変わる|データ抽象の話 #32

spotify apple_podcasts

kawasimaさんの「マジックナンバーとデータ抽象」の記事をきっかけに、定数とEnumの使い分けを話しました。状態を持つかどうかで扱いが変わる、という話から、ドメインを理解する難しさまで。久しぶりにコード設計を話した回です。

参考:kawasimaさんのポスト/記事「マジックナンバーとデータ抽象」

【今回の話】
マジックナンバーと定数化/Enumも名前付けの延長/データ抽象という概念/振る舞いを問う設計/ライブラリとアプリの境界/DDD学習の理想と現実/AI時代のレビュー不要論/新規開発でのAI活用/エンジニアの存在意義

【関連回】
AI時代に必要なコーディング力とは|コーディングとリファクタリングを語る #7

感想は #いつまじラジオ でポストしてもらえるとうれしいです

---

 

J(けちーん)

1991/03/21生まれ、北海道出身。エンジニアリングマネージャー

https://x.com/kechiiin_

上原

1992/05/15生まれ、鹿児島出身。エンジニアリングマネージャー

https://x.com/fumiya_uehara

感想

まだ感想はありません。最初の1件を書きましょう!

サマリー

今回のエピソードでは、マジックナンバーを定数に置き換える際の課題と、より本質的なコード設計の考え方について深く掘り下げています。まず、定数を単一のファイルやクラスにまとめることが、見かけ上の可読性を向上させる一方で、値の文脈を失わせ、かえって判断に必要な情報量を減らす可能性があるという問題提起から始まります。定数名だけでは「なぜその値なのか」という根拠が不明瞭になり、定義元への確認作業が発生するため、むしろ「改悪」になりうると指摘されています。 次に、Enum(列挙型)もまた、名前付けの延長に過ぎず、根本的な解決にはならないと議論されます。真の解決策として「データ抽象」の概念が導入され、使う側の関心は値そのものではなく「振る舞い」にあるべきだと強調されます。例えば、注文のステータス値ではなく、「注文がキャンセル可能か」という振る舞いをオブジェクトに持たせることで、内部の詳細を隠蔽し、変更に強い設計を実現します。これはドメイン駆動設計(DDD)の考え方にも通じるものです。 しかし、理想的なデータ抽象やDDDの実践は、深いドメイン知識と経験を要するため、実際の開発現場では難しい側面も多いと語られます。特定の文脈で自明なマジックナンバーの許容範囲や、コメントの役割についても議論が交わされました。最後に、AIが開発プロセスに与える影響に話が及び、AIによるコード生成やレビューの自動化が進む中で、エンジニアが何を楽しみ、どのようなスキルを磨くべきかという、未来のエンジニアリングのあり方について考察が深められています。

マジックナンバーと定数化の課題
スピーカー 2
はい、いつまじラジオを始めます。
スピーカー 3
ちょっとテンション低いな。
はい、えーと、
今日は僕の持ち込み会です。
お願いします。 はい。
スピーカー 1
えーとですね、とある
Xの投稿やら、記事やら
スピーカー 3
を持ってきまして
えーと。 わかった。
絶対当たんないけど。
スピーカー 2
イーロンマスクが
6年後にiPhoneがなくなるって言ってる話。
スピーカー 3
いや、知らないです。 知らない。
その話は興味あるけどちょっと置いといて。
スピーカー 1
えーと、珍しく
スピーカー 3
技術の話を持ってきました。
スピーカー 1
はい。
で、えーと、まあその
スピーカー 3
背景として、まあとある人が
スピーカー 1
言っていた話が
マジックナンバーを
定数に置き換える際に
定数だけが定義された
ファイルやクラス作るの
むしろ快悪では。
スピーカー 3
っていう話をしていて。
まあまだちょっとあんまピンときてなかったんですけど。
スピーカー 1
まあでも
スピーカー 3
よくあると思うんですよね。ファイルにまとめる
とか定数っていう。まあ別に
珍しい処理じゃないというか。
スピーカー 1
まあそれに対して言語化
してくれましたっていうのも
その人が話していて。
スピーカー 1
で、そんな言語化された
言葉が
見かけ上の読みやすさは
向上するが、判断に必要な情報量は
スピーカー 3
減っていない。むしろ
スピーカー 1
名前の妥当性を検証する手間が
スピーカー 3
増えているっていう風に
言語化していますと。
スピーカー 1
この時点でちょっと
スピーカー 3
僕まだ分かってなくて
なんかピンとくるものがありました。
スピーカー 1
見かけ上の読みやすさは
向上するが、判断に必要な情報量は
減っていない。むしろ名前の
スピーカー 3
妥当性を検証する手間が増えている。
スピーカー 2
どうなんだろう。
それって分かんない。
諸説あるというか
いろいろ考えさせられるけど。
確かに定数を
1個の場所にまとめるってことは
この1個の場所の名前が
まず第一必要になるのと
で
プラス
じゃあこれって
マジックナンバーとどっちがいいかって
分かんないけど
定数には名前があってそれが文脈に
沿っていれば
分かりやすいとは思うけど
1つのファイルに突っ込んでる時点で
使う場所との
関係性が薄くなってくるから
ある意味で分かりづらいのかもな
とか思ったりした。
スピーカー 3
いい話です。
おおむねそういう話です。
スピーカー 1
ちなみに今日の話は
スピーカー 3
一旦AIがある時代のことを
忘れて
スピーカー 1
AIがなかった時の
スピーカー 3
AIあるからこうだよねっていう話は一切なしです。
スピーカー 2
大丈夫。AIではあんまり開発してないから。
まだ昔の状態のままだと。
スピーカー 1
一旦参考として
出る前提のコードとして
スピーカー 3
イフ文ですと
リトライカウント大なり3
スピーカー 1
3
3っていうところがマジックナンバー
ですよね。
例えばイフリトライカウント大なり
定数で
マックスリトライカウント
スピーカー 3
意味としては分かりやすくなって
はいますよね。
マジックナンバーがリトライできる
マックスのカウントが
スピーカー 1
マックスのカウントだなっていうところ
ですが
スピーカー 3
これによって2つのことを指していますと
スピーカー 1
1つ目が
マックスリトライカウントっていう
スピーカー 3
ネガティブな話として
スピーカー 1
その名前を
スピーカー 3
見てもなんで3なのか
とか
これって変えていい値なのかとか
何を根拠に決まった
値なのかっていうのは
書かれてはいない。
定数がどっかにまとめられておいてある
うちの1個なんで。
スピーカー 1
リテラルが
スピーカー 3
名前に変わっただけで
読み手が判断に使う情報は何も増えていない。
ちょっと名前分かりやすかった
っていうだけだよっていう主張と
スピーカー 1
もう1つが
定数が
コンスタンツ
クラスのような別の場所に集約されると
その名前が
実体に合っているかを確かめるために
定義元にジャンプして
スピーカー 3
値を見に行く往復が発生するの。
スピーカー 2
そりゃそう。
スピーカー 1
なんで、リトライカウント第3であれば
その場で完結した確認に
スピーカー 3
ひと手間挟まりますよねみたいな。
飛んでいって値を確認するみたいな。
スピーカー 1
で、名前が
値の意味を取り違えていれば
スピーカー 3
むしろ誤解を招く可能性も
ありますよねみたいな。
っていうことの2つありますよ
っていう話で
さっきユウヤラさんも言ってましたけど
定数を集めたファイルっていうのは
スピーカー 3
値が使われる文脈から切り離されちゃってるよね
っていう話ですね。
Enumとデータ抽象の概念
スピーカー 3
ここなら納得できますよね。
これまであったけどこの後も
僕は納得感あるんですけど
スピーカー 1
その次の対策として挙げられてるのが
スピーカー 2
イーナム。列挙型とか呼ばれるんですね。
スピーカー 1
さっきのリトライカウントとちょっと分かりづらいんで
今度あたかってる例としては
ステータス何々
スピーカー 3
何々
それに123ってくるみたいな。
っていうのはありがちな定数かなって思うんですけど
スピーカー 1
こいつをイーナムに置き換えて
スピーカー 3
オーダーステータスイーナム
ってなって
発送待ちとか
スピーカー 1
注文
スピーカー 3
準備中とか色々あると思うんですけど
置き換えますと。
スピーカー 1
ただそうなった時に
スピーカー 3
あくまでこれ今イーナムが定義されてるだけの状態。
スピーカー 1
例えばじゃあ
スピーカー 3
この注文ってどういう状態だったら
キャンセルできるの?
っていうなった時に
スピーカー 1
イフ文にそのイーナムの
スピーカー 3
何とかもしくは何とか
だったらキャンセルみたいな
イフ文とその中身が書かれる
みたいなことがあると思うんですけど
スピーカー 1
そうすると
スピーカー 3
キャンセルに関する書類書きたい時って
スピーカー 1
このイフ文が
スピーカー 3
色んな場所に出ちゃうよねみたいな。
スピーカー 1
ここから分かることが
イーナムにしたとしても
スピーカー 3
根本的な解決にはなってないよね
っていう話ですね。
ただのイントから定数
スピーカー 3
イーナムと
スピーカー 1
行ったとしても
スピーカー 3
あくまで名前付けの延長でしかないよね
っていう主張ですね。
ここまで大丈夫ですか?
スピーカー 2
大丈夫です。
スピーカー 3
違和感なくここまで来ているかと思います。
その次いくと
スピーカー 1
ここから
DDDとか
触れてきた人たちは
スピーカー 3
よく聞く話になってくると思うんですけど
スピーカー 1
使う側の関心は
振る舞いであって
スピーカー 3
値ではない。
さっきの注文の
スピーカー 3
1とか2とか3とかじゃなくて
キャンセルの話で
スピーカー 1
例えるとキャンセルできるかどうかが
知りたいんであって
スピーカー 3
値が何かを知りたいわけじゃないよねっていう
話ですね。
オーダーとかだったら
スピーカー 3
order.cancancel
スピーカー 1
書類を呼び出すと
その注文がキャンセルできるんだったら
スピーカー 3
true返ってくるし
そうじゃなければfalse返ってくると。
スピーカー 1
さっきのorder.
オーダーの中だけで
スピーカー 3
関係する話。
スピーカー 1
僕ちょっとあんま馴染みなかったんですが
こういうのデータ抽象って
スピーカー 3
言うらしいんですね。
聞いたことあります?データ抽象って。
僕はどっちかというとカプセルか
そっちの言葉は知ってるけど
スピーカー 1
データ抽象っていう言葉自体はそんなに
聞き馴染みがなかったんですよね。
スピーカー 2
データ抽象は
それは
あれなのかな。
あんま聞いたことないな。
うーん。
使わんな。
スピーカー 1
データ抽象っていうのが要するに
詳細を隠して
スピーカー 3
必要な情報だけ見せるみたいなものを
データ抽象って言うらしいですね。
スピーカー 2
でも
なんかでも可視性の
話でしょ。
スピーカー 1
まあそうですね。
スピーカー 3
どこまで見してどこは隠すのか
っていうところですね。
スピーカー 2
それをクラスの話なのに
データに絞ったって話なのか
よくわかんないな。
クラスでカプセルかとか
可視性を見せたいものだけ
パブリックにする
っていう話で
スピーカー 2
だから
ここは関数は触れてないってことはデータだけに
触れてるって意味でしたよね。
スピーカー 2
データ抽象ってことは。
スピーカー 1
まあだからデータの
状態とかそういうところを
見せず
スピーカー 3
具体ですね。
ステータスって言ったら。
スピーカー 1
を見せずに
キャンセルできるできないっていう抽象だけ
出しますよっていう
スピーカー 3
意味だと捉えてはいます。
スピーカー 2
中身がどうかっていう
だから中身
今の状態がどうこうではなくて
キャンセルしたいから
キャンセルするけど
スピーカー 2
ってことですね。
スピーカー 1
そうですね。だからなんか別の言葉だと
スピーカー 3
なんだっけな。テルドンとアスクみたいな
言葉もあって
スピーカー 1
命令しろ
スピーカー 3
聞くなみたいな。だから今のステータスどうですか
って聞くんじゃなくてキャンセルできるの
っていうまあこれは命令と
あれですが真っ白みたいな
となんか似た話なのかな
スピーカー 2
と思ったりも。それは当然そう
な気がする。
スピーカー 3
でちょっとまたENUMの話に戻るんですけど
スピーカー 1
定数化とかENUM化
スピーカー 3
自体っていうのは何も隠蔽
してないよねと。
スピーカー 3
使う側に解釈を委ねている。
スピーカー 1
なんで
どんなにENUMにつけたとしても
最終的な判断っていうのは使う側
スピーカー 1
を行うということで
スピーカー 3
これはデータ抽象ではないよねっていう話ですね
定数とかENUMとか
スピーカー 1
あと
スピーカー 3
よくある話として
スピーカー 1
定数化すると変更の
スピーカー 3
箇所を一箇所で済むようになるよね
っていう話もよく聞く話だと思うんですよね。
これに対しても
スピーカー 3
一つ話があって
スピーカー 1
これも局所化
定数化されるのは値そのもの
スピーカー 3
例えば1を2に変えるとか
そういう値だけ
スピーカー 1
で
そこにいろんな処理が
スピーカー 3
いろいろ呼び出している
スピーカー 1
場合とかだと
スピーカー 3
変更内容によっては書き換え直す
とか呼び出し方変えるとか
変更をして回る
可能性もあると
スピーカー 1
定数化っていうのは
値の変更を局所化
するのに対して
データ抽象は
スピーカー 3
値の使い方まで局所化する
なんでどう使う
スピーカー 3
値が
さっきのキャンキャンする
みたいな処理があった場合に
スピーカー 1
使い方
内部の
詳細とか分からずとも
スピーカー 3
使えますよっていう話
っぽい感じで書いてますね
スピーカー 1
なんでこの辺とかは
DDDとかの
スピーカー 3
ドメインモデル
スピーカー 1
ところとかは
スピーカー 3
よくこういう話があるかなって思います
理想と現実のコーディング設計
スピーカー 3
テンポよくいってしまって
もう3分の2ぐらい終わってます
やっぱねこれね
スピーカー 1
書きながら思ったんですけど
スピーカー 3
そうだよねってなるなって思って
この台本作ってたんですけど
やっぱそんな感じですよね
スピーカー 2
でもあのぶっちゃけ
それは
理想では
スピーカー 2
あるんで
今の話一番最初にやった
定数の話とか
ENUMの話と
3つ目のやった状態の話っていうのは
状態は
確かに
ステートマシンで
オートマトン
有機
ステータスが
移動することの
関数型だと結構
使われるんだけど
次にいけるかどうかっていうのを
なんか持ってるみたいな
一つのモデルというか
モジュールみたいな形を
持ってるみたいなのがあるんだけど
その話と
状態を持たない
ENUMも
あるわけじゃない
状態を持たないENUM
スピーカー 2
要するに状態に
移動できる移動できないみたいな
判断を必要としない
ものっていうのも単純にある
わけじゃない
定数とかENUMと
状態の話が
もしかしたらもっと細かく書いてあるのかもしれないけど
全部ごっちゃになって
使われ方ごっちゃになってるような気が
しなくもない
スピーカー 2
っていうのが一つあって
それこそENUMで定義
ENUMっていうのがものがあるってことは
ENUMとして使いたい場面がある
スピーカー 2
でENUM
共通のENUMがいろんなところで
使われるなら共通の場所に
持っていけばいいしっていう話で
たぶん今回のは
そういうのをはしょるために
そういうふうな記載になってるんだけど
使い方適材適所で
定数も
スピーカー 2
定数って僕が思うには
コンスを一箇所に
全部置くのはあんまり良くないとは
俺も思うんだけど
でも
よりコードをエレガントに
したい場合に
マックスリトライとか何も伝えてないから
ダメだけど
理由
何の値なのこのっていうのをちゃんと
意味付けがしてて
文章として読めるような
コードになってるのであれば定数として
置いてその値を保持しとくっていうのは
いいと思っていて
マジックナンバーは
なんでこれが
最初に言ってたけどなんでこれが4
なのとかは伝え
伝えれてないし
でも
まずその4っていう値は
状態とはまた切り離して話さないといけない
ものだと思うから
だから多分
定数も使う場面はあると思うんで
そこだけは
状態と
コード内
一つのファイル内だけでエレガントに見せたい
時の定数の使い方と
スピーカー 2
いろんなところで
同じenumを使いたい
使い回したいっていうモチベーション
かつ状態がない
みたいな時にはenumを
共通の場所に定義するっていうのもあり得る
みたいなのだけは
分けて考えないといけないだろうなと
スピーカー 3
そうですね
あと例えば消費税みたいな
明らかに概念が1個しかないような
かつ変更の
メリットを受けられそうなのとかは
どこにあってもいいというか
スピーカー 2
例えばタックスみたいな
感じでバレオブジェクトみたいな感じで
表現するのかなDDDだったら
スピーカー 1
消費税を加算する
っていう
ロジックがどこかに包まれたり
するのかな
スピーカー 1
あとは
スピーカー 3
その辺に置かれるのかな
スピーカー 2
その辺に置かれるんじゃない
タックスありなしでタックスが
タックスもしかしたら変えたい時も
あるかもしれないし
場所によっては
スピーカー 3
軽減税率とかも入ってきますし
スピーカー 2
そうそう
タックスフリーとかも
入ってくるかもしれないしみたいな
スピーカー 3
そうですね
スピーカー 1
そのまま
スピーカー 3
逸れたまま話すんですけど
スピーカー 1
結構マジックナンバーに厳しい人
スピーカー 3
とかもいるじゃないですか
スピーカー 2
いるね
スピーカー 1
どこからマジックナンバーを
スピーカー 3
定数にするんだろうな
っていうのは思っていて
例えばその
スピーカー 3
サマーキャンペーンみたいな
メソッドがあったとして
引き続きプライスとかを渡す
としますと
スピーカー 1
でサマーキャンペーンの
スピーカー 3
処理はここにしかありませんと
スピーカー 1
サマーキャンペーンはこれが
スピーカー 3
呼び出されますと必ず
スピーカー 1
ってなった時にプライス
かける
スピーカー 3
0.9とか
あった場合これって1割引きになってわかるじゃないですか
スピーカー 1
そうなった時にこの
スピーカー 3
0.9定数にした方がいいのか
って思うわけですよ
僕は別にしなくていいと思うんですよこれって
なんかもう自明だからこの
0.9は何を指しているのか
でも多分中にはこれを定数に
してっていう人もいると思うんですよ
マジックナンバーだから
これどっち派ですか
スピーカー 2
えっと
まずサマーキャンペーン
に
サマーキャンペーン
って言ってるから
スピーカー 2
それ以上抽象化するんなら
多分話は
もしかしたら変わってくる
可能性はあるけど
スピーカー 3
もう少し抽象にすると
キャンペーンとか
スピーカー 2
キャンペーンで
なんかサマー
引き継ぎサマーとかウィンターとか入れたら
変わるとか
そういうのは多分ないと思うから
サマーキャンペーンっていうのが
存在が1つだけなのであれば
別に
持たなくてもいいとは
思うけどね
スピーカー 3
だから僕もそう思ってますと
スピーカー 1
で
これをどんどん
どっかのタイミングで
スピーカー 3
マジックナンバー定数に変えよう
っていうタイミングが多分あるじゃないですか
スピーカー 2
サマーキャンペーンの
割引ディスカウントってことで
スピーカー 1
今
スピーカー 3
サマーキャンペーンっていう
自明なものを出しましたけど
スピーカー 1
ちょっとずつ全然別概念で
ちょっとずつ
スピーカー 3
自明じゃなくなっていくグラデーションがある
と思っていて
スピーカー 3
どっかのタイミングで定数になる
みたいなの多分あると思うんですよね
ちょっとあの具体例全然考えてきてないんですけど
スピーカー 2
定数って
今そのサマーキャンペーンだけで考えると
定数にしようが
ないかなとか思ったりとか
スピーカー 3
あーそうですねサマーキャンペーンはそうだと
そう
でも
スピーカー 2
最近書いてないからな
あんま思い出せないな
でも意味を
ぶっちゃけた話だから
なんで4なのとか
なんで0.9なの
とかに回答できる
ものを
使うべき
だから
この文脈だと
サマーキャンペーンは
1割引きなんだ
で負に落ちるけど
それ以外で
今関数名と
その0.9で察しがつく
けど
察しがつかないときに
定数にするべきなんだと思う
スピーカー 3
まあそうですね
スピーカー 1
なんかいい例ないかな
スピーカー 2
その例が思い浮かばないけど
なんで
たださっきのいいよねリトライ回数
とかってなんでこのリトライ回数
なのってなるじゃん
文脈によって変わるから
し3にした理由とか
4にした理由が絶対あるはず
適当にしてたらだめじゃん
妥当性がないといけないから
その妥当性を説明する必要あるよね
スピーカー 1
でもその妥当性って
コードで絶対読めとれないから
スピーカー 3
コメントがつく場所な気がするんですよね
そこって
えでも
スピーカー 3
なんかコードで表現できんのかな
スピーカー 2
それを表現するんじゃない
難しいけどな
スピーカー 2
だから理由を説明できてればいいんだよ
なぜか
なんでこれなのみたいな
なんでこうなってるのとか
例えばさ
いくらまではとか
千円まではとか
五千円までは
みたいな
五千以降使ったら
一万円までは
重量課金だけど
一万円超えたら低額になりますよ
みたいな
じゃあなんで一万円なのとか
なんか
なぜに答えるわけではないけど
なんだろうな
なんだろうな
わかんないな
スピーカー 1
大抵コメントで補足されるケースが
スピーカー 3
多い気も
スピーカー 1
コードで表現
スピーカー 3
できそうっすか
スピーカー 2
フライス
なんかいいのありそうだけど
なんかいいのありそうですけど
スピーカー 2
だからその五百とか値に
名前がついてるもの
なんじゃない
スピーカー 3
わかりますよ
わかるけど全然例が出せ
スピーカー 2
だから
さっきの例だと
ここから低額
ですっていう
名前
にするのかな
スピーカー 1
でもそれも結局
じゃあなんでここから低額ですが
一万円なのか
スピーカー 3
っていう説明にはなってないですよね
スピーカー 2
説明にはなってないね
スピーカー 3
コメント書くしかないとやっぱ
社長が言ってたとか
スピーカー 2
でもここから低額
なのかすらわからないかもね
一万円だと
何をしてるのか
コード見ればもしかしたらわかるかもしれないけど
スピーカー 1
F文の中を読むか
F文だけ見ればわかるかの違いって感じですかね
スピーカー 2
だから低額
どちらかというと重量課金上限値
みたいな名前になるのかな
したら表現できてる
感じなんじゃない
そこになぜはたぶんもしかしたら難しいけど
なぜそれが
この値に決まってるのかは
わかんないけど事業的判断だから
スピーカー 1
よく言うのが
ワットじゃなくてホワイを書けってやつねコメントは
スピーカー 3
そうですね
ライブラリとデータ抽象の境界
スピーカー 1
でちょっとまた戻って
スピーカー 2
戻るか
どこまで言ってたか
スピーカー 1
さっきは
使う側の関心を振る舞いであって
スピーカー 3
値ではないみたいな話をいろいろとしましたと
オーダードットキャンキャンセルとか
スピーカー 1
でライブラリーの
イーナムみたいなのも
世の中には存在しますが
例えば
スピーカー 3
httpステータスコードとか
イーナムとか
になったりするかなと
定数だったりすることもあるかもしれませんが
スピーカー 1
じゃあそれは
スピーカー 3
基本的にバットリクエストとか
スピーカー 1
ノットファウンドとかあって
スピーカー 3
そこに振舞いがついてること
ほぼほぼないと思うんですよ
ただ定義されてるだけ
スピーカー 1
でそこだけ聞くと
スピーカー 3
データ抽象に反してる設計だなっていう風に
判断しようと思えばできる
スピーカー 1
ただこれは
あくまで
ライブラリーがこのバットリクエストとか
ノットファウンドをどう使われるかを
スピーカー 3
知らないからこういう設計になっていると
スピーカー 1
なんで
それをもとに何をするか判断するのは
ライブラリーを使う側が
バットリクエストだったら
スピーカー 3
何々とかっていうことを決めると
スピーカー 1
なんで
ライブラリーが使い方を知らないから
スピーカー 3
あくまでここはデータの
定義をしているだけですと
スピーカー 3
なんで
スピーカー 1
この使う側がその判断をする
クラス数などを一個定義して
その
スピーカー 3
ステータスイコール
バットリクエストみたいな
スピーカー 1
そこを一箇所書くための
スピーカー 3
クラスとかを用意して
スピーカー 1
使う側はそのクラスを呼び出す
みたいな
そのバットリクエストとか具体的なのは
スピーカー 3
そのクラスの
奥の方に隠されているというか
いいようなイメージですかね
直接それを使う
スピーカー 1
バットリクエストとかを
使うのではなくて
バットリクエストだったらどうする
バットリクエストだったらどうする
スピーカー 3
っていう
スピーカー 1
これしたいですって聞いたときに
スピーカー 3
今のステータスが
バットリクエストだから
できませんよとか返ってくるような
スピーカー 1
っていう風に
スピーカー 3
するみたいな
ライブラリと実際に使いたい
ところの間に一個挟むみたいな
イメージですね
スピーカー 1
これをすることで
スピーカー 3
データ抽象
が作れますと
スピーカー 1
データ抽象を作るのはライブラリの
仕事じゃなくてそれを使う側の
スピーカー 3
仕事ですよみたいな
スピーカー 2
最後の一番ピンとこなった
スピーカー 3
え?
スピーカー 2
ステータスコードだから良くないのかな
ほうほうほう
ステータスコードってライブラリって感じが
しないんだよね
スピーカー 1
でもまあ
スピーカー 3
そうなんですよね
スピーカー 2
イーナムではあるけど
スピーカー 1
ライブラリに付随して
スピーカー 3
くる
http系のやつらに
付いてくる部分で
受け取ったリクエスト
スピーカー 3
なんで
リクエスト.
ステータスみたいな
スピーカー 2
僕が
バックエンド脳で考えちゃってるから
バックエンドで実装するときってさ
ステータスコードを
ライブラリに頼るっていうよりも
ステータスコードを自分たちで決める側に
いるじゃん
スピーカー 3
決める側っていうと?
スピーカー 2
ステータスコードを最終的にはどういうステータスコードで
終了しましたっていうのを
バックエンド側の実装として
クライアントに返すじゃん
クライアントとしては確かにステータスコードって
そういう使い方するんだろうな
って思うんだけど
逆に
スピーカー 2
バックエンドの例で考えるなら
マインスケールとかの
エラーコードとか
あれはもう完全に
その後それを見て
我々どう処理するか
っていうのは
あるけど
スピーカー 3
いい例ですね
そっちの方がいい例
それは確かにそうかもしれない
スピーカー 2
バックエンド側だとそっちの方が
イメージが強くて
ステータスコードは自分たちで作るものだから
クライアント側だともしかしたら
ステータスコードの方が分かりやすいかもしれない
スピーカー 1
バックエンドのアプリが
スピーカー 3
クライアントになってる人の方が分かりやすい
スピーカー 1
ってイメージですかね
スピーカー 2
そうだねクライアント側だとそのステータスコードを見て
何かをするわけだから
スピーカー 1
そっちが
いいと思います
スピーカー 2
バックエンドサイド
スピーカー 3
なんで
だから
スピーカー 1
例えば
スピーカー 3
デプリケーションで
IDの重複が来た場合の
スピーカー 3
処理だとか
どういうことになるんだ
スピーカー 2
4000
2020
とか
スピーカー 2
そういう
だいたいの
マイスケのライブラリー5とかだと
ちゃんと名前つけてくれてる
何のエラーの
つけてくれてるから
それで
それを見て
500万台を返すのは当たり前
500万台返したり
例えば
これを無視してもいいみたいなのもあるかもしれないから
そういうのを無視したりとか
自分たちが決めるっていう話だよね
そうですね
スピーカー 1
なんで例えば
超ざっくりですけど
スピーカー 3
エラーですか
って聞いた時にステータスコードが
500何本かだったら
エラーですよって返してくれるとか
スピーカー 1
そのエラーですけど
エラーですかの中身が
これまでは例えば
スピーカー 3
なんだろうな
デュプリケートはエラーとして
なかったんだけどデュプリケートもエラー
として考えるようになりましたって
なった時はその中身にそれを追加するだけで
呼び出し側には影響ないみたいな
スピーカー 2
まあ全然話それるけど
重複をエラーに
するパターンってどういうパターンなんだろう
スピーカー 2
重複エラーって
既に作られてますよのエラーってことだもんね
スピーカー 1
うん
スピーカー 2
それをクライアントに返す時って
スピーカー 3
エラーで返す方が多いんじゃないですか
作ろうと思ったけど
もう既に作られてましたよ
っていうエラーになるんですか
スピーカー 2
あそうかそれで作られてましたよ
でユーザーはあもうできてるんだ
じゃあ検索しに行こうっていうアクションになる
ってことか
スピーカー 3
まあそんなとかかな
スピーカー 1
クライアントの実装で
スピーカー 3
流送信されてたとかだったらちょっとわかんないけど
まあそんなイメージかな
スピーカー 2
まあそうだね
そうなるか
スピーカー 1
うん
スピーカー 3
まあとか
スピーカー 2
外部キー制約でエラーが発生しましたって
なった時に
もうそれ作りの問題やんって思うんだけど
スピーカー 3
まあそれはもうシステムエラー
返すしかない
スピーカー 2
そりゃシステムエラーだね
ユーザーに促す行動ないからね
スピーカー 3
まあとかとか
スピーカー 1
そういうのを隠蔽してあげようね
っていうのがデータ抽象だし
データ抽象できない
ライブラリー側はデータ抽象として
定義できないから
スピーカー 1
その具体的な値を
スピーカー 3
ユーザー側に見せている
スピーカー 1
っていうここのが判断軸ですね
その人が判断できるんだったら
スピーカー 3
データ抽象にするべきだし
スピーカー 1
判断できないのであれば
スピーカー 3
値を返してあげる
っていう話ですと
スピーカー 1
でもうこれ最後
結論に入っていくんですが
スピーカー 1
マジックナンバーに
名前を付けて終わりではないよ
スピーカー 3
っていう話と
スピーカー 1
あと値を振る舞いの内側に隠して
データ抽象まで
スピーカー 3
進めましょうと
スピーカー 1
逆に言えばマジックナンバー
とかベタ書きされた
ステータス比較みたいな
スピーカー 1
があればそれはドメインの概念が
スピーカー 3
埋もれている証拠になり得ると
スピーカー 1
反射的に
点数に置き換えるんじゃなくて
スピーカー 1
そこにどんな概念が
スピーカー 3
隠れているかと
ここいいですね
あんまり?
スピーカー 2
いやそうです
その通りではあるんです
スピーカー 3
あと1秒
スピーカー 1
でその概念が
隠れている証拠その行為が
ドメインモデリングですよという風に
スピーカー 3
結論付けて終わりました
AI時代の開発とエンジニアの役割
スピーカー 3
何か
スピーカー 2
納得はしてます
ただ
書かないことには伝わってはいかない
と思うんで
スピーカー 3
書かないことには伝わっていかない
スピーカー 2
なんだろうな
それを書かれてて
スピーカー 2
負に落ちるんだけど
実際にするのは相当難しいよね
ここの難しさって何があるかって
技術力じゃ解決できない
何かがあって
ドメインって言ってるぐらいだから
振る舞いを閉じ込めなさい
意味を概念に
閉じ込めなさいっていうのって
なんだろう
概念を切り出す上で
業務を知らないといけなかったり
そのドメインについて詳しくなる
必要があって
だから本当に
本当の意味でドメインモデリングを
するんだって
スピーカー 2
言ってできる人って
そうそういないし
技術だけあったら逆に
スピーカー 2
よしDDD使おうって言って
ドメイン全く知らないのにDDD使ったら
まってへんってこのものができる
切り過ぎたりとか
だから
それをやるのは
正しいんだけど
その前提にはもっとたくさんある
よなっていう
スピーカー 3
それはそう
でもこの記事それまで話したら
全然別の話になっちゃうから
スピーカー 2
みんなさこの記事
そういう短くてコンパクトに収まってる
記事だけを見て
気になって手を出したりするんだよね
まあまあそういうもんですよ
スピーカー 2
それで手を出した時に
最後に嫌な思いするのは
レビューだから
まあ程々に
スピーカー 1
いやでもやっぱ
スピーカー 3
DDDとか学んでる時って楽しかったじゃないですか
スピーカー 2
楽しい
楽しいんだけどやっぱね
無理は分かってないと
作れんね
しかもさ
それって前提としてあるのが
だいたい全部分かってますよ
想定というか
スピーカー 3
どの部分を
スピーカー 2
ドメインの部分とか
だから切り出し方も
分かるけどさ
スピーカー 2
実際の開発の現場ってさ
自分が対応する
範囲しかさ
知識ってついていかないじゃない
しかもそれも手も動かさない
抵抗で動かしながら
スピーカー 2
待ってくれないじゃん
じゃあ俺がその100%ドメイン
100%覚えることはないけど
70%覚えるまで待ってとか言えないじゃん
スピーカー 2
だって市場に
いつ投下するかって早い方が良かったりとか
時期間とか後期とかあるから
だったらやっぱり覚えながら
技術も身につけて
とかってやっていくと
まあ局所的な
局所最適解を
なるべく避けつつも
なってる部分は出てくる
まあこれを塞いだったりするんだけどさ
だから
完璧にやるっていうのは
ほぼほぼ無理があるんだけど
でも逆に
どんなに頑張っても
やっぱり局所最適解になっちゃうよね
っていうのを受け止めた上で
できる限りの
最善を尽くすとか
未来に向けて開かれてる状態
変更に開かれてる状態を
意識するとかっていうのが
やっぱ大事になってくるんだろうな
スピーカー 1
まあそうですね
スピーカー 3
DDD勉強した直後って
スピーカー 1
なんだろうな
DDDもがっつり適応
そのモデルの設計を適応する方が
後々嬉しい部分もあれば
そんなにここに頑張らなくていいよね
スピーカー 3
っていう場所もあるわけじゃないですか
スピーカー 1
ただその頑張らなくていい場所も
スピーカー 3
やりたくなっちゃうじゃないですか
まあ
スピーカー 2
僕はあの
割とここを本当に
事前にやるってことを
学び始めてた時は
どうだったんだろうな
でもファットになったら
切り出すとか
それを本当に徹底してるから
手間だけどね
もしかしたらこうなるかもしれないから
事前にっていうのはいいけど
でもその最終形が訪れるかどうかも
わかんないじゃん
優先度が変わったりとかして
そのまま放置されたりすることだってあるから
そういうのも
いついかなる時も
今予定してる通りに
物事が進むとは限らない
っていうところで
今の仕様とか今の設計とか
やるべきことのスコープの中で
最小限の実装にとどめる
っていうのはすごく意識してるかな
スピーカー 1
いやでもやっぱね
これこうなるだろうな
スピーカー 3
と思ってやっちゃうわけですよ
スピーカー 2
それを本当問うようにしてるね
自分に
スピーカー 1
いやあと
経験側最内は
ちゃんと自分知ってますよって
スピーカー 3
アピールがてらやっちゃうところもあるわけですよ
スピーカー 2
あれでも突っ込まれたら
突っ込まれたら回答できないでしょ
いやだからこうだと
将来的に
スピーカー 1
だからこうしましたって言って
スピーカー 3
でもって言って論破されて
はいわかりましたって直すわけですよ
スピーカー 2
そういうこと?
あれ1セットなんだ
スピーカー 1
やっぱあの
スピーカー 3
多少ないとも自分って
この辺勉強してますっていうのをアピールした
気持ちもありますから
しょうがないですそれは
スピーカー 2
絶対言うもんな
スピーカー 3
その判断も
難しいですからね
スピーカー 1
その人なりに
1回のプロリーグの中で
すでにファットになってきたなって感じることも
スピーカー 3
あるじゃないですか
スピーカー 1
そうなった時に
スピーカー 3
ファットだと思って
切り出したつもりだったのに
これはまだこんなことしなくていいんじゃない
っていうレビューを受けることも
あるでしょうから
スピーカー 3
そういうケースもありますから
一概には言えません
スピーカー 1
いやでも懐かしいな
今そんな実装もしてないもんな
スピーカー 2
久しぶりに話したなこういう話
スピーカー 1
なかなかね
スピーカー 3
AIのせいでっていうのもあるし
スピーカー 2
そうだねないで
何をどこに置くとか
話さないもんね
スピーカー 2
確かに
いやー
スピーカー 3
今こういう会話どこ行っても
どこ行っても嘘だけど
なかなかしてないですからね誰も
スピーカー 2
いやー寂しい時代やん
スピーカー 3
だからねなんか構造
これどうするかって
設計の議論してる時間って楽しいじゃないですか
それが今や
あんまり機会がないですからね
スピーカー 2
それってどっちなんだよね
機会が
本当に機会がなくなってるのか
機会がなくなったと
錯覚してるのかだとどっちなんだろうね
スピーカー 1
いやないん
じゃないかなやっぱ
AIが出してきた
ものをレビューすることはあるものの
スピーカー 3
とりあえずやっぱり
スピーカー 1
自分の中で
スピーカー 3
完結させてしまう
そのレビューとかも
スピーカー 1
だからその設計に対して
誰かと議論する機会っていうのは
スピーカー 3
まあもちろん減っているとは
思いますけどね
でも他社レビューはそういうことになるんじゃないの
スピーカー 2
他社からのレビューって
そういう話にならないの
最近レビューもしてないから
わかんないんだけど
スピーカー 1
僕は
バックエンドの人間で
今うち
僕が触ってるAPIって
比較的シンプルだから
そういう設計思想では
そもそもないっていうのもあるから
スピーカー 1
そこではあんま起きにくいのと
あと僕は
クライアント側の
知見がだいぶないので
スピーカー 3
言われるがまま
ああなるほど
そうなんですね
もしかしたら知っている人は知っているのかな
スピーカー 1
とはいえなんか
昔に比べて
言われたら
議論するのも
面倒なのもあるし
スピーカー 1
言われたものに正当性があるなと
スピーカー 3
そのまま入ってて直すし
っていう機会の方が
多い気はしますけどね
スピーカー 2
まあ議論
した方がいいと思うけどね
スピーカー 3
まあまあそうなんですけどね
でも議論するって大変だから
スピーカー 2
アーキテクチャ
設計周りとかは
なんか突っ込んだりはするけどね
今でも話聞いたりとか
スピーカー 1
まあ今
コードも多くなってきて
既存のコードに沿った設計にする
スピーカー 3
っていうのが基本スタイルだから
スピーカー 1
あんまりそういう
スピーカー 3
根本的な設計部分に突っ込みとか
そろそろ入ってないとは思うんですよね
スピーカー 1
だからAIが
その既存のコードを見て
スピーカー 3
同じような実装はしてくれますし
大きくそれることはないから基本的に
スピーカー 2
既存の
コードもそんなにいいとは言えないからな
スピーカー 3
まあまあそうですね
スピーカー 1
まあでも大きくは
スピーカー 3
外さないというか
スピーカー 2
実装は
そうか
スピーカー 3
新しいことをする方がやっぱりリスクだと
思ってしまっているところもあるでしょうから
スピーカー 2
それは良くないね
スピーカー 3
とは言え
スピーカー 1
そこそこまたコードも大きく複雑になってきているから
なかなかね
スピーカー 2
でもそこでさ
それでよしってしてたら
成長止まっちゃうよね
それ以上の知識とか
例えば今の議論
さっきやってたような議論
どこに置く問題とか
じゃあこの
さっきのクラスにするのか
関数のまま置いとくのか
とか
新しい概念切り出すのかとか
ファットになってきたし
全体的にみたいな
話ができないから
そういうのが養われないと結構
拡張性が結構厳しくなってくるんだろうな
とか
スピーカー 1
だから趣味で
議論する分にはいいんですけど
やっぱ今AIが出てきているから
スピーカー 3
一生懸命議論していても
虚しいんですよ
でも結局AI側とかなっちゃうから
AIっす
スピーカー 2
開発
今の開発の現場だと
何を議論するの
開発の過程で
スピーカー 3
いや
スピーカー 2
そうですね
スピーカー 1
バックエンドとかだったら
クエリのところとか
こうした方がいいんじゃないとか
あと
既存
これも議論というよりは
既存こうしてるから
こっちに合わせてねとか
スピーカー 1
そのぐらいな
気はしますね
クライアント側はあんま
スピーカー 3
わかんないですけど
スピーカー 2
レビューがボトルネックになる
時代ではある
でも新規開発とかは
最近気づいたんだけど
新規開発とかは話したかもしれないけど
やっぱAI
いいよねって思っているんだけど
とある人が
今もうレビューすら
しないと
人間でも見ない
AIがレビューしてそれが勝手にマージされるみたい
スピーカー 2
まだリリースされてないんで
一般販売されてないものなんだけど
プロダクトだけど
マジかって思って
それ大丈夫なんて思ったけど
新規開発って考えてみれば
最初は意気込んで
品質品質って言ってるけど
結局時間なくて
何もかもが削られて
あと残ったのは実装だけみたいになる
ことを考えると
今はAIが設計書も残してくれて
テストも書いてくれて
一応のレビューもしてて
確かに新規開発においては
人間が寄ってたか
いろんな人間を投入して
思想も何もなくなって
塞いもたまりまくったけど
何とかリリースできて
動くものができた
よりももしかしたら
AIでやってたほうがいいのかもしれないな
って思ったのと
結局その時作った人が
残り続ける可能性も低い
大体そうじゃん
新規開発っていっぱいいろんな人投入して
その後は
ドメインを理解してくれる人たちだけが
残って開発をするっていうのが
常だから
確かにそう考えると
新規開発は本当に理にかなってるな
って思ったね
スピーカー 3
エンジニアは何を楽しめばいいんでしょうか
スピーカー 2
確かに
それできても結局
実際に
作ったものが使われなければ
意味がない
使うように
できるのはやっぱり
そのプロダクトを知ってる人しか
いないと思うんだよね
スピーカー 2
結局何かを
作るんだったら
そのことに
何の問題を解決しようと
してるのかな
この何の問題と
その問題の外を取り巻く
ドメインっていうもの自体を
知った上でやっぱり
スピーカー 2
グロースしていく
成長させていくっていうのを
できないと
ある意味でそれができれば
いろんな業界にでも通ずるものがあると思うんで
エンジニアとしてはやっぱりここを楽しんで
いくしかないんじゃないのかなって思うけど
スピーカー 1
リリース前
だと
スピーカー 1
ユーザーの反応もないし
ただ
スピーカー 3
こなしてるだけというか
リリースに向けて
スピーカー 2
まあでもそれは
イメージするしかないんじゃない
ワクワクする
作っててワクワクするときって
これができたらどう
どういう効果があるんだろうみたいな
のを無双して
夢見てワクワクしながら
作るわけで
あとはこれ作れたら
俺すげえっていう
自己満足をしたいがために作ってる
場合もあるし
スピーカー 1
まあそうっすね
AI使ってはいるものの
むちゃくちゃ使ってるわけではない
スピーカー 3
と思うんですよね
AIをめっちゃ使ってる人たちと比べて
もっといいやり方が
スピーカー 1
あって
それをする楽しさ
スピーカー 3
みたいなのもあるのかもしれないですけどね
スピーカー 1
まだ気づいていない
スピーカー 3
AIの使い
使う楽しさみたいな
スピーカー 2
すでにあるプロダクトかつ
意思決定の連続で
今見たら合理性がない
意思決定みたいな
のとかもあるわけじゃない
そういうのも
その当時に
おいては正しかった
正しいと思われた
決定なわけで
それを今見て
スピーカー 2
拡張バイアスみたいな
って言うけど今過去を見て
過去に対しては
いやこれ当然こうするでしょう
みたいな
っていうバイアスって人って
かかるんじゃない
AIもかかるのかもしれないし
こういうある意味での
エラーみたいな
歴史の中のエラーみたいなのを
今見たらエラーみたいなものを
どう吸収させるかが
わからない限りは
スピーカー 2
今の正当な
歴史を通ってきての
開発をAIに任せるって
難しいよなとか
スピーカー 1
そこ
スピーカー 3
コードだけじゃ読み取れないことって
スピーカー 1
たくさんあるから
そこをAIがどう
スピーカー 3
カバーするんだろうな
みたいな
スピーカー 1
将来的にすべてAIがやるようになるってことは
スピーカー 3
そこすらカバーできてる状態
っていうことだと思うんで
スピーカー 1
なかなかイメージしづらいんだよな
スピーカー 2
だからゼロから
作ってみて
っていうのが
いいのかもしれないけど
結局
使えるもの
カバーになるかどうかって
ドメインの
知識と
スピーカー 2
結局保守していかないといけない
わけじゃない
プロダクト売って
スピーカー 2
使ってもらったり
実際に無償で使ってもらうってなったら
その製品がダメだ
バグが多いとか
毎回リリースごとに変な感じに修正される
ってなったときに
そうならないように
今まで保護してきたのは人間だし
そこの担保っていうのは
確実に必要だなと思うんだけど
そういう観点だとやっぱり
AI時代だと
QAが
やっぱ大事なんじゃないかな
とか思ったりするけど
スピーカー 1
そうですね
まだ今んとこだってないけど
スピーカー 3
全員QAになるんかなって
思いながら
AIの発展の最初の頃見てました
スピーカー 2
そうだから
どれだけ
アプリケーションアーキテクチャの部分が
軽視されるのか
っていうのは分かんないんだけど
アプリケーションの中身が
どうなっていようと
別に修正が困難でないのであれば
今までは
読むっていう行為を人間がするから
構造化きれいにしといた方がいいよね
とか
変更の変更範囲が広いとか
変更漏れが発生するから
一応ちゃんと
ユーティリティとかまとめたりとか
あとはまあ
依存の向きとか調整したりとか
スピーカー 2
っていうのをしてきたけど
もしも
それがいらないんなら
QAに
どれだけ特化するかに
よってくるっていう話
スピーカー 1
いやでもテストを完璧に
かけるんだったら中身見なくて
スピーカー 3
いいと思うんですよね
スピーカー 2
そうだね
スピーカー 1
まあ
それだけ思えば
その未来自体も遠くなさそうな
スピーカー 3
気がするんだよ
スピーカー 2
ただ解決能力ってあるじゃん
うん
AIに任せます
AIが出てきた行動を
QAに通します
でもなんかバグがあります
ってなった時に
多分手動のテスト
自体は人間でもすると思うんだよね
難しいテストもあると思うので
そういうのを人間がやった時に
じゃあもう一回AIに任せます
またまだバグってます
止められなくなっちゃう
未来は来そうだよなって思っていて
スピーカー 3
止められなくなるっていうと
スピーカー 2
要するに原因を正確に
判定で見つけられずに
局所的な修正を
繰り返しし続ける
みたいな時に
スピーカー 2
そこに技術力が
必要だった場合
に解決できなくなる
未来がもしかしたらあるかもしれないよね
スピーカー 3
ない気がしてるんだよな
スピーカー 1
テストが完璧に
スピーカー 3
あるという前提だったらないと思ってる
スピーカー 2
テストが完璧って
だから
全ての機能を
網羅的に
やってるってことだよね
それは結局
もしも状態っていうものがあった時に
そこまで網羅
するテストって
作れないんじゃねって
俺は思って
バグが起こりやすいのはこういうところ
状態がこうだった時に
こう振る舞うんですよが
分かってない時に
スピーカー 2
バグとして検知されちゃうとか
計算処理とかも
事実付きになってたり
繋がってたりする時に
1回目がこうで
2回目がこうで3回目がこうの時は
こういう計算になりますみたいな
スピーカー 1
もう
スピーカー 2
テストで全部やれるかって
言われたら多分無理
スピーカー 1
やれるようになっちゃうんじゃないかって
スピーカー 3
思ってるんだよな
スピーカー 2
やれるのかな
データの準備と
テスト本気で書きまくれば
いけるかもしれないけど
スピーカー 1
むっちゃ
スピーカー 3
テスト得意なAIとか出てきて
スピーカー 1
この処理だったら
状態がこのパターンあるんで
スピーカー 3
全パターンだと
何百がありますで
このパターン漏れてますよとか言ってくれるやつが
いるんじゃないかみたいな
って思ってる将来的に
そうするとそれを一個一個
埋めていくまたAIもいて
スピーカー 1
それ埋めていけば
スピーカー 3
真のカブレッジ100みたいな
なって
そしたらこのテスト全部通してね
って言えば実装されるみたいな
中身ぐちゃぐちゃかもしれないけど
っていうのは可能性するとあるのかな
って思ってる
スピーカー 2
なるほどね
スピーカー 3
CIの時間とかバカ長そうだけど
スピーカー 2
そうCI
時間長そうだなって思うのと
時にシステムって
矛盾を払う
というか
スピーカー 2
なんかそれこそ
本来はこうあるべきだけど
こうした方がいい
ユーザー的には嬉しい
謎にみたいな状況ってあると思う
そういうのをどうやって
拾っていくかみたいなのも
テスト
機械的なテストって
そういう
矛盾みたいなのが苦手じゃない
そういうの絶対システムを
作っていく上では発生してくる
からそれをどうやって
拾っていくかっていうのは
課題になりそうだなって気がした
スピーカー 1
その違和感にも
スピーカー 3
気づいて
スピーカー 1
答えは持ってないけど違和感を気づいて
スピーカー 3
ヒアリングしてくれたりはしそうな気がする
スピーカー 2
それおかしいよ
スピーカー 1
なんか
ここちょっと
スピーカー 3
こうだったらこうじゃない
でもこうなってる
スピーカー 2
できそうだけど
メンテもむずそうだよな
どうするんだろうな
技術力いらないってことになるからね
そうなっちゃう
スピーカー 1
コーディングとかそっち系の
スピーカー 3
技術力はいらなくなっちゃうんだろうな
とは思いますね
スピーカー 2
依然としてシステムをどう作るか
アーキテクチャ部分も必要になってくる
とは思うけど
それ
なくなったらどうやって人は成長するんだろう
エンジニア
スピーカー 3
AIの使い方が上手であることが
技術力ですよ
スピーカー 2
失われた
技術になっていくってことね
コーディング
スピーカー 1
コーディングを
開始したことがあるエンジニアは
スピーカー 3
寂しいですねやっぱ正直
スピーカー 2
いやー確かにね
そこまで
でもまだ
世の中には
スピーカー 2
いろんなドメインに課題がたくさんあるのは
間違いないから
それを俺らエンジニアリング
でプロダクトなり
システムなりで置き換えていく
っていうのはたぶん続くとは
思うんだけど
その営みに対して
どこのスキルが
一番になるのかっていう
AIを使う
ものなのか
それとも課題を特定して
作るものを決める能力なのか
スピーカー 2
どっちも
だと思うけど
スピーカー 1
はい
ここで以上
話すのが長くなるんでそろそろ終わろうかな
スピーカー 2
はい
もう切りないね
スピーカー 3
じゃあ終わります
急に終わりましたが
ありがとうございました
52:06

コメント

スクロール