目次
この記事を読むことで得られるメリット
- 「わからないことがわからない」状態を自己認識できるようになる
- 効果的な質問の仕方と知識のギャップを埋める方法を習得できる
- チーム内でのコミュニケーションが改善される
- 技術的な成長を加速させるマインドセットが身につく
- 先輩エンジニアとして新人をサポートする方法も学べる
この記事を読むのにかかる時間
約10分
「わからないことがわからない」とは何か
「何がわからないのか言語化ができず、質問もできない状態」である。 エンジニアリングの世界では、特に問題解決において重大な障壁となる。なぜなら、自分が何を知らないのかを認識できないため、適切な質問ができず、効果的に学習を進められないからである。
なぜ新人エンジニアに起こりやすいのか
新人エンジニアがこの状態に陥りやすい理由はいくつかある:
- 専門用語や概念の理解不足
- プロダクトやサービスについての理解不足
- プロダクトの課題解決、機能、システムの仕様
- ユースケースや実際にサービスを利用するユーザー
- 全体像を把握できていない
- 質問することへの心理的抵抗(無能に見られたくない)
- 技術スタックの複雑さと広さ
- 経験不足による問題の構造化能力の欠如
自分が「わからないことがわからない」状態かを確認する方法
以下のサインに心当たりがあれば、あなたはこの状態にあるかもしれない:
- タスクの完了に予想以上に時間がかかる
- 同じ説明を受けても理解できない感覚がある
- チームの会話についていけない
- コードレビューでの指摘が多い
- 「なんとなく動いた」と感じることが多い
ちなみに、わからないと思っていることの中には、実はわからなくてもいいことも含まれていたりする。そういうことも含めてわからない状態
具体的な対処法
わからないことを放置しない
どうせわからないし、関係ないし、、、が一番危険である。
逆にわかっていることが本当にわかっているのか確認する
わかっていると思っていることが実はわかってない可能性がある。わかっている前提で話を進めると、より複雑な結果になる可能性がある。
質問の仕方を学ぶ
効果的な質問は、「わからないことがわからない」状態を脱するための鍵である。
- 何を試したのか、どこでつまずいているのかを明確にする
- XY問題を避ける(実際の問題Xではなく、自分が思いついた解決策Yについて質問してしまう)
- 質問する目的、経緯、文脈、解消したい課題、前提知識を添えることで回答する側が適切に回答をしやすくなる
- 自分の理解を言語化してフィードバックを求める
基礎知識の再確認
土台となる知識を固めることで、新しい概念を理解する枠組みができる。
- プログラミング言語の基本構文
- 使用しているフレームワークの公式ドキュメントを読む
- コンピュータサイエンスの基礎概念の復習
- 開発環境やツールの基本的な使い方
先輩のプロジェクトや仕事の進め方を見て学ぶことや、自分に与えられた役割はなんなのかを理解することも重要である。
メンターやチームメイトとの関係構築
サポートネットワークを作ることで、知識のギャップを埋めやすくなる。
- 定期的な1on1ミーティングを設定する
- ペアプログラミングの機会を作る
- コードレビューを学びの場として活用する
- 質問しやすい関係性を構築する
ラバーダック・デバッギング
問題や概念を整理したり、誰かに説明することで、自分の理解度と知識のギャップを明らかにする。
- 誰かに説明する
- ブログ記事やドキュメントを書いてみる
- チーム内で学んだことを共有する機会を持つ
- わかりやすく説明できない部分が理解が足りない部分である
先輩エンジニアができるサポート
「わからないことがわからない」状態の新人をサポートするために、先輩エンジニアができることもある。
- 質問しやすい環境を作る(「バカな質問はない」という文化)
- コンテキストを積極的に共有する
- 技術的な意思決定の背景を説明する
- 定期的なフィードバックを提供する
- 小さな成功体験を用意する