私はそろそろITエンジニア暦20年になるそこそこの人です。
遅らせながら今年の1月にAntigravityに出会い、そこから1ヶ月と経たない家にClaude Code Max 5xプランに加入し
趣味プログラマーとしてGitHubの草が連日真緑になるレベルでぶん回してます。
そのOpus 4.5や4.6に頼る上で「ワシより上かもしれん……」から
「もうワシより上なのは確実じゃ……」に評価が変わるのもあまり時間はかかりませんでした。
その上であえて尖った回答をしますが、
対話によるロジックの理解:AIが提示したコードに対し、計算量や保守性、採用されたアルゴリズムの意図を逐一質問し、自分の言葉で説明できるまで納得してから反映させる
生成AIが出せるものや、生成AIが説明する御高説をメモを片手に覚えてもしょうがないです。
それ生成AIの得意なことなんで、張り合っても勝てる訳が無いし任せたほうが良い。
昨今では経営者層やITエンジニアではないちょっとPCに明るい程度の人まで
次々とスクリプトやプロダクトを作っては公開出来るようになりました。
その後の世界はどうなる?
私はこう思います。
多数のプロダクトやサービスがセキュリティホールを突かれて大炎上
個人情報や機密情報をばら撒いて損害賠償、多数の経営者や個人事業主が首を吊る
その結果、ITエンジニアは必要だよねってなる
じゃあ人間としての我々ITエンジニアは何処を伸ばすべきか?
生成AI「うっかり忘れてましたwww」
↑これを指摘したり、未然に防げる能力を有しているか否かが、
これからのエンジニアが会社のその位置に座っている意味となるでしょう。
その源泉は本を読む事です。
おいおいいきなり古臭いジジイみたいな意見やな。
- セキュリティの知識
- こういうファイルを生成AIに読ませるのは危険という勘所
- フロントエンドならXSSが無いか等の気の利いたチェックポイントをSkillsに格納して遵守させる
- 神ファイルの作成
- Opus 4.6でもすぐに400行を超えるようなファイルをせっせと作り込んでしまう
- 「お前やる気ないだろ、この程度の処理なら半分の行数で書けるだろ」とツッコミ入れただけで150行に減った経験あり
- 大量の一時ファイル・デバッグファイルの生成
- Gemini 3.1 Proはこの辺はまだまだおバカだなーと思う
- これもスキルやルールで良い感じにルールを決める
- 回避策
- 実装しようとしたものに矛盾が生じていたり、技術的に困難である場合、生成AIに投げたままだと迷走
- 「ちょっと相談タイム」と前置きし、この部分はこういう理由で難しいけど、こっちの手段を使えば楽じゃない?
- 思いつかない場合でも生成AIに相談していくことで活路が開けることもある
- テストをサボる
- テストコードをつくれと言うと
3.is 1 + 2みたいなテストを作ってサボり始める
- 私は
/revスキルを作って「トートロジーなテストが無いか全部漁って指摘しろ」というチェックリストを作っている
- 後は「お前そのテストでt_wadaの前で同じこと言えんの?」とチャットするのも結構効果的だったりする
こういった知識は生成AIと100個プロダクトを作れば少しずつでは伸びますが、
名著は思いもよらぬところから「これ知ってる?」と殴りかかってくるので、
斜め読みでも良いから技術書を買ってきて読むとかなりショートカット出来て良いんじゃないかと思います。
具体的にはリーダブルコードとか、MySQLとかセキュリティーとかの分厚い本を買ってきて
ざーっと斜め読みにしていくと良いでしょう。
英語が読めるならドキュメントを読みまくるのもオススメです。
フレームワークやプログラミング言語等のドキュメントもざーっと読んでいきましょう。
ベストプラクティスなんかも読むと良いです。
私はOpusにRustのTauriでWindowsのアプリケーション作れと命令した時に
src-tauriなるディレクトリを作り始めて「おいおい、src-tauriってなんだよ、srcにつくれよ」とチャットしました。
後からTauriのドキュメントに目を通して、「本当にsrc-tauriがベストプラクティスなんだ……」と驚きましたね。
これは私の無知による笑い話ですが、
それなりにベストプラクティスの在り方を知っているからこそのツッコミが出てくると思っていて
「ちょっと引っかかる、その処理は待て」と言えるポイントが作れないエンジニアは不要だとすら思います。
昔だったらMySQLの書籍とか買ってきて、ちゃんと手を動かして全てのコマンドをタイプして覚えろなんて言ったと思いますけどね。
様々な用語にインデックスを貼っていき、いざというところで「お前ちょっと待て!」が言えるのが新時代の優れたIT技術者と呼べるのではないでしょうか?