TomoyukiWebエンジニアに俺はなる!未経験から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アプリケーションを開発できます。Railsが一般的です。その他その他、勤務先やプロジェクトにもよりますが、Webサイト公開後の保守(メンテナンス)や、SEO(検索エンジン最適化)など集客のためのマーケティングを担うこともあります。Webエンジニアの将来性は?Webエンジニアの将来性について気になる人もいると思いますが、IT業界の市場自体が伸びていることや、世界で儲かっている企業はWebやIT関連企業が多いため、これからも将来性は高いです。最近はFinTech(金融)、AI(人工知能)、IoT(モノをインターネットに繋ぐこと)、機械学習、ディープラーニングなどの分野が注目されており、これから需要が高まることが予想されています。Webエンジニアの仕事はリモートワークも可能なため、例えば通勤時間などの無駄を減らして生産性を高めたり、物価が安い海外に住みながら仕事をするなど、今後は働き方改革に繋げられるのが魅力になっていくと思います。job」が算出した結果では456万円となっています。内訳をみると、全体の38%が400〜499万円に分布されています。求人検索エンジン「スタンバイ」調べのプログラミング言語別の年収中央値は上表の通りで、言語によっても年収が変わるのが特徴です。Web業界とSIer業界の違いWebエンジニアといっても、IT業界は「Web業界」と「SIer業界」に大きく二分されています。IT企業はブラックだと言われますが、そのほとんどは「SIer業界」の話であり、この二つの業界の違いを知らないと就職や転職で失敗するので注意しましょう。Integrator(システムインテグレーター)の略です。業務内容は外部からシステムの企画、構築、運用サポートなどを請け負う仕事で、主に受託開発や客先常駐でシステム開発をしている企業を指します。銀行などがシステムを構築する際には、SIerに仕事を依頼して代わりにシステムを構築してもらいます。構造的には上図のようになっており、基本的に仕事を得た(一次請けした)会社は下請けに仕事を投げ、投げられた二次請けは三次請けに・・というように大きなチームが会社をまたいで開発します。一次請けはNTTデータ、IBM、日立といった一度は名前を聞いたことがある会社ばかりであり、そんな一次請けではプログラミングはしないため、開発の仕事をするなら二次請け以降となります。Web業界とは?それに対してWeb業界とは、自分たちの会社でWebサービスを作って収益を出している業界で、例えば海外だとFacebookやTwitter、日本だとクックパッドやメルカリのような企業です。SIer業界はシステム構築する費用で収益を上げますが、Web業界はWebサービスを利用するお客さんから利用料をもらって収益を上げているという違いがあります。自社に開発者がいることで、新しい機能の実装やバグが起こっても素早く対応できます。※自社の社員が開発するのが基本ですが、リソースが足りない場合はフリーランスに仕事を投げることもあります。SIer業界ではなくWeb業界に行くべき理由ということで、二つの業界の違いを説明しましたが、結論としてWebエンジニアとして働くなら「絶対にWeb業界に行け!」とうことです。その理由として、SIerには次のようなデメリットがあるからです。私もSIer業界でシステムエンジニアをしていましたが、残念ながらSIer業界は今の時代に合わないので、だんだん淘汰されていくと思います。する前に企業の違いを理解しよう!IT業界について元SEが教えます。2017年10月25日Webエンジニアを目指す前に知っておきたいこと例えば今は学生でこれからWebエンジニアを目指す人や、SIer業界で働いていてWeb業界に転職したいと考えている人もいますよね。どんな仕事も向き不向きがあるので、とりあえずチャレンジしてみることは大事ですが、向いていない場合はサクッと辞めて違うものを探しましょう。私の場合は運が良く、現場でコードを書く仕事が多かったので、プログラミングは夢中になれる好きな仕事だと気づくことができました。自己理解が不足していて自分の資質がわからない場合は、ストレングスファインダーをやっておくのがおすすめです。ストレングスファインダーで自己理解を深めれば、自分に合った仕事環境を探す際や、就職や転職活動で自己アピールする際に役立ちます。Finder)で才能や強みを知ろう!2018年4月26日Webエンジニアになるには?ここまででWebエンジニアやIT業界についての理解が深まったと思いますが、実際にWebエンジニアになるには次の手順が必要です。ノートPCを手に入れるプログラミングスキルを身につけるポートフォリオを作る就職・転職活動をするノートPCを手に入れるWebエンジニアになるにはプログラミングに関する勉強が必要ですが、そのためにはパソコンが必要です。持っていなければ、まずはノートPCを購入しましょう。Proを購入するのがおすすめです。今はAmazonとMacが業務提携しているため、AmazonでMacBookを購入することも可能です。15の詳細はこちらプログラミングスキルを身につける次にプログラミングスキルを身につける必要があります。今はインターネットでググれば様々な情報が得られたり、ブラウザだけで学べる学習サービスもあるため、多くのことを独学で学ぶことも可能です。独学が向いていない人や、知識がある人に質問などをしながら学びたい場合は、有料ですがプログラミングスクールを利用するのもありです。Webエンジニアとして仕事をしていくには、常に自ら進んで学び続けられるような主体性が必要なので、まずは独学で始めてみるのがおすすめです。最新技術を覚えて活用するのは大事ですが、BtoCのサービスでは需要があって売れることが最も重要です。そのため、技術だけに固執せず、経営的視点を持って仕事を進められることが大切だということを覚えておきましょう。ポートフォリオを作るプログラミングスキルをある程度身につけたら、ポートフォリオを作成します。ポートフォリオと言えば一般的にデザイナーが作成するものですが、実力や能力を評価してもらうための資料を指しています。Webエンジニアの場合は、実際に動くWebサイトを作成したり、そのソースコードをGitHubで公開しておきます。就職や転職活動で企業に求められた場合は、それらのポートフォリオを使ってアピールしましょう。(特に未経験の場合)もちろん、転職の場合で何らかの実務経験をアピールできるなら、ポートフォリオを作成する必要がない場合もあります。就職・転職活動をするポートフォリオを用意できたら、就職や転職活動を行いましょう。ポートフォリオはアピール材料に過ぎないため、一番大事なのは自分は何ができるのかをできる限り明確にアピールできることです。私も転職活動をしていた時に、面接をしていただいた社長さんから「プログラム言語は未経験でもやっていれば覚えられるが、あなたはどういった貢献ができますか?」と質問されました。これはつまり業務経験の有無だけでなく、入社後にどういった活躍が見込まれるかを把握するための質問でもあるため、上手く答えるには自分の強みを理解していることが重要です。Finder)で才能や強みを知ろう!2018年4月26日30代で初めての転職活動!SIerから未経験のWeb業界への転職に必要なこと2017年11月9日Webエンジニアにおすすめのプログラミングスクールは?プログラミングスキルを身につける際に、プログラミングスクールを検討している人もいますよね。Webエンジニアにおすすめのプログラミングスクールは以下の記事にまとめたので、よければ参考にしてみて下さい。関連記事👇プログラミングスクールおすすめは?比較一覧まとめ2019年4月28日Webエンジニアにおすすめの転職サイトは?就職や転職活動をする際には、転職サイトを利用する人が多いと思います。Webエンジニアにおすすめの転職サイトは以下の記事にまとめたので、よければ参考にしてみて下さい。関連記事👇IT・Webエンジニア転職サイト・エージェントおすすめ比較一覧まとめ2019年4月29日Webエンジニアにおすすめの言語は?Webエンジニアの学習をする前にどのプログラム言語を学ぶか決める必要がありますが、就職先の企業や携わるプロジェクト、そして分野に応じて覚えるべき言語が変わるので注意しましょう。それに加えて流行り廃りもあるので、ある程度人気の言語から選んで学びましょう。一つの言語をある程度使えれば、他の言語を覚える際に応用が利きます。今なら、フロントエンドとバックエンドでそれぞれ以下のような言語がおすすめです。AueHTMLとCSSは必須ですが、CSSについてはSassで書くこともあります。動的な処理についてはJavaScriptを使いますが、実際にはプロジェクトなどに応じてjQuery、React、Angular、Vueといったライブラリを使用します。一般的なjQueryを学んでおき、必要に応じてReact、Angular、Vueのいずれかを学ぶのがおすすめです。MySQLSQLコマンドラインとGitバックエンドならRuby、Python、PHPのいずれかがおすすめで、案件数が多いのはPHP、人気のフレームワークが使えるのはRuby、これから需要があるAIやディーブラーニングの分野ならPythonがおすすめです。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エンジニアになる方法をまとめますが、具体的な手順は次の通りです。RSpecによるRailsテスト入門」でRSpecの知識を得るその他、おすすめされている本を読むポートフォリオを作るProgateで基礎を学ぶまずはProgateというプログラミング学習サービスを利用し、各種プログラミング言語の基礎知識を身につけます。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の知識を深めましょう。このチュートリアルに従って学習を進め、何周か学習を繰り返すことで初級レベルの内容をマスターできると言われています。ここまで学習すれば、フレームワークを使ってオリジナルのWebアプリケーションの開発ができるようになります。RSpecによるRailsテスト入門」でRSpecの知識を得るWeb開発の現場では、テストコードを書きながら開発を進めることがほとんどのため、テストコードを書ける必要があります。Railsでテストコードを書く際にはRSpecがよく使われるので学んでおきましょう。RSpecによるRailsテスト入門」がおすすめなので、ぜひチェックしてみて下さい。この電子書籍は海外サイトで販売されているため、購入したい方は以下の記事を参考にして下さい。RSpecによるRailsテスト入門」の買い方・購入方法2019年4月25日その他、おすすめされている本を読むその他、次のような本がおすすめされているので、一度読んでみてもいいと思います。進化しつづける柔軟なアプリケーションの育て方ポートフォリオを作るここまでくれば、Ruby&Railsエンジニアとしてポートフォリオを作れるスキルは得られているはず!?なので、ポートフォリオを作成しましょう。ポートフォリオを作成する際には、最初にやったProgateの内容を思い出すと進められると思います。何らかのWebサイトを真似して作ってみて、慣れてきたらオリジナルのWebアプリケーションを作成できるといいと思います。ポートフォリオが完成したら就職や転職活動を始めていいと思いますが、就職先が決まるまではポートフォリオの品質を向上や、数を増やすなど、日々スキルアップに努めましょう。Webエンジニアの就職・転職活動ポートフォリオが完成したら、就職や転職活動を始めましょう。Webエンジニアにおすすめの転職サイトは以下の記事にまとめたので、よければ参考にしてみて下さい。最後に今回はWebエンジニアになる方法についてまとめました。この記事はまだ更新中のため情報不足な面もあると思いますが、現時点でも参考になる部分はあると思います。これからWebエンジニアを目指す人は、ぜひ参考にしてみて下さいね。最新の記事Tomoyuki元SE。30歳を目前に仕事や将来に悩み、Web業界へ転職を目指すも失敗。ブログでは大好きなパソコン情報をはじめ、様々な役立つ情報を発信中。次はプロゲーマーとしても活動するため、ゲーム練習と合わせて攻略記事を書いたり、YouTubeでも活動中。2020年2月5日エンジニアシェアはこちらからツイートシェアはてブLINEPocketfeedlyゲーミングPCならBTO最近はゲーミングPCを購入する人も増えましたが、「どう選べばいいの?」という人も多いですよね。初心者が失敗しない選び方はこちら資産運用始めなくて大丈夫ですか?日本ではお金の教育が一切無いので、資産運用している人はまだ少ないです。資産運用で結果を出すには膨大な時間が必要で、早く始めないと損なんです。ウェルスナビなら誰でも簡単に資産運用が始められるので、一度検討してみてはいかがでしょうか。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。+¥35,943(+7.34%)でした。【2019年4月実績】IT・Webエンジニア転職サイト・エージェントおすすめ比較一覧まとめRECOMMENDこちらの記事も人気です。エンジニア2019.4.28プログラミングスクールおすすめは?比較一覧まとめエンジニア2017.9.27優秀なプログラマーになるには?プログラマーに必要な4つのことエンジニア2019.4.29IT・Webエンジニア転職サイト・エージェントおすすめ比較一覧まとめエンジニア2017.10.25就職・転職する前に企業の違いを理解しよう!IT業界について元SEが教えます。管理人:Tomoyukiこんにちは。Tomoyukiです。当ブログはプログラミングやパソコン関連情報をはじめ、自分の好きなことや、得意なことを仕事にして生きていくための方法に関する情報を発信していきます。