エンジニア

【現役エンジニア10名が語る】未経験者おすすめプログラミング勉強方法

recommend-how-to-study
対象者

本記事は「エンジニアを目指している、プログラミング未経験者」を対象にしています。

キヨシ
キヨシ
フォッフォッフォッ、キヨシ(@kiyothink12)じゃ^^今日は現役エンジニアに未経験エンジニア、プログラミング初心者に向けてどう勉強するべきかアドバイスをもらったぞい
ケイタ
ケイタ
色々な環境、考えを持っているエンジニアのみなさんに様々な角度から意見を聞けるのはすごく貴重ですね!
キヨシ
キヨシ
うむ、ワシだけの意見ではなく、いろんな意見があってどれもその人の真実だからのう。
ケイタ
ケイタ
とても楽しみです!
キヨシ
キヨシ
うむ、それではいってみようかのう。

未経験からwebエンジニアになるため必要、またはオススメな勉強方法を語ってもらいました。

  • Webエンジニアになるにあたって、どんな勉強が必要か?
  • おすすめの勉強法、学習サイト、書籍、動画
  • 最低限このくらいの知識、スキルはないと採用はきつい。(※そのエンジニアさんの会社では)
  • 学歴は必要か?実績、経験、ポートフォリオさえあればOKか?
  • どんなポートフォリオだと望ましいか?

などなど、聞いてみました。

エンジニアは手を動かしてなんぼ

男性です。40歳以上です。エンジニア歴は5年~9年です。

まず、社会人が特別な勉強をしたこともなく、異業種からWebエンジニアになることは相当敷居が高いと考えてください。

ただし、この業界に学歴は関係ありません。

まだあなたが若く、未経験歓迎として採用募集している職場に飛び込む勇気があるのでしたら、努力次第でどうにかなるでしょう。

未経験でも学ばせてもらえる土壌がある職場なら、必死に勉強して頑張ってみてください。

若さは実年齢ではありません。脳年齢だと思ってください。

まったくの未経験とはいっても、この業界を志す以上は、さまざまなホームページを目にしてきたと思います。

自分の仕事がホームページのどんな部分に役立つのか、漠然でも良いのでイメージができるかどうかが大切です。

問い合わせフォームや商品カートなど関わる仕事は多彩です。

Webの世界はデザイナーやエンジニアなど分業化が進んでいますが、時には自分一人でページを構築する必要にも迫られます。

プログラムは書いたことがなくてもHTMLの知識が多少なりともあれば採用担当者に好印象を与えられるはずです。

勉強法ですがプログラムをとにかく自分で書くことがスキルアップへの近道です。

参考書や学習サイトを見て学ぶのも良いですが、いずれも上達にはつながりません。

参考書は読んだだけで勉強したつもりになりがちですし、学習サイトはサンプルのコードをコピーしただけで自分が作ったつもりになってしまいます。

勉強とは自分で手を動かさなければ意味がありません。

受験勉強でも鉛筆やペンを手に持って学習したようにプログラムを組むのならキーボードを触って取り組むことが一番です。

キヨシ
キヨシ
うむ、なんでもそうじゃが”やった気”になってしまうのは怖いのう。手を動かすことで記憶にも定着するし理解も進むとワシも思うよ^^

初心者はまずWebアプリケーション全般の仕組みを勉強しよう

男性です。20歳前半です。エンジニア歴は1年未満です。

・Webエンジニアになるにあたって、どんな勉強が必要か?

大きく分けて下記の3つに分類されます。

1.Webアプリケーション全般の仕組み
2.フロントエンドの言語
3.バックエンドの言語

1.Webアプリケーション全般の仕組み
初心者ではまずWebアプリケーションとはどういったものなのかという根本の根本の部分を理解する必要があります。

まず物理的なオブジェクトのようなものとして、クライアントやサーバなどが存在していて、尚且つブラウザを介して通信を行なうことにより、Webアプリケーションとして機能するというような概念的な知識を身につける必要があります。

