「コードが書ける」ではなく「システムが作れる」
しかしそれでは不十分だと思う

システムとは「ユーザーが明確で、それが存在することで確かに価値があるもの」
(これは

なりの解釈の話)
コードと違ってユーザがいる
システムはユーザが行う一連の操作(
ワークフロー)を一部ITで肩代わりするもの
システム開発では企画時点で、ほぼ100%「ワークフローの可視化」を行う
可視化する中で「ITが得意で、システムにやらせる方が良い領域」が見えてくる
ほとんどの場合、可視化する中で「どんなシステムを作るか?」がどんどん変わっていく。
ワークフロー全体に詳しくなる中で、「より良い手段」を何度も発見し直す感じ

システム開発と「ユーザとワークフローに詳しくなる過程」は切っても切り離せないのだ

だから「コードが書ける」だけでは
エンジニアにはなれない
どれだけ小さいプログラム。初めて作るプログラムであっても「システム」を作るべきだ