概要
この記事の内容はエンジニア教育のプロでもあり、
現役のCTOの方から教わった内容です。(ここのメンターの方からです。)
後自分の実体験をベースに解説していきます。
プログラミング学習が遅い人の特徴
プログラミング学習が遅い人は1つのことを学んだら1つのことしか考えない人です。
例えば
railsの学習でコントローラーを学んだ。へーそうなんだで終わってしまう。
コントローラーがrailsでどのような役割をしているか考えられていない人です。
これだと点と点がつながらずポートフォリオ作成でも共同開発でも
今自分が何をやっているのかがわからなくなってしまいます。
これだとかなり効率が悪いです。
プログラミング学習が速い人の特徴
反対に
プログラミング学習が速い人は1つのことを学んだら
いろいろ考えを連想させて知識と知識などを繋げることがができる人です。
例えば
プログラミングは暗記は必要ないと言われたら
「暗記必要ないんだ。なんで必要ないの? 何が必要なんだ? 具体的に何をすればいいんだ?」
みたいな感じです。
こんな感じで疑問を持って、色々知識を繋げていくことができる人です。
実際に学習当時メンターの方から指摘されたことです。
やらないことを決める
プログラミング学習で時間がかかってしまう人の特徴として、
やらなくてもいいことに時間を使ってしまうのは、よくあるパターンです。
現役の方なら先輩に、未経験の方は、メンター(結果を出している現役エンジニア)にレビューをもらってください。
この動画も参考にしてください‼︎
自分はどう対策をした?
-
自分はQiitaやZennなどでドキュメントを書いてアウトプットしていきました。
頭で考えていることややりたいことを文字にしてみる(言語化)
と理解が上がります。 -
何か作ってアウトプットする
自分は共同開発やOJTプランなどを使ってアウトプットして実際にどう使われるのかを体で覚えるようにしました。
本物の実務案件で経験を積めますし、職務経歴書に書けます。僕もここを利用しました。
自分は受講していないですが、評判はいいみたいです。
こちらの方も共同開発について言及されています。
プログラミングを身につけるにはアウトプットがいい
こちらのブログを書かれている方が言及されてましたが、
CRUD処理と認証機能などを実際に自力で作れば、実務でも何をやっているのかわからなく
なる現象はなくなります。
実際に共同開発を経験してから実務案件に入ったのである程度は実装することはできました。
共同開発が難しい場合はCRUD処理と認証機能を使ったToDOアプリがいいみたいです。
実際自分も共同開発でCRUDと認証機能を実装してから見違えるほど成長しました。
最後に
プログラミング学習が遅い人の特徴のままだと言われたことしかできない人になってしまいます。
エンジニアの仕事で求められるのは決まっていないことを決めていくことだったりします。
タスクをロボットみたいに捌くのではなく、このタスクの意図、役割は何だ?と考えていかなければいけませんし、タスクを作った人が間違える場合もあります。
プログラミング学習が速い人の特徴になるには頭の良さではなく
普段からの習慣です。普段からトレーニングをしていきましょう。
以前自分が教わっていたCTOの方からは「自問自答すること」と教わりました。
ex)
この記事有益だけど、バージョン古いのかな? 誰が書いた?
動いたけどこの動作は適切かな? この機能よりもっといい方法あるんじゃないかな?
など