2.フロントエンドの言語
まず大きく分けてフロントエンドとバックエンドの二種類があります。

フロントエンドとは実際にユーザーが目にする視覚的な画面やデザインの部分の事です。

こちらはHTMLやCSS,JavaScriptなどの言語を利用した動的なデザインの事です。

3.バックエンドの言語
フロントエンドと反対に、画面ではなくその中身の処理やデータの操作、通信の形などを開発していく部分をバックエンドと言います。

こちらは一般的に想像されるまさにプログラミング言語という言語です。例えばPHPやRubyといった言語、またjavaなども使う可能性は十分あります。

まず、それぞれ役割や具体的に何をどうする分野なのかを理解した上で開発言語に少しずつ触れていくべきだと思います。

キヨシ
キヨシ
ワシはバックエンド寄りのエンジニアなんじゃがフロントの勉強も押さえないとと思ってるよ。「仕事のために」というより単純にすぐ目に見えて表示されるのが楽しいからっていうのが大きいんじゃがな^^

プログラミングはとにかく作ること、真似ることも大事

男性です。30代です。エンジニア歴は3〜5年です。

WEBエンジニアになるには、プログラミングができなくてはいけません。

私は専門学校でプログラミングを学んでいましたが、同僚は独学で学んだという人もいました。

学校で習うのが一番だと思いますが、独学でも何とかなります。

最近はプログラミングを教えるスクールなどもありますのでそういうところで学ぶのもありです。

プログラミング言語はたくさんあるんですが、WEBエンジニアを目指す人におすすめの言語があります。

  1. HTML
  2. CSS
  3. PHP
  4. MySQL
  5. Linux

などです。

その中でもおすすめがPHPです。

他と比べると簡単でWEBに特化している言語です。

PHPができる人の求人も多く見かけます。

簡単とは言っても、初心者には難しいです。

学習の方法としては「とにかくプログラムを作ってみること」ですね。

作りたいシステムを決めてそれに向けてプログラミングすることです。

とりあえず入門書を買ってきて基本を学びましょう。

そこに書かれている内容を理解して、どんどんステップアップしていきます。

ネットで検索していたら、公開されているプログラムも多いです。

それを真似て楽しみながら作るのも上達が速くなります。

プログラムが思い通りに動かずに、イライラすることがあるでしょう。

試行錯誤しながら、完成させていくことになります。

完成までの過程に試行錯誤することがプログラミングの勉強になります。

まずは先人が作ったプログラムを真似てみて学んでいきましょう。

ある程度のスキルを身につけたら、求人に応募してみましょう。

今はエンジニア不足なので昔よりも敷居が低くなっています。

実務経験がなく独学で学んだぐらいでも採用してくれる会社は増えています。

入社後にスクールに通わせてくれるところもあるようですね。

ある程度のスキルを身に付ければ、就職することは十分可能です。

IT業界は日進月歩で新たな技術がどんどん出てきます。

勉強し続けないといけない覚悟は持ってください。

好きなら大丈夫なはずです。

キヨシ
キヨシ
確かに今はエンジニアバブルと言っても良い売り手市場じゃな。力不足のうちはしんどい思いも多々するだろう。じゃがエンジニアの経験は社会での汎用性が高いからオススメじゃよ^^

エンジニアに学歴は必要ない。最低限コマンドはやっておこう

男性です。40歳以上です。エンジニア歴は10年以上です。

・Webエンジニアになるにあたって、どんな勉強が必要か?

まずは勉強の基本から実践していきます。
・勉強には「理解するための勉強」「記憶するための勉強」がある
・知識は風化する

・おすすめの勉強法、学習サイト、書籍、動画
ネットでweb、勉強と検索すれば色んな勉強方法が掲載されいています。
例えば、UNIXを勉強したいときはプログラマーが普段使っているようなMS-DOSのような黒い画面に慣れることが肝心です。

その為にはMacのPCを使っている場合はターミナルという方法をどんどん使うことが大事です。

WindowsのPCの場合は、クラウド上で開発環境が用意できるCloud9を使うと、ブラウザ上でターミナルを動かすことができます。
また、Vagrantというツールを使ってローカルに仮想環境を構築しておくこともおすすめです。

学習サイトでは、paiza開発日誌というサイトが比較的素人には優しいサイトです。

書籍では、「実験心理学が見つけた 超効率的勉強法: 復習はすぐやるな! 思い込みで点数アップ!」がオススメです。

動画は、あまり頭に入らないのでオススメできません。

・最低限このくらいの知識、スキルはないと採用はきつい

コマンドは最低限ほしい知識です。
Webデザイナーは現在引く手あまたなのでスキルを身に着けておくと非常に有効です。

・学歴は必要か?実績、経験、ポートフォリオさえあればOKか?

学歴や実績は必要ありません。
基本の知識を取り入れて、経験を重ねることが重要です。

・どんなポートフォリオだと望ましいか?
何度も何度も勉強して、実践を積んでいきましょう。

キヨシ
キヨシ
なるほどな、Progateにも”コマンドライン”のレッスンがあるからmそれをやったらMacの人は「ターミナル」で実際にコマンド打ってみて慣れると良いと思うよ^^

未経験者の場合はポートフォリオ必須

男性です。30代です。エンジニア歴は1〜3年です。

現状の今の私の職場ではHTMLについては理解があり、プログラムとして辞書を引きながらでもコードが打てないとまず雇用されることは無いです。

これはかなり下の部類になりますので、デザインなどのインターフェースなんかについては過去にどれくらい仕事をしていたかなどで判断をしますので何とも言えないです。

ただ、開発関係の仕事をするのであればPHPやRuby、Pythonなどのプログラミング言語などは必須です。

これらの言語の学習ですが基本的には独学で書籍を購入して勉強するかスクールに通うかになります。

初心者で何から勉強すればいいのか分からないという方の場合、HTMLでホームページを作るための言語の基礎を学び、CSSなどのコーディングスキルを身につけて仕事をこなすしかないです。

10年くらい昔、2009年位ですとまだ言語自体も限られていて、皆さん手探り状態の中でホームページやアプリを動作させる言語を学んでいましたから、初心者でも普通に雇っており、丁稚みたいな形で修行みたいな感じで仕事をしていました。

ですが現在は過去に仕事をしていた人を優先して採用しますので、初心者の場合は求められることが大きくなり、最低限何か作品を持って行き企業に自分を売り込むしかないです。

学歴などは関係ありませんがweb系の専門学校を出ているとプラスになりますので有利には働きますが、持って来た作品が大して面白みが無かったり、たいしたことが無い物だと逆に印象が悪くなることもありますので面接時にはその点も考慮したほうがよいです。

キヨシ
キヨシ
うむ、ワシも同意じゃな^^ 何か作品を作っていくのは大事じゃ。じゃがビビりすぎて何か作ろうとしたが分からなくてモチベが撃沈するなどは良くないからのう。書籍や動画に沿って何か作ってさらにこんな機能があればいいなと思う機能を追加してデザインを変えたりして、それの意図を説明できれば良いと思うぞい^^

WebエンジニアになるにはまずはHTML、CSS、JavaScriptを勉強すること

男性です。40代以上です。エンジニア歴は3〜5年です。

私も全くの未経験からのスタートだったのですが、夢を叶えたいと言う気持ちがとても強くWebエンジニアになりました。

私には幸いなことに身近に学生の頃の先輩にWebデザイナーの人がいたのです。

その人とは時々週末などに飲みに行ったりしてお互いの仕事の話をしていました。

そこで私もWebエンジニアになりたいと思ったのです。それまでは普通のありきたりなサラリーマンでした。

仕事では毎日パソコンの前で仕事はしていたものの、これと言って特別な資格もなく、何とかそこまでやっていたのです。

勿論、仕事で学ぶことも沢山ありましたし、また時には勉強もしましたが、本格的な資格などを取るほどの知識もありませんでした。

そこで、私はこのWebデザイナーの先輩と飲みに行くようになってから私も同じようになってみたいと思い目指すようになったのです。

その先輩に「HTMLやCSSとJavaScriptをまずは勉強したほうがいいよ」と言われたの仕事が終わってからは毎日勉強していました。

それらをクリアした上でようやくWebエンジニアになるためのスタートをきったことになると思います。

まずはHTML、CSS、JavaScriptの3つを私は毎日勉強しました。

その結果、今Webエンジニアとして何とかやっています。

キヨシ
キヨシ
うむ、フロントエンドになるにしろサーバーサイドになるにしろ確かにHTML、CSS、JavaScriptの3つは基礎くらいは押さえておくのがベターというかマストな気はするのう。これもProgateで基礎は押さえられると思うぞ^^

フレームワークを使わずにプログラミング言語が標準で持っている機能だけで実装してみることが大事

男性です。40代以上です。エンジニア歴は10年以上です。

現場によって必要とされる特化された技術は様々なので、

  1. HTTPの基本的な動作
  2. セッションデータの扱い方
  3. 1つのプログラミング言語を使って、Webページからログイン~データベースCURD操作~ログアウト、ができること

が重要だと思います。

最近のWebアプリケーションは様々な技術の組み合わせで複雑になっているので、まずは1つのプログラミング言語とHTMLだけで動作を理解することが重要だと感じます。

Webアプリケーションフレームワークを使わず、プログラミング言語が標準でもっている機能だけを使って実装してみるということです。(20年ぐらい前の技術の範囲でjQueryやCSSなどを含めずに作ってみる)。

最初からフレームワークを使ってしまうと本質が隠されてしまうので、裏側でどのような動作をしているのかが見えづらくなってしまいます。

その後、

  • JavaScriptを使った画面内の操作
  • jQueryを使った操作
  • Webアプリケーションフレームワークを使って書き換えてみる

と、拡張していくとデータベースやネットワークなど新しい技術に付随した周辺知識も併せて身につくと思います。

また、Webアプリケーションとは直接関係ありませんが、WindowsのコマンドプロンプトやUnix系のターミナルを使ったファイル操作が苦手という技術者が意外と多いです。

開発環境やクラウドの環境でも、コマンドでのファイル操作を要求される場面があるので、基本的なOSコマンドは勉強しておいたほうが良いと思います。

キヨシ
キヨシ
これはすごく良いこと言っているのう^^ ワシもRubyはRailsありきではなく、まずはRubyだけで実装を始めたよ。でないと、フレームワークが勝手にやってくれちゃってることが理解できなくなるからのう。

WordPressやレスポンシブルサイトを作ってポートフォリオを作成しよう

男性です。30代です。エンジニア歴は1〜3年です。

WebエンジニアになるためにはWebサイトの構築方法を勉強するだけではなく、実際にポートフォリオ(他人に見せられる実績)を作ることが効率的でしょう。

具体的にはWordPressを用いたサイトの構築経験や、cssを用いたスマートフォンからPCまで様々な画面解像度やアスペクト比に対応したレスポンシブルなサイトのデザインを勉強すると良いと思います。

何もわからない状態から始める場合は、HTMLやスタイルシートの勉強から始めると良いでしょう。

PHPも需要はありますが、サーバサイドの設定などが必要になり大変なので、最初はローカルで簡単に勉強できるHTMLやcssを試してみたほうが良いと思います。

インターネットで検索するとHTMLやスタイルシートについて教えてくれる入門サイトや、実際に入力しながら実践的に勉強できるサイトも無料であるので、そのような便利なサイトを活用すると効率的に勉強ができると思います。

また、実際に自分で何か作りたいと思ったときは、Webデザインのクラウドソーシングサイトでお仕事のコンペ内容を見て、クライアントが作ってほしい目安となる具体例のサイトなどが紹介されていればそれを実際に模倣して作ってみるのも良いでしょう。

コンペなどに興味がない場合は、自分が好きなサイトそっくりのデザインを作ってみるのも実践的な練習となり、実績にもなるでしょう。

キヨシ
キヨシ
「何を作ったら良いかわからない」という人は多いがまずは”模倣”で良いんじゃよ。だがそのまま模倣して自分の実績として公開すると著作権侵害になるから注意してな^^

レンタルサーバの機能を使わず、自分でWordpressの環境構築をしてみよう

女性です。30代です。エンジニア歴は1〜3年です。

私は全くの未経験からWebエンジニアになりました。

何も知識がないところからやるなら、まずはWebサイトを作れるようになる事です。

自分で有料レンタルサーバーを借りてWordpressのインストールを自分で行います。

最近のレンタルサーバーにはボタン一つでWordpressの設定が完了する自動インストール機能もありますが、これは使いません。

WordPressのデータアップロードと設定、MySQLなどのデータベースの作成と設定も自分でやりましょう。

初心者向けのWordpress本でそれらの設定の方法が乗っているものを購入しその通りに行います。

それからWodpressのカスタマイズです。

デザインのカスタマイズを行うことによってPHPの基本的な構文を学習できます。

これに慣れてきたら自分でオリジナルのテーマを作るのも良いでしょう。

また、ページ内にajaxのお問い合わせフォールなどを作ることによってjavascriptの知識も身につきます。

これらの作業を通して最終的にPHP、javascript(jQuery)、MySQLを始めとするデータベースに関する技術が身につきます。

これらはWebエンジニアとしての基本です。

このぐらいできるようになってからでなくては就職自体が難しいでしょう。

キヨシ
キヨシ
全くその通りじゃな。エンジニアにとって「環境構築」は避けては通れぬ、そして最も大事な知識の一つじゃ。プログラムのコーディングだけをしとれば良いわけではないからのう。ぜひチャレンジしてほしい^^

進みたい場所で使われている技術を1冊手を動かしながら勉強するのが良い

男性です。40以上です。エンジニア歴は3〜5年です。

まず、フロントエンドの技術であるHTMLもJavaScriptもCSSも知らないのであれば、それぞれのことがまとめられている技術書を1冊読みながら、技術書の載っているコードを実際にコーディングし動かしてみることから始めるのが良いです。

次にWebエンジニアとして働く環境・勤め先もしくは作りたいものなどにより、バックエンドとして取り入れられている、もしくは必要とされる技術が異なります。その必要な技術に合わせ、その技術の技術書についても何か1つ読むのが良いです。

その次にですが、Webに限らないエンジニア全般の話ですが、既に世の中には同様のもの、似たものが数多くありそれらを見て学ぶことが重要です。

Webページの場合、世の中にある良いWebページ等を参照し参照できる範囲のコードを見てみることが良いです。

学歴については、勤める会社により異なります。

大手の企業のWebエンジニアになるのであれば、採用されるためには高い学歴も必要とされるのが前提です。

しかし、技術者の確保のためにも少しずつ学歴よりも実力を重視される企業の方が多くなってきていると思います。

ポートフォリオは実力を見せる材料になりますので、ポートフォリオはあるほうが良いです。Webのコーディングと共にWebのデザインの能力も見せることができます。

キヨシ
キヨシ
うむ、良いこと言ってて赤線引きすぎたよ(笑) もうこの通りじゃからワシは言うことないぞい^^
キヨシ
キヨシ
ってな感じじゃな!10人の現役エンジニアの方から色々な意見が聞けてワシも参考になること多々あったよ。うむ、あっぱれ!
ケイタ
ケイタ
いや〜本当ですね!そして皆さん言い方は違うけど、未経験者がやるべきことは一貫していているように伝わってきました!
キヨシ
キヨシ
うむ、そうじゃの^^ 結局近道も魔法もないからな。基礎を押さえながら手を動かして
ABOUT ME
キヨシ
キヨシ
キヨシじゃよ^^ 30歳を超えてからエンジニアに転身。現在はリモートワークしながら海外と日本を行き来して自由気ままに暮らしておるよ( ^ω^ ) フォッフォッフォッ