働く方のための学習ブログ

無駄をなくして、時間を増やし、役に立つ知識を紹介します

プログラミングは流行りじゃなくて目的で選ぶ。初心者がやってはいけないと学習方法

プログラミングって色々ありすぎてよくわからない
どれから始めればいいの?

システムエンジニアの私が
プログラミングを
どのように学習していくべきかを紹介します

 

プログラミング学習の失敗

私は自分の業務に合わせて学習をしてしまい
自分が作りたいものを作らずに
会社に合わせていました
これが最大の失敗です

なので業務が変わるたびに
新しい言語を覚えていました

新しい言語を覚えても
書き方はほとんど変わりません

なので毎回基礎からテキストで学習したため
応用力がつかなくなりました

これが大きな失敗です

学習するならこれがベスト

プログラミングを学習するなら
一つの言語だけを突き詰めて
そのほかの業務で使う言語は
書き方だけ覚えておく

例えば
Python
Qita(コードが載ってるサイト)のコードを
写経(コードを見ながら打ち込む)して
簡単なシステムをつくり
業務で使う言語は
書き方だけをその都度調べる

この学習の方法なら
Pythonでいろんなものを作っているので
応用がきいて、業務で使うときは
業務で使っている言語になおすだけで
自分のスキルも上がって業務でも応用がききます

なので

始めは一つの言語で作り続け
業務で言語が変わるなら
書き方をその都度しらべる
これが一番良い学習方法だと思います

zakkuri-gakusyu-blog.hatenablog.com

サーバー側は学ばない

インフラの仕事をしていると
サーバー・docker・VMAWS
などの学習が必要になります

サーバーの構築はシステムによって
ほとんど違うので
学んでもあまり生きなかったです

その都度システムの概要を覚えて
後は先ほど説明した言語の学習をした方がいいです

サーバーの学習は
はっきり言って無駄でした

サーバー側は教えてくれる人が必須

サーバー側はlinuxを使うことが多く
コマンド検索すればだいたい出てきます

しかし
linuxは画面がないので
内部がどうなっているか
ほとんどわかりません

プログラミング初心者は
何が入ってて、何がないかとか
何がエラーなのかが全く分かりません

英語なので理解に時間がかかるし
バージョンが違うと動かないなんて
当り前にあります

なので

サーバー側を学ぶときは
必ず教えてくれる(メンター)をつけましょう

私は一人で解決するタイプだったのですが
サーバー側は本当に難しく死ぬほど時間がかかりました

結局使わなかったサーバーの知識

業務でサーバーの変更(リプレイス)があるからに
サーバーとdockerとVMについて学べ

といわれたので
一人で黙々と学習しましたが

案件が炎上(順調に進まない・資料が少なくて迷走状態)したから
サーバー変更は他の人たちに投げつけた

結局私はそれに携わることなく
時間だけ無駄にしました

この時間も教えてくれる人がいれば
もっと短く収まったでしょう

ちなみに
この上司は育成力0!
難しい言葉を使ってかっこつけて
難しい言葉が説明できない
典型的な説明力がないタイプでしたので
この上司は見切ってました

まとめ

私の経験から言えるのは

一つの言語を突き詰めて
様々なものを作り
業務で他の言語を使うなら
書き方だけ覚える
そしてサーバー学ばない

初心者はこれが一番いいと思います

もちろんサーバーを学ぶときも来ると思います

しかし
システムによって作りが違うので
その都度学べばいいと思います

私の上司は業務で使っていないのに

dockerはこれから流行るから

という理由で学ばされました

時代を先どった気になっている人の
存在していない流行を学ぶのは無駄です

自分が作りたいもの・自分がしたいこと
つまり
目的を決めて目的に合った言語を
突き詰めていくのが良いと思います

私はSEの期間が短いのですが
初心者はの目線にたって書いてみました

参考になれば幸いです