エンジニアにとって新しい技術分野への取り組みは常に求められます。新規プロジェクトにアサインされた時や新しいプログラミング言語を習得する場面など様々です。
できるだけ短期間に速やかに新しい環境での稼働準備を整え、1日も早く継続的アウトプットを出せるような習熟メソッドを身につけることが良いエンジニアの条件として不可欠です。
何から着手するか?
新しく取り組むテーマがすでに明確であれば、どこから取り組んでいいものかまずは最初の手がかりを掴みたいところです。本屋に行ってその分野の書籍を何冊もめくってみてもいいし、Kindleなど電子書籍を検索してタイトルを眺めたり、まえがきなど冒頭の無料で読める部分をめくってみることもすぐにできる有効な一歩となります。特に電子書籍などは、すぐにその書籍が売れるように無料で読める部分にとっつきやすく面白い内容が集められていることが多いように思います。
@KatsuShin の場合は下記の方法で色々な情報にあたってみます。
適切なキーワードによるネット検索
- 〜入門:
- 概念、基礎知識、トレンドなどバックグラウンドとなる全般的な最初の情報収集を行う場合(例: GCP入門、NFT入門、Cloud入門,,,etc.)
- チュートリアル
- 開発環境の構築、最初のコンパイル、buildまでたどり着くことを目的とする場合(言われるがまま実行していけば最短で実践理解できる)
e-learning
- チュートリアルと同様、環境構築や最初のとっかかり、手順習得に有効
Youtube動画検索
- 別のことに取り組みながら音声だけでも片手間で情報収集できる(Youtubeプレミアムであればアプリを閉じてバックグラウド再生で寝ながら学習できる)
書籍
- 本屋でタイトルを眺める、好きなところだけ立ち読みをする
- 内容がすんなり入ってくるまたは興味のマッチングが高ければ購入
電子書籍
- 無料で読める「はじめに」や本書概要は最初のとっかかりとして読みやすく、引き続きチュートリアルなどにもそのまま入っていける
書籍は好きなところ・面白いところ・理解できるところからで良い(書籍と実践を行ったり来たりしよう)
特に書籍などを読むコツとしては最初から最後まで律儀に読了する必要はないということです。理解できる、または興味を持って読み進められる読みたい部分から読むでいいと考えます。
今のあなたの知識レベルによって興味を持って読み進められる場所が違うのです。これからその分野をはじめようという場合には「はじめに」「概要」がすぐ頭に入ってきやすいです。
逆にまだ開発環境の構築もできていない時ににデバッグ方法の効率化や特殊な問題の解決方法についての情報に触れてもあまり響いてきませんが、あとでデバッグを集中的に行うフェーズで実際にその問題にまさに遭遇した時には細部に渡る具体的な解決アプローチについて興味と集中力を持って読み進め理解できるようになるはずです。
何の情報が必要な時はどこに行けば良いか頭の中にindexを作っておこう
また、書籍全部を読破する必要はなく、逆にどこにどんなことが書かれているかおぼろげに記憶に留めて置くことだけでも、実際に業務中に問題にぶちあたった時などにまた書籍に立ち戻る場合に大変役に立ちます。
頭の中にindexだけでも留めておけると良いです。
その後のステップ
1. チュートリアルに取り組んでみる
- 指示通りにステップを完了することでプログラミング開発環境や実行環境の構築や簡単なデバッグ手順の理解まで実践を通して完了できる
- e-learningなども有効
2. 自分で課題を設定して取り組んでみる
- アプリケーション開発であればサンプルのUIについてワイヤフレームを引いてみる
- 動作させてみたい簡単な仕様をドラフトしてみる
- 上記についてサンプルコードやテンプレートを参考にしつつ実装してみる
- 開発環境に含まれているテンプレートをダウンロードして動作させてみる、改造してみる
- 複数のテンプレートから実現したい機能抜き出してマージして1つのUI上で動作させてみる
3. もう一度書籍に戻る
- 自分で設定した課題や実際に業務中に直面した課題を抱えた状態でもう一度書籍に戻ってみることで、以前とは全く違ったレベルの興味や集中力を持って読み込める部分が増えているはず
- 解決したい答えを探すためにページをめくるのは、最初の入門や概要把握とは意識や集中度合いが異なる
- 実践フェーズに入り経験をつんで行くことにより逆引き辞典のような技術書の内容もどんどん頭に入ってくようになる
ここまでの流れを1〜2、3週間で完了できれば、ある程度速やかに新しい技術分野の案件に入っていけるのではないでしょうか。人によってアプローチは様々かと思いますが是非参考にしてみてください。