新規記事の投稿を行うことで、非表示にすることが可能です。
2020年12月29日
独学でエンジニアになる為の勉強法とは?
こんにちは!
jamgamです!今回はこれから独学でプログラミングを目指す方向けにブログを書きました!
【エンジニアとは?webエンジニアとは何が違うの?】
さて、エンジニアってどんな仕事なのか、今の段階で自分の中で説明できますか?
エンジニアって、コードを書く、プログラマー的なお仕事でしょう?
と多くの人は、も思われるかもしれません。
しかし、エンジニアと呼ばれる職種は多様です。
◯フロントエンドエンジニア(Web制作): Webサイトの見た目の部分を実装するエンジニア
◯サーバーサイドエンジニア: データベースと画面の処理をつなげるコードを書くエンジニア
◯インフラエンジニア: Webアプリが動作する環境を整備するエンジニア。いわゆるコードはあまり書かない
◯テストエンジニア: 作ったアプリをテストするエンジニア。ほとんどコードは書かない。
◯ITコンサル(導入):顧客に導入するシステムを顧客と話しながら要件定義をするようなエンジニア。
◯ITコンサル(保守):顧客に導入した後のシステムをメンテナンスするエンジニア
他にもさまざまなエンジニアの職種があります。
みなさんがイメージし転職したいと思われていた「コードを書くエンジニア」というのは
フロントエンドエンジニア(Web制作系)
サーバーサイドエンジニア
のどちらかでしょう。ですが、上記全て立派な「エンジニア」の職種です。
【エンジニアになれる条件とは?勉強は独学だけで大丈夫?】
未経験でエンジニアになるための条件は、主に二つです。
◯ソフトスキル:自分で課題を解決できるようなスキル。
◯プログラミングスキル:独学で最低限オリジナルアプリを開発できるようなスキル
一般的な採用と一緒で、エンジニアといえども、技術ではなく、志向性なども聞かれることが多いです
一方で、プログラミングスキルもある程度必要となります。
プログラミングは基本的に独学力をものすごく求められ、自分の力である程度進む力があるかどうかをかなり求められます。
なので、それを証明できるオリジナルアプリが創れるというスキルは非常に重要です。
【エンジニアの種類は?ITエンジニアって何?】
itエンジニアという言葉が使われることもありますが、エンジニアの種類をざっくりと分けると、以下の二つに分けられます。
◯Web制作系エンジニア:WordPressなどの、HP制作を行うエンジニア
◯サーバーサイドエンジニア:Ruby、PHP、JavaScriptなどの言語を利用して、Webアプリケーションを開発するエンジニア
それぞれ得意とすることや、開発する物が異なるのでこれから解説していきます。
【エンジニアに独学でなるために必要なスキル・知識:web系エンジニア】
エンジニアの種類@:web制作系エンジニア(フロントエンドエンジニア)
Web制作系エンジニアは、扱う言語もフロントエンド系がメインになるため、サーバーサイド系のエンジニアに比較すると難易度は低いといえます。
また、Web制作系の案件は、クラウドソーシングにも多く募集があるため、副業としてる人も多いです。
Web制作系エンジニアに必要とされる言語は、フロントエンド言語(HTML、CSS、JavaScriptなど)でのWeb制作業務がメインです。
WordPressは、サイバーサイド言語PHPで構築されたWebサイトの管理用システムで、フロントエンドエンジニアでもWordPressも使いこなせるようになる必要があるでしょう。
エンジニアの種類A:サーバーサイドエンジニア
サーバーサイドのエンジニアはその名の通りサーバーサイドの担当をするエンジニアのことです。
データの保存・呼び出しを行ったり、ログインしていない人が不正にアクセスできないようにしたりする仕組みをRubyやPHPといった言語で構築します。
サーバーサイド言語の知識に加えて、フロントエンド言語、フレームワーク(Ruby on Rails、Laravel)、SQLなどのデータベースなどの知識が必要です。
エラー処理など、開発を一人で行える独走力も大切ですが、独学で離脱率が高いのもここの学習フェーズです。
そのためサーバーサイドエンジニアになる難易度はかなり「高」と言えます。
【エンジニアに独学でなるための学習ステップ、勉強方法】
エンジニアになるために必要なプログラミングスキルを身に着けるためには、どうすればいいでしょうか。結論から言うと、以下の段階にそって学習を進めていけばよいです。
STAGE1:プログラミングの基礎が理解できている
STAGE2:クローンアプリを開発できる
STAGE3:オリジナルアプリを開発できる
STAGE4:集団開発ができる
STAGE1: プログラミングの基礎が理解できている
プログラミングの基礎です。いわゆる各言語の文法ですね。
STAGE2: クローンアプリを開発できる
基礎を利用して、実際にアプリ開発のチュートリアルをやってみるのがよいと思います。
STAGE3: オリジナルアプリを開発できる
Rubyなどでクローンアプリを何個か作っているとアプリの作り方がわかるので、組み合わせてオリジナルのアプリを開発してみるのがよいです。
STAGE4:集団開発ができる
基本的にWebサービスは、一人で全部開発することはありません。
チームメンバーと一緒に開発するので、チームで開発するための作法を学ぶ必要があります。