未経験からエンジニアを目指す方へ

駆け出しエンジニア

最近、Twitterを見ていると副業でプログラミングで稼ぎたい!という方やエンジニアになりたい!という方を多く見るようになりました。しかし、とりあえず最初はHTML,CSS,Javascriptをやったけどここから何すりゃええねん!!という声も多くあります。

今回の記事ではHTML,CSS,Javascriptを学んだ後に何をすればいいのかに焦点を当てて、解説していきます。

簡単に自己紹介させていただくと、私は大学卒業後、エンジニアとして自社サービスの開発・運用をしています。後ほど解説しますが、エンジニアの種類で言うとインフラエンジニアとバックエンドエンジニアの掛け持ちといったところでしょうか。フルスタックエンジニアとも言えます(微妙だけど)。

どんなエンジニアがあるのか

エンジニアとはいえ山ほど種類があります。一つのシステムが出来上がるのに様々な工程があるからです。どのエンジニアになりたいのかはすぐに決めなくても大丈夫です。ただどのようなエンジニアがあるかは知っておいた方がいいでしょう。そして目指すエンジニアによって今何をすべきかも変わってきます。独学で勉強した方がいいのか、資格を取ったほうがいいのか、今すぐ就活した方がいいのか。これらも合わせて説明します。

さてエンジニアの種類ですが他サイトでは15種類とか書いてあって多すぎるのでざっくり4種類に分けちゃいます。経験者の方は回れ右でお願いします笑

  • フロントエンドエンジニア
  • バックエンドエンジニア(サーバーサイドエンジニア)
  • アプリケーションエンジニア
  • インフラエンジニア

フロントエンドエンジニア

フロントエンドエンジニアとは

フロントエンドエンジニアは主にHTML、CSS、Javascriptなどを使って画面上に見えるものを作るエンジニアです。一番イメージしやすく、参考記事も一番多いと思います。デザインが好きな方におすすめです。副業で未経験から始めやすいエンジニア部門ですが最近人口が増えてきたので、自分なりの価値を持ち合わせていないと案件受注も難しくなってきています。

また、副業ではなく企業勤めを目指すのであればフレームワークと呼ばれるものを一つ使えるようになっておくといいです。JavascriptであればVue.jsやNode.js、PHPであればLaravel、RubyであればRuby on Railsなどです。これらはバックエンドも含むので難易度は一気に上がりますが、できると評価はとても上がると思います。

フロントエンドエンジニアを目指す場合やるべきこと

フロントエンドエンジニアを目指す場合、副業であれ就職するにしてもデザインを整えたポートフォリオを作る必要があります。先ほども言いましたが人口が増えてきているので、仕事を任せようと思われるには他の方より良いものを作る必要があります。

簡単な流れとしては以下です。

  1. サーバを契約する
  2. サーバにワードプレスをインストールする
  3. ワードプレスでポートフォリオを作成する
  4. ポートフォリオを使って案件受注 or 就活

サーバ上にワードプレスを置きネットに公開する方法を載せましたが、GitHub Pagesを使えば無料でネットにWebページを公開することもできます。詳しくは別の記事で書きます。

おすすめの資格

  • ITパスポート

ITパスポートは全てのエンジニアが最低限知っておきたい知識を学べる資格です。参考書で勉強してから以下の過去問道場というサイトをやるのがおすすめですが、目的を資格取得だけにするのであれば最初から過去問道場をひたすらやり続けるだけで簡単に合格できると思います。過去問と全く同じ問題が結構出てきます。

バックエンドエンジニア(サーバーサイドエンジニア)

バックエンドエンジニアとは

バックエンドエンジニアはサーバサイドエンジニアとも言われ、サーバ内で行われる目に見えない処理を開発・運用するエンジニアです。ワードプレスで言うとPHPがそれに当てはまります。どう動いているのか見えない処理なので想像しにくいですが処理内容としては簡単に言うと

  • 問い合わせのメール送信処理(問い合わせを受けて自分にメール送信されるまで)
  • Amazonの購入処理(購入ボタンが押されて決済を行う処理)
  • PVの計算(何回URLがクリックされたかの計算)

などで少し難しく言うと

  • データベースから値を取り出す
  • 計算する(さっきの例で言うと購入金額の合計など)
  • データベースに値を格納する

データベースについては別の記事で解説しますが、いつかまた使いたい値を入れておくシステムと思っていただければと思います。

バックエンドエンジニアを目指す場合やるべきこと

バックエンドエンジニアになるには言語を一つ決めてオンライン学習サイトなどで勉強するのが良いと思います。候補としてはPHP、Ruby、Pythonあたりが主流です。Javaも有名で、銀行システムや行政機関の管理システムなどに使われていますが個人的には少し難易度が高いイメージです。

また未経験からバックエンドエンジニアを副業でやることはとても難しいです。そのため、就職をおすすめします。ポートフォリオはワードプレスではなくGitHubを使ってコード(ソースコード)を公開するのがいいと思います。GitHubは業務でも使われる「コードを保存・公開できるもの」です。公開する場合はパスワードなどがコードに書かれてないか十分注意してください。

おすすめの資格

  • 基本情報技術者試験
  • 応用情報技術者試験

バックエンドはITの知識を多く必要とするので上記の国家資格を取っておくといいです。どちらも午前試験と午後試験で分かれていて午後試験が結構難しいです。勉強方法は参考書一冊買うのと過去問道場をひたすらやるに限ります。午前試験はほとんど過去問から出るので暗記ゲーにしてもいけます笑 以下おすすめの本です。

アプリケーションエンジニア

アプリケーションエンジニアとは

アプリケーションエンジニアはバックエンドエンジニアと同じ括りにされる場合もあります。例えばTwitterはWebアプリケーションですが、webのバックエンド処理があるのでバックエンドエンジニアとも言えます。ただし違う場合もあり、例えばスマホアプリなどです。スマホアプリはweb系よりも結構異なる仕様になったり、言語も結構違ったりするので一概にバックエンドエンジニアとアプリケーションエンジニアを一緒にするのは難しいです。

言語はAndroidで使われるアプリではJavaやKotlinが多く、iPhoneなどのIOSアプリではObjective-CやSwiftが使われることが多いです。

アプリケーションエンジニアを目指す場合やるべきこと

アプリケーションエンジニアになるにはやはり実際に自分でアプリを作ってみるのがいいでしょう。これもGitHubを使ってコードを公開することで就活は有利になります。ただし、未経験からだと少し難易度が高く時間がかかるかもしれません。オンラインサイトで学びながら作るのがいいと思います。

また、iPhoneアプリをつくるにはmacが必要であるという点です。持ってない方はmacを買わねば、、、

おすすめの資格

  • 基本情報技術者試験
  • 応用情報技術者試験

バックエンドエンジニアと同じでこれらの国家資格を持っているといいと思います。

インフラエンジニア

インフラエンジニアとは

インフラエンジニアとは簡単に言うとサーバやネットワークの保守、運用をするエンジニアです。他のエンジニアと違いコーディング(プログラミング)する機会はあまりないです。その代わり、サーバやネットワークなどの仕組みがめちゃくちゃわかるようになります。私は最初何もわからずインフラを触ることになったのですが業務をこなすうちに世の中のシステムの仕組みが結構想像つくようになり、さらに開発もスムーズになりました。

インフラエンジニアを目指す場合やるべきこと

インフラエンジニアは未経験の場合、フリーランスだとほぼ不可能です。まずは就職を目指すことになります。ただ、ポートフォリオを作ることもできません。どうすんねん!って感じだと思いますが、資格を取って他の方と差をつけるのがいいと思います。私の知り合いは未経験で就職して400万くらい稼いでいますが、ポートフォリオも何も作ってなかったそうです。

おすすめの資格

  • 基本情報技術者試験
  • AWS クラウドプラクティショナー
  • LPICかLinuc

AWS クラウドプラクティショナーはAWSと呼ばれるクラウドサービスの一番簡単な資格です。超絶簡略して言うとAmazonが提供するサーバみたいな感じです。最近はサーバ関係はAWSを使うことが多く、この資格の需要も高まっています。が、暗記ゲーで取得できます。私は参考書一つ買ってあとは公式の過去問を一回やったら取得できました。

LPICやLinucはOSの一種であるLinuxの資格です。どっちも同じような資格なので好きな方でいいと思います。サーバのOSはWindowsやMacを使われることはほぼなく、Linuxが使われます。そのLinuxで使われるコマンドを暗記する資格です。これもまた暗記ゲーで取得できます。私はLinucを取得していますが、公式サイトの一問一答(1ヶ月2000円くらい)を何周かやるだけで取れました(未経験時代)。

難易度順にすると

AWS クラウドプラクティショナー < Linuc < 基本情報

という感じですかね。

働き方(会社)の種類

就職する場合、エンジニアの種類だけでなく、働き方も考える必要があります。分けると主に3つです。

  • 自社サービス
  • SES(派遣エンジニア)
  • 受託

自社サービスとはその名の通り、会社内で扱っているサービスの開発、運用をします。例えばメルカリに入ってメルカリの開発をするみたいな感じですね。運用まで学べるのは結構いい経験になります。

SESは他の会社に行って開発のお手伝いをするイメージです。案件ガチャとも言われていて、自分のやりたくないような案件に飛ばされることもありますが、逆に言えばいろいろな現場に行ってさまざまな経験を積むことができます。

受託は他の会社に頼まれた案件を受けて納品する仕事です。SESと違って他会社に行く必要はなく自社内で開発をします。

副業でも就職でもポートフォリオは必要

副業で活動するにしろ、就職するにしろポートフォリオは必要です。今では多くの人たちがプログラミングで稼ぎたいと言って進出してきています。案件を頼む側、面接する側の人たちはその多くの人たちの中から本当にやる気のある人を見抜かなくてはなりません。言葉だけでは何とでも言えるので、正直差がつきません。そこでポートフォリオの出番です。ポートフォリオは自分のスキルの紹介だけでなく、かけた時間や熱意を伝えることができます。経験が少なくても行動力やポテンシャルを評価されることで採用の確率は大幅に上がります。

副業か就職か?

エンジニアは未経験からでも努力すれば誰でもなることができます。私も会社に入る前まではPCの触り方もおぼつかない全く戦力にならないポンコツでした。ただ実際に会社に入ると技術を仕事を通して学ぶことができ、AWSなどの有料サービスも会社のお金で勉強することができました。もちろんフリーランスや副業でもできるとは思いますが、できることは限られてきます。

未経験で副業をお奨めできるのはホームページ制作やLP制作です。これらはワードプレスやペライチなどいわゆるノーコードツールでも高いクオリティのもの作れます。ただし、ECサイト以上のものを作る場合は就職して勉強するのがお奨めです。一人ではサーバ周りやセキュリティの知識はつきにくいからです。高機能なサイトには一定以上の知識を必要とし、複雑な作りになります。実際の現場でそれらを教えてもらい、体感することで一気に成長することができます。企業に属して勉強してから独立するのも一つの手でしょう。