エンジニアに転職したいけど何をどうやって勉強すればいいんだろう?今現在プログラミングスクールに通っているけど学ぶこと多すぎて何をしたらいいかわからないな。
こういった方の疑問に答えます。
本記事の内容は
- 未経験者が陥るプログラミング学習のアンチパターンについて
- 初心者がやるべきこと
実は僕も社会人になる前にプログラミングの勉強は少ししていましたが全く身にならなかった経験があります。
エンジニア歴6年弱で、リードエンジニアも経験しましたし、今はブロックチェーン企業に転職して仮想通貨をスマホアプリで管理できるサービスを作っています。
社会人になってからプログラミングを学び始めてエンジニアになった僕がこれまでの経験を正直に書くのでプログラミングを学んでいる人の参考になればと思います。
この記事でWEB系企業で必要となるプログラミングについて話します。
未経験者が陥るプログラミング学習のアンチパターン
手当たり次第いろんな言語に手を出す
何を学べばいいか分からないからこそだと思いますが、初心者ほどいろんな言語に手を出してしまっていると思います。
プログラミングは範囲が広く、深めようと思えばいくらでも勉強できるので、かなりの時間泥棒です。
すでに社会人でこれから学ぼうと思っている人は何を学ばないかを決めるのは必須です。そのためにもエンジニアにどういった種類があり、何を学ばないといけないかしっかり把握しておいてください。
エンジニアもサーバエンジニア、フロントエンジニア、ゲームエンジニアと様々なので職種別に要点をまとめた下の記事を参考にしてください。
>>ITエンジニア|プログラマの職種別で学ぶべきことと必要なスキル
買った本を読むだけ、写経するだけ
とりあえず本を買って読むだけの人が多いですね。手を動かしてアウトプットしないと身につかないのでどんどんコードを書きましょう。
本のサンプルコードを真似するところから始めて、そのサンプルコードを自分流にアレンジできるようになると理解度が一気に上がります。
最初は本じゃなくても無料で質の高い学習サイトはたくさんあるのでそこから始めるのがいいとおもいます。
下に無料で学べる学習をサイトをまとめたので読んでみてください。
>>プログラミング初心者が独学かつ無料で学べるおすすめサイト
コードを暗記しようとする
小学校の漢字ドリルみたいに何度も書いてコードの書き方を暗記する必要は全くありません。
6年近くエンジニアしている自分でもfor文の書き方調べます。だって、プログラミング言語によって書き方が全然違って覚えてられないですもん。
それよりもドキュメントを読んで理解できる力の方が重要です。これできるとどの言語もすぐに使えるようになります。
よく1つのプログラミング言語を習得したら他の言語もすぐ使えるようになるというのはこういうことです。
深くまで完璧に理解しようとする
最初は原理とかオブジェクト指向とかポリモーフィズムとか難しいことを深く理解する必要ないです。
理解すべきは、自分の書いたコードがどんな順番で処理されているか理解でき、さらにそれが意図した結果になるかが大事です。
これを何度も繰り返してどう動くか把握できたら深く学べばいいと思います。
動作もさせてないし、どう動くかも分からない物を深く学ぼうとしても効率が悪いだけなので気をつけて下さい。
初心者がやるべきこと
アンチパターンをつらつらと書いてきたわけですが、初心者がすべきことも書いておきます。
なぜエンジニアになるか考える
給料、自由な勤務体系、サービス作りなどありますが最初にここをはっきりさせとくといいですね。
サービスを作りたいのに自社サービスがない会社に入ってしまったり、自由な勤務体系だと思ったら客先常駐で予想で全然違ったなどたくさんあります。
あと趣味プログラミングは全く稼げないのでやるなら全力でやらないと高級取りには慣れないですね。人材が足りないと言うのはできる人材が足りないという意味なのであまり期待しないように。
とりあえず学習を始めない。効率化する方法を考える
学生ならいいですが、すでに社会人の方がこれからプログラミングを習得するには勉強方法もしっかり考えて下さい。
下の記事に最速でエンジニアになる方法をまとめたのでぜひ読んで下さい。
エンジニア市場を理解する
今のエンジニア市場でどういったプログラミング言語、スキルが求められているか把握することが非常に重要です。
C言語とかCOBOLとか学んでもほぼ意味ないです。やるならRuby、Golang、PHP(また使われ始めてる)、Java、Pythonなどでしょうね。
Golangはここ数年でかなり注目度が上がってきていて、言語の流行り廃りはこのスパンで変わっていきます。Golangの前はNode.jsだったんですが今は日本だとそんなに使われてないですね。
エンジニアの職種別の単価も把握しとくといいと思います。2018年現時点では機械学習AIエンジニア、ブロックチェーンエンジニアの需要が高まっているので単価が高かったりします。
これも数年で変わると思うので、その時々でキャッチアップしましょう。
まとめ
何はともあれ、とりあえず手を動かしてどんどん学んで下さい。色々遠回りも、無駄なこともするでしょうがそうやって効率化されていくと思います。
ここに書かれたことを守れるとより効率化できると思うのでプログラミング学習を頑張って下さい。
髙妻智一
最新記事 by 髙妻智一 (全て見る)
- Polkadot(Substrate)のアドレスとトランザクションについて - 2023-03-09
- 【無料公開】「Goで始めるBitcoin」3章 Bitcoinノードとの通信 技術書典8 - 2020-03-08
- エンジニアがゼロから技術ブログを書くための方法をまとめました - 2019-05-25
コメントを残す