Webエンジニアに俺はなる!未経験からRuby&Railsエンジニアになる方法まとめ


 

こんにちは。Tomoyuki(@tomoyuki65)です。

Webエンジニアの職業に興味があるけど、「なるにはどうすればいいの?」という人は多いですよね。

私も一度、システムエンジニアからWebエンジニアに転職を試みましたが、残念ながら失敗に終わり、今はなぜかこうしてブログを書いています。(笑)

と言っても諦めたわけじゃないので、コツコツ勉強を続けながらスキルを磨き、最終的にはバリバリWeb開発ができるようになる予定です!

ということで、そんな私がWebエンジニアになる過程で集めた情報をこの記事にまとめながら、Webエンジニアになるための道筋を示します。

※現在は必要な情報が得られ次第、随時更新中です。

 



Webエンジニアとは?

Webエンジニアとは、Webサイトなどで使用するWebアプリケーションを開発する職業です。

例えばFacebookやTwitterなどのSNSや、クックパッドやメルカリといったWebサービスを作る仕事になります。

そんなWebエンジニアの仕事は、主にフロントエンドバックエンド(サーバーサイド)の2つに分かれており、それぞれ仕事内容が異なります。

 

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

フロントエンドエンジニアは、Webサイトの画面など「目に見える部分」の開発を担当し、プログラミング言語は主にHTML、CSS(Saasで書くこともあり)、JavaScript(実際にはjQueryやReactなどのライブラリを使う)を用います。

 

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

バックエンドエンジニア(サーバーサイドエンジニア)は、Webサイトの画面に入力された情報をデータベースに登録するなど、裏側の処理システムの開発を担当します。

プログラミング言語は多種多様で、主にPHP、Ruby、Pythonのいずれかと、それに対応したフレームワークを用いるのが基本です。

加えて、サーバーやデーターベースに関する知識も必要になります。

 

フレームワークとは?

Webアプリケーションを開発する際に、汎用的な機能や基本構造を実装するのに使われるライブラリの集まりです。

開発者はフレームワークに定められた制約に従い、必要な機能や処理を追加するだけでWebアプリケーションを開発できます。

例えばRubyのフレームワークとしては、Ruby on Railsが一般的です。

 

その他

その他、勤務先やプロジェクトにもよりますが、Webサイト公開後の保守(メンテナンス)や、SEO(検索エンジン最適化)など集客のためのマーケティングを担うこともあります。

 

Webエンジニアの将来性は?

Webエンジニアの将来性について気になる人もいると思いますが、IT業界の市場自体が伸びていることや、世界で儲かっている企業はWebやIT関連企業が多いため、これからも将来性は高いです。

特に最近はFinTech(金融)、AI(人工知能)、IoT(モノをインターネットに繋ぐこと)、機械学習、ディープラーニングなどの分野が注目されており、これから需要が高まることが予想されています。

また、Webエンジニアの仕事はリモートワークも可能なため、例えば通勤時間などの無駄を減らして生産性を高めたり、物価が安い海外に住みながら仕事をするなど、今後は働き方改革に繋げられるのが魅力になっていくと思います。

 

Webエンジニアの年収は?

Webエンジニアの平均年収が気になる人もいると思いますが、IT・Web業界に特化した求人サイト「Find job」が算出した結果では456万円となっています。

そして内訳をみると、全体の38%が400〜499万円に分布されています。

 

また、求人検索エンジン「スタンバイ」調べのプログラミング言語別の年収中央値は上表の通りで、言語によっても年収が変わるのが特徴です。

 



Web業界とSIer業界の違い

Webエンジニアといっても、IT業界はWeb業界SIer業界に大きく二分されています。

よくIT企業はブラックだと言われますが、そのほとんどは「SIer業界」の話であり、この二つの業界の違いを知らないと就職や転職で失敗するので注意しましょう。

 

SIer業界とは?

SIer(エスアイアー)とは、System Integrator(システムインテグレーター)の略です。

業務内容は外部からシステムの企画、構築、運用サポートなどを請け負う仕事で、主に受託開発や客先常駐でシステム開発をしている企業を指します。

例えば銀行などがシステムを構築する際には、SIerに仕事を依頼して代わりにシステムを構築してもらいます。

 

構造的には上図のようになっており、基本的に仕事を得た(一次請けした)会社は下請けに仕事を投げ、投げられた二次請けは三次請けに・・というように大きなチームが会社をまたいで開発します。

一次請けはNTTデータ、IBM、日立といった一度は名前を聞いたことがある会社ばかりであり、そんな一次請けではプログラミングはしないため、開発の仕事をするなら二次請け以降となります。

 

Web業界とは?

それに対してWeb業界とは、自分たちの会社でWebサービスを作って収益を出している業界で、例えば海外だとFacebookやTwitter、日本だとクックパッドやメルカリのような企業です。

SIer業界はシステム構築する費用で収益を上げますが、Web業界はWebサービスを利用するお客さんから利用料をもらって収益を上げているという違いがあります。

また自社に開発者がいることで、新しい機能の実装やバグが起こっても素早く対応できます。

※自社の社員が開発するのが基本ですが、リソースが足りない場合はフリーランスに仕事を投げることもあります。

 

SIer業界ではなくWeb業界に行くべき理由

ということで、二つの業界の違いを説明しましたが、結論としてWebエンジニアとして働くなら絶対にWeb業界に行け!とうことです。

その理由として、SIerには次のようなデメリットがあるからです。

  •  納期が厳しく、激務になりやすい
  •  下請けの下位に行くほど給料が安い
  •  基本は客先常駐で、簡単に言うと派遣
  •  プロジェクトの参画には「面談」という闇
  •  古臭い会社が多く、モダンな環境で働けない
  •  スキルが身につくかは案件次第なので運が必要

 

私もSIer業界でシステムエンジニアをしていましたが、残念ながらSIer業界は今の時代に合わないので、だんだん淘汰されていくと思います。

これからWebエンジニアとして働きたい人は、死んでもWeb業界に行くべきです!

例えばもし私の知り合いがSIerに就職しても、早く転職した方がいいと勧めますし、私自身も今後SIer業界で働く気は一切ありません。

 

 

Webエンジニアを目指す前に知っておきたいこと

例えば今は学生でこれからWebエンジニアを目指す人や、SIer業界で働いていてWeb業界に転職したいと考えている人もいますよね。

でもやはりどんな仕事も向き不向きがあるので、とりあえずチャレンジしてみることは大事ですが、向いていない場合はサクッと辞めて違うものを探しましょう。

私の場合は運が良く、現場でコードを書く仕事が多かったので、プログラミングは夢中になれる好きな仕事だと気づくことができました。

また、自己理解が不足していて自分の資質がわからない場合は、ストレングスファインダーをやっておくのがおすすめです。

ストレングスファインダーで自己理解を深めれば、自分に合った仕事環境を探す際や、就職や転職活動で自己アピールする際に役立ちます。

そして、さらにもっと自己理解を深めたいなら、やぎペー(@yagijimpei)さんが発信している情報が役に立つので、興味がある人はぜひチェックしてみて下さい。

 

 



Webエンジニアになるには?

ここまででWebエンジニアやIT業界についての理解が深まったと思いますが、実際にWebエンジニアになるには次の手順が必要です。

  1.  ノートPCを手に入れる
  2.  プログラミングスキルを身につける
  3.  ポートフォリオを作る
  4.  就職・転職活動をする

 

ノートPCを手に入れる

Webエンジニアになるにはプログラミングに関する勉強が必要ですが、そのためにはパソコンが必要です。もし持っていなければ、まずはノートPCを購入しましょう。

具体的にどんなノートPCを購入すればいいか悩む人もいると思いますが、Web業界では主にMacbookを使うことが多いため、予算に応じて13インチ以上のMacbook AirやMacbook Proを購入するのがおすすめです。

尚、今はAmazonとMacが業務提携しているため、AmazonでMacBookを購入することも可能です。

 

MacBook Air

\ Amazonで価格をチェック /

MacBook Pro 13

\ Amazonで価格をチェック /

MacBook Pro 15

\ Amazonで価格をチェック /

 

プログラミングスキルを身につける

次にプログラミングスキルを身につける必要があります。

今はインターネットでググれば様々な情報が得られたり、ブラウザだけで学べる学習サービスもあるため、多くのことを独学で学ぶことも可能です。

独学が向いていない人や、知識がある人に質問などをしながら学びたい場合は、有料ですがプログラミングスクールを利用するのもありです。

ただし、Webエンジニアとして仕事をしていくには、常に自ら進んで学び続けられるような主体性が必要なので、まずは独学で始めてみるのがおすすめです。

尚、最新技術を覚えて活用するのは大事ですが、BtoCのサービスでは需要があって売れることが最も重要です。

そのため、技術だけに固執せず、経営的視点を持って仕事を進められることが大切だということを覚えておきましょう。

 

ポートフォリオを作る

プログラミングスキルをある程度身につけたら、ポートフォリオを作成します。

ポートフォリオと言えば一般的にデザイナーが作成するものですが、実力や能力を評価してもらうための資料を指しています。

Webエンジニアの場合は、実際に動くWebサイトを作成したり、そのソースコードをGitHubで公開しておきます。

就職や転職活動で企業に求められた場合は、それらのポートフォリオを使ってアピールしましょう。(特に未経験の場合

もちろん、転職の場合で何らかの実務経験をアピールできるなら、ポートフォリオを作成する必要がない場合もあります。

 

就職・転職活動をする

ポートフォリオを用意できたら、就職や転職活動を行いましょう。

ただし、ポートフォリオはアピール材料に過ぎないため、一番大事なのは自分は何ができるのかをできる限り明確にアピールできることです。

私も転職活動をしていた時に、面接をしていただいた社長さんから「プログラム言語は未経験でもやっていれば覚えられるが、あなたはどういった貢献ができますか?」と質問されました。

これはつまり業務経験の有無だけでなく、入社後にどういった活躍が見込まれるかを把握するための質問でもあるため、上手く答えるには自分の強みを理解していることが重要です。

尚、今はフリーランス向けのエージェントもあるため、人によっては最初からフリーランスエンジニアとして働くことも可能です。

 

 



Webエンジニアにおすすめのプログラミングスクールは?

プログラミングスキルを身につける際に、プログラミングスクールを検討している人もいますよね。

Webエンジニアにおすすめのプログラミングスクールは以下の記事にまとめたので、よければ参考にしてみて下さい。

 

 

Webエンジニアにおすすめの転職サイトは?

就職や転職活動をする際には、転職サイトを利用する人が多いと思います。

Webエンジニアにおすすめの転職サイトは以下の記事にまとめたので、よければ参考にしてみて下さい。

 

 

Webエンジニアにおすすめの言語は?

Webエンジニアの学習をする前にどのプログラム言語を学ぶか決める必要がありますが、就職先の企業や携わるプロジェクト、そして分野に応じて覚えるべき言語が変わるので注意しましょう。

それに加えて流行り廃りもあるので、ある程度人気の言語から選んで学びましょう。一つの言語をある程度使えれば、他の言語を覚える際に応用が利きます。

例えば今なら、フロントエンドとバックエンドでそれぞれ以下のような言語がおすすめです。

 

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

  •  HTML
  •  CSS
  •  Sass
  •  JavaScript
  •  jQuery
  •  React or Angular or Aue

HTMLとCSSは必須ですが、CSSについてはSassで書くこともあります。

また、動的な処理についてはJavaScriptを使いますが、実際にはプロジェクトなどに応じてjQuery、React、Angular、Vueといったライブラリを使用します。

とりあえず一般的なjQueryを学んでおき、必要に応じてReact、Angular、Vueのいずれかを学ぶのがおすすめです。

 

バックエンドエンジニア

  •  Ruby or Python or PHP
  •  上記言語に関するフレームワーク
  •  JavaScript
  •  PostgreSQL or MySQL
  •  SQL
  •  コマンドラインとGit

バックエンドならRuby、Python、PHPのいずれかがおすすめで、案件数が多いのはPHP、人気のフレームワークが使えるのはRuby、これから需要があるAIやディーブラーニングの分野ならPythonがおすすめです。

いずれの言語もフレームワークのを使える必要があるため、例えばRubyなら一般的にRuby on Railsというフレームワークを覚えます。

それに加えて、画面から入力されたデータの処理でJavaScript、データベースではPostgreSQLまたはMySQL、データベースのデータ操作には一般的なSQLの知識、サーバーの操作などではコマンドラインやGitの知識が必要です。

 

その他

その他、iOSアプリの開発ならSwift、Androidアプリの開発ならJavaを覚える必要があります。

色々言語があって大変ですが、基本的には何を作るかでどの言語を使うかを決めるべきなので、一つの言語に固執しないようにしましょう。

 

私はRuby&Railsエンジニアを目指す!

ちなみに私はRuby&Railsエンジニアを目指しています。そのため、以降の内容ではRuby&Railsエンジニアになる方法についてまとめます。

尚、Ruby&Railsエンジニアを目指す理由としては、Rubyが国産の言語で設計思想が気に入ったことと、Railsを使ってみたときに簡単にWebアプリケーションが作れて感動したからです。

なのでまず、Ruby&Railsエンジニアを目指して頑張ります!

 

Rubyの設計思想について

Rubyの開発者であるMatz(まつもとゆきひろ)は、「Rubyの言語仕様策定において最も重視しているのはストレスなくプログラミングを楽しむことである」と述べられています。

 



Ruby&Railsエンジニアになる方法まとめ

ここからはRuby&Railsエンジニアになる方法をまとめますが、具体的な手順は次の通りです。

  •  Progateで基礎を学ぶ
  •  本「プロを目指す人のためのRuby入門」でRubyやテストの知識を深める
  •  Railsチュートリアルで、Ruby on Railsの知識を深める
  •  電子書籍「Everyday Rails – RSpecによるRailsテスト入門」でRSpecの知識を得る
  •  その他、おすすめされている本を読む
  •  ポートフォリオを作る

 

Progateで基礎を学ぶ

まずはProgateというプログラミング学習サービスを利用し、各種プログラミング言語の基礎知識を身につけます。

具体的にはRuby、HTML&CSS、Sass、JavaScript、jQuery、コマンドライン、Git、SQL、Ruby on Railsを一通り学びましょう。

 

尚、Progateでは無料会員なら「HTML初級編」、「Ruby基礎編」など、基礎レベルの17レッスンを学習可能です。

有料会員は月額980円ですが、Progateで公開中の全69レッスン、基礎から実践まで全て学習できるようになります。

1〜2ヶ月以内に必要なコースを全てやりきって解約すれば2,000円までしかかからないので、比較的良心的な価格設定だと思います。

 

ちなみにプログラミングは全てを丸暗記する必要はないので、サクッと学んで知識を増やしながら、知識の引き出しを増やすのが大事です。

忘れた時には「そういえばこの情報は、このサイトのここに載ってたな。」というような感じで調べなおせれば大丈夫です。

プログラミングをマスターするには、コードをたくさん書いて慣れることが大切です。

尚、他のサービスとしてはPaizaラーニングドットインストールもおすすめなので、無料で学びたい方はチェックしてみて下さい。

 

 

本「プロを目指す人のためのRuby入門」でRubyやテストの知識を深める

ある程度基礎知識を得られたら、次はRubyの知識を深めましょう。そのためには「プロを目指す人のためのRuby入門」という本がおすすめです。

この本はRailsをやる前に、Rubyを知ろうがテーマとなっており、Rubyをちゃんと理解しているRailsエンジニアになれるように、Rubyの基礎知識から実践的な開発テクニックが丁寧に解説されています。

タイトルには入門と書いていますが、知識が全くない人には難しい内容なので、Ruby入門をある程度学んだ人なら読み進められる難易度です。

また、Ruby入門については私が過去に書いた記事も参考になると思うので、合わせてチェックしてみて下さい。

 

 

Railsチュートリアルで、Ruby on Railsの知識を深める

次はRailsチュートリアルで、Ruby on Railsの知識を深めましょう。

このチュートリアルに従って学習を進め、何周か学習を繰り返すことで初級レベルの内容をマスターできると言われています。

ここまで学習すれば、フレームワークを使ってオリジナルのWebアプリケーションの開発ができるようになります。

 

電子書籍「Everyday Rails – RSpecによるRailsテスト入門」でRSpecの知識を得る

Web開発の現場では、テストコードを書きながら開発を進めることがほとんどのため、テストコードを書ける必要があります。

プロを目指す人のためのRuby入門」を読んでいれば触れられていますが、Ruby on Railsでテストコードを書く際にはRSpecがよく使われるので学んでおきましょう。

そんなRSpecを学ぶには電子書籍のEveryday Rails – RSpecによるRailsテスト入門がおすすめなので、ぜひチェックしてみて下さい。

尚、この電子書籍は海外サイトで販売されているため、購入したい方は以下の記事を参考にして下さい。

 

 

その他、おすすめされている本を読む

その他、次のような本がおすすめされているので、一度読んでみてもいいと思います。

 

ポートフォリオを作る

ここまでくれば、Ruby&Railsエンジニアとしてポートフォリオを作れるスキルは得られているはず!?なので、ポートフォリオを作成しましょう。

ポートフォリオを作成する際には、最初にやったProgateの内容を思い出すと進められると思います。

まずは何らかのWebサイトを真似して作ってみて、慣れてきたらオリジナルのWebアプリケーションを作成できるといいと思います。

尚、ポートフォリオが完成したら就職や転職活動を始めていいと思いますが、就職先が決まるまではポートフォリオの品質を向上や、数を増やすなど、日々スキルアップに努めましょう。

 



Webエンジニアの就職・転職活動

ポートフォリオが完成したら、就職や転職活動を始めましょう。

Webエンジニアにおすすめの転職サイトは以下の記事にまとめたので、よければ参考にしてみて下さい。

 

 

最後に

今回はWebエンジニアになる方法についてまとめました。

この記事はまだ更新中のため情報不足な面もあると思いますが、現時点でも参考になる部分はあると思います。

これからWebエンジニアを目指す人は、ぜひ参考にしてみて下さいね。

 

プログラミングスクールから始めたい方はこちら👇

プログラミングスクールおすすめは?比較一覧まとめ

2019年4月28日

 

The following two tabs change content below.

Tomoyuki

SEを5年経験後、全くの未経験ながら思い切ってブロガーに転身し、月間13万PVを達成。その後コロナの影響も受け、以前から興味があったWeb系エンジニアへのキャリアチェンジを決意。現在はWeb系エンジニアとして働きながら、プロゲーマーとしても活躍できるように活動中。








シェアはこちらから


おすすめのゲーミングPCまとめ

近年、eスポーツという言葉が浸透し、ゲーミングPCの需要も増えましたが、「ゲーミングPCはどう選べばいいの?」という人も多いのではないでしょうか。そんなPC初心者でも迷わず選べるよう、おすすめのゲーミングPCをご紹介します!


コメントを残す

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