未経験からエンジニアになるには何から勉強すればいいの?

こんにちは、フリーランスエンジニアのサカイです。

最近はエンジニアという仕事が以前より注目されています。

仕事自体の数が増えましたし、収入も高めですからね。

更に昔からある

  • 負荷が高い
  • 徹夜ばかり
  • 休日出勤も珍しくない
等のイメージが薄くなってきたことも理由になっています。

最近ではメンバーの負荷を管理するプロジェクトも増えてきて、
以前のような負荷の高い仕事は減ってきています。

開発環境も昔に比べたら段違いに整ってきたので、
昔よりハードルが低くなったことは確かです。

じゃあ未経験でも楽勝でできる仕事なのか?

というと、、そこまでは甘くないですね。

僕は30歳未経験でこの世界に入りましたが、まあ苦労しまくりました(笑)

ちなみに僕は文系で、
30歳まではプログラムと全く関係ない営業、配送、清掃の仕事をしていたので、
プログラムのプの字も知りませんでした。

本当によく採用してくれたものです(笑)
採用して下さった社長には、本当に心から感謝しています。

30歳から空っぽの状態で始めましたが、なんだかんだで10年続いていますので、
できないということは全くありません。

さて、未経験からエンジニアになった場合、何から勉強すればいいのでしょうか?

今回は

「未経験から始めて、仕事で通用する実力を身につける」
をゴールとした場合に必要な勉強について、ご紹介したいと思います。

優先順位1:プログラミングの勉強


まずはとにかくプログラミングですね。

エンジニアの仕事につくと、最初はプログラミングの仕事からスタートします。

テスト担当から始まるパターンもありますが、
それは下積みというか研修的な感じなので、
本格的なエンジニアとしての仕事は、プログラミングとなります。

ですので、プログラミングができないことには始まりません。

では、どの言語から勉強すればいいのでしょうか?

もし入社する会社が決まっている、またはもう入社しているのであれば、
「会社で使っているプログラミング言語」を勉強するのが良いです。

でも違うのであれば、あなたの今のレベルや、今後進みたい方向によって
勉強する言語を選ぶと良いです。

以下を参考にしてもらえたらと思います。

【初心者向け】遠回りしないプログラミング勉強法

2018年8月27日

まずは何か1つ、プログラミングを勉強してみましょう。

優先順位2:専門分野の勉強

エンジニアは「何かを作る」ことが仕事です。

何かを作る手段としてプログラミングをマスターすることが重要であるとともに
「作るものに関する理解」もとても重要です。

作るものの知識がないのに、作りようがありませんから。

たとえばエアコンの開発をするなら、
「エアコンがどんな仕組みで動いているのか?」を理解する必要があります。

家電、医療機器、自動車、航空など、
機械を動かすプログラムの開発(組み込み系といいます)をする場合、
機械の仕組みを知る必要があります。

ウェブサイトやSNSの開発をするなら
サイトがどんな構造になっているか知る必要があります。

ゲームなら各ジャンルのゲームがどんな構成になっているか、など、、、

すべてをあげるとキリがなくなりますが、開発をする上では、
自分が開発するものの基礎知識を覚えておく必要があります。

ただ、新人のうちはマニアックなレベルまで
知る必要はありません(もちろん知るにこしたことはありません)。

仕様を決めたり、設計するのは、顧客や上司、先輩の仕事になるでしょうから、
指示を受けて理解できるぐらいの知識を身につけておくと良いでしょう。

実際にどんなことを勉強するか?は現場によって違いますので、
ベテランの方におすすめの本などを聞いてみるといいですね。

またUdemyに関連する講座がある場合は、
効率よく理解度をあげられるので利用することをおススメです。

優先順位3:基本情報技術者試験

僕は「エンジニアにとって資格は必須だ!」とは思っていません。

資格を取らなくてもスキルを上げることはできますし、
収入に影響するわけでも無いからです。

でも「基本情報技術者」の取得はおススメします。

基本情報技術者試験は、
「エンジニアとしての知識・技能が一定以上の水準であること」
を認定してくれる試験です。

プログラミングだけでなく、
ハードウェア、ネットワーク、データベースなど
エンジニアとして必要な一通りの知識が試験内容になっています。

正直、試験の内容全てが実践に役立つわけではありません。

しかし、このぐらいのことは知っておかないと、仕事で苦労します。
会話についていけなかったり、調べるのに時間がかかったり。

エンジニアに必要な知識は広いので、
独学で1つ1つ勉強するのは無理ですし、やれても時間がかかります。
できるとしたら相当自己管理がしっかりしている人ですね。

基本情報技術者は
「必要な内容を整理し、体系立てて用意してくれている」ので、
活用しない手はありません。

資格の必要性を直接的な効果だけで語る人がいますが、それは浅いです。

資格はゴールではなく「知識のベースの作る為に活用するもの」です。

確かに遠回りな面もあります。
でも合格すれば自信になるので、確実に仕事に良い影響をもたらします。

また、すぐには役立たてる場面が無くても、

  • 「なんか試験の時に出ていたな」
  • 「なんか聞いたことある言葉だな」
ぐらいでも薄いベースが入っていた方が新しい仕事にも対応しやすいんです。

僕は「基本情報技術者」「応用情報技術者」を取得していますが、
どちらも取得して良かったと思っています。

単純に自信になりましたし、
新しい情報に出会った時にも対応しやすいです。

スキルを高めるには実践が1番だと思っていますし、
資格の勉強ばかりするのは効率が悪いです。

なので新人のうちに「基本情報技術者だけは取得する」ということを決めて
勉強することをおススメします。

勉強する場合は、すべてをクソ真面目に勉強する必要はありません。

合格に向けた効率重視の勉強でも
知識は身につきますので、過去問の答えを覚える方法をオススメします。

もし、基本情報技術者の問題集を見て
「これは今の自分にはハードルが高い・・・」と思ったら、
1ランク下の「ITパスポート試験」からスタートしましょう。

優先順位4:ロジカルシンキング


最後はロジカルシンキングです。

ロジカルシンキング(logical thinking)とは、
一貫していて筋が通っている考え方、あるいは説明の仕方のことである。
引用元:ウィキペディア

ざっくり言うと「物事を論理的に考える、または説明する方法」です。

エンジニアとして仕事で成果を出している人は、
共通してロジカルシンキングのスキルが高いです。

逆にロジカルシンキングのスキルが低い人は、仕事で結構苦労します。

「プログラム書くのはまあ好きだけど、ロジカルシンキングが苦手」
というエンジニアは多いです。

ロジカルシンキングが身についていないと、、、

  • 話がわかりづらく、コミュニケーションが成立しづらい
  • プログラムが無駄に長くなる
  • 設計書もわかりづらく、無駄に長くなる
といった仕事をするようになります。

ですので、、、

  • 「何を言っているのかわからない」
  • 「書いてあることがよくわからない」
  • 「なぜこんな無駄な書き方をしているの?」
といった指摘を頻繁に受けます。

ロジカルシンキングが身についているかいないかで、
仕事の成果が大きく変わります。

当然、仕事の面白さ、ストレスも変わります。

エンジニアの仕事は、
必ずしもプログラムだけ書ければ良いというわけではなく、
会話したり、文章を書くことが結構多いんです。

ロジカルシンキングはプログラミングと同じくらい、
エンジニアとして重要なスキルです。

なのにプログラミングばかりやっていて、
ロジカルシンキングを軽視しているエンジニアは多いんですよね。
こういう人は仕事で苦労します。もったいないです。

ロジカルシンキングをやっておけば、
まわりのエンジニアより成果を出しやすくなりますので、勉強しておきましょう。

ただいきなり小難しい知識を身につけようと思っても、なかなか実戦には結びつかないものです。

僕は新人の時にこの本を読みましたが、随分役に立った実感があります。

特に「思考の歩幅」という概念をこの本で知れたことは大きな収穫でした。

最初の1冊として、おすすめします。

まとめ

エンジニアの勉強(優先度順)

  1. プログラミング
  2. 専門分野の勉強
  3. 基本情報技術者試験
  4. ロジカルシンキング

この4つを勉強しておけば、ちゃんと仕事で通用する状態になります。

もちろんエンジニアの仕事は覚えることがたくさんありますし、
終わりもないのですが、
この4つをやっておけばエンジニアとしてやっていける自信はつきます。

ただ4つを一度にやる必要はありません。

まずはとにかくプログラミングです!

ひたすらプログラミングをやって、
ある程度の自信がついたら、勉強をする項目を増やしていきましょう。

頑張って下さい!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください