弱者のぼやき
先日、以下の記事を読みました。
(https://newspicks.com/news/14051345/body/?ref=user_302522)
今の自分に足りないことがうまく言語化されていたので、感想をつらつら書いていきます。
課題設定力
優秀な人と自分の差は正にこれだなという感じです。。😱
課題解決力は、経験である程度は培っていけるはずです。(当然、日々のキャッチアップも重要です)
一方、課題設定力は、日頃から意識していないと鍛えられなさそうです。
創造性?考え方?的な話になってくるので、関連ドキュメントやベストプラクティスを熟知していることとは別の話です。
課題解決力だけを磨き続けても、局所最適的な観点で課題解決方法を考えがちになりそうな気がしました。
私の中での優秀なエンジニア像は「全体最適」を考えられるエンジニアなので、課題解決力だけでなく、課題設定力も本当に大事だなーと感じました。
今思えば、インフラからバックエンド、フロントとフルスタック寄りに学習しているのは、分野にとらわれず、システムの「全体最適」を考えられるエンジニアになりたいからだったように思えます。
(まだまだ、全体のぜ文字もない弱者ですが、、。😓)
この記事を通して、「全体最適」を考えるにはフルスタックの知見があればよいという今までの考え方が覆りました。
表層的な学習
日頃、自己学習を進めていく中で効率の悪さを感じていました。
技術本を読んだり、ハンズオンをやると、具体的な実装方法や細かい仕様などを理解しようと注目してしまいがちな自分ですが、これこそが表層的な学習なのだなと痛感しました。😱
どういう背景や歴史、意図で技術が開発されたのか。
どのような仕組みを使って実現しているのか。
その技術は何ができるのか。
上記3つをまずはしっかりと理解する。
具体的な実装方法や細かい仕様はその技術を検討する際に、ドキュメントなどを見て確認すればいいです。(もちろん、自己学習時にそこまで手が伸ばせれば一番良いです。)
大事なのは、課題を設定したときに、解決の選択肢をどれだけ持てるか(課題解決力)です。
上記3つを押さえておけば、解決の選択肢として、該当技術をピックアップできるようになれると思います。技術的なキャッチアップについては、そこを第1ゴールに考えて学んでいきたいと思いました。
Discussion