どこから駆け出しエンジニアじゃなくなるのかという問い
「初心者」もしくは「駆け出しエンジニア」といわれる方々は、問題解決の場面でどういったスキルが持っていれば、駆け出しではなくなるのか認知科学っぽく視点で考察してみる。
(chatgptの駆け出しエンジニアイメージ、頭からもやし生えている)
大きなチャンクで処理するスキル
チャンクとは情報の塊のようなものです。複雑なシステム全体の構造を大きなチャンクとして理解することで、各システムの関係性を紐解き効率良く問題解決を行うスキルです。
また、システムに関わらず課題、問題の構造を大きなチャンクとして処理するスキルは持っていると良い思う。
これは単純に「記憶力」の問題でなく、その場におけるシステム構成やネットワークを意味のある構造として記憶できているかが問われる能力のようです。
以下のリンクの記載が分かりやすくまとまっていました。
アドリアン・デ・グルートが行った実験
スキーマの多さ
スキーマとは、知識の構造化された表現を指します。(ちょっと何言ってるか分かりませんよね。)これは、「レストランに行く」というスキーマに対して、メニューを選ぶ、注文する、食事する、支払いという流れが含まれす。新しいレストランに行ったとして、多くの場合は困らないですよね。よく「引き出しの多さ」のような表現されるスキルですね。
簡単な例をあげると、デバッグするというスキーマがあるとすると、エラーメッセージをみる、原因を切り分ける、修正箇所を特定する、などの一連のステップが含まれます。
具体例
初心者の例
新人エンジニアのAさんは、ウェブアプリケーションのパフォーマンスが低下しているという問題に直面しています。Aさんは、データベースクエリが遅いという表面的な症状を見て、クエリの最適化に集中しますが、実際にはバックエンドサーバーの設定ミスが原因であることに気づきません。
専門家の例
ベテランエンジニアのBさんは、同じ問題に直面しています。Bさんは、まずシステム全体のパフォーマンス指標を確認し、データベースクエリが遅いのはバックエンドサーバーの設定ミスによるものだと迅速に特定します。Bさんはすぐに設定を修正し、アプリケーションのパフォーマンスを回復させます。
参考:
Cognitive Load During Problem Solving:Effects on Learning