エンジニアが自己学習をする上で大事なこと
こんばんは。さっとんです。
皆さん自己学習をしていますか?
僕も今まで自己学習をしてきました。
その経験論に基づいて話をしていきたいと思います。
自己学習で何が必要か?
結論、何を作るか先に決めることです。
知識や技術等関係なしに作るものを先に決めておくことが大事です。
僕自身、「覚えてからやる」スタイルを何年もやってきました。
そのため「資格取得」に今まで力を入れてきました。
しかし、実際にはWindowsServer系の資格を取得しておりますが、使わないのでほぼ覚えていないということが実情です。
このように「覚えてからやる」スタイルは身につかないです。
この経験論を踏まえた結果、下記のスタイルが一番覚えると実感しております。
「作りながら覚える」
過去にZabbix環境構築をクラウドで実施したことがあります。
実際にやることで「監視の知識」や「Zabbixの知識」を身に着けることができました。
ゲームをやるときに説明書読み込んでからやらないですよね?
やりながら操作方法を覚えますよね?
そういうことだと思います。
覚えてから作るのではなく、作りながら覚えましょう。
自己学習の手順
こちらの手順を経ると技術習得がしやすいです。
1.何を作るか決める
2.必要なものや情報を集める
3.実際に作る
4.アウトプット
1.何を作るか決める
例を挙げるとこのような形になります。
WEBアプリケーション
→メルカリのコピーサイトを作る
インフラ
→OpenStack基盤を構築する。構成図を簡単に作る
「どうやって作ったらいいのかわからない」
「何をすればいいかわからない」
この状態で問題ないです。
先に「何を作るか」を決めることが大事です。
2.必要なものや情報を集める
例を挙げるとこのような形になります。
WEBアプリケーション
・Ruby on Rails
・Ruby
・HTML/CSS
・JavaScript
などなど
インフラ
・Linux(RHEL/CentOS)
・高スペックPC(クラウドも可能)
・ネットワーク構築
などなど
このような形で「何を作るか」を決めると「必要なもの」が出てきます。
そもそも、技術とは「何かを作る」手段です。
3.実際に作る
実際に手を動かして作りましょう。
わからないながらも手を動かすことが大事です。
作る過程でこのようなことに直面すると思います。
「エラーで先に進まない」
「思うように作ることができない」
このときのトラブルシューティングこそ現場で求められていることになります。
僕自身も現場で働いていてトラブルシューティングを実施する機会が少なくはないです。
現在もトラブルシューティング中で苦労しております(笑)
この「うまくいかないこと」を乗り越えてこそ技術力が向上します。
4.アウトプット
作ったものをアウトプットしましょう。
このアウトプットこそ最高のインプットになります。
人に教える場合は自分が理解しておく必要があります。
YouTubeやGitHub等なんでもいいと思います。
作ったものをアウトプットした場合、企業の目に留まるかもしれません。
インプットできるだけでなく、自分という存在をアピールすることが可能です。
まとめ
・自己学習は「作りながら覚える」「アウトプットする」が大事
・ゲームをやる感覚で自己学習がベスト
・トラブルシューティング力がある人は現場で重宝される
・アウトプットは自分という存在をアピールすることができる
ここまで読んで頂き有難うございました。
Twitterとブログもやっておりますので、のぞいてみて下さい。