【必見!】文系学生がエンジニアインターンに採用されるまでのロードマップ

こんにちは、アレンです!

昨今のプログラミングブームで情報系の学部生ではないけど、プログラミングに興味があるという人が増えていると思います。

プログラミングができるようになり、自由な働き方と高い収入を手に入れたいと考える人も多いでしょう!私自身もプログラミングを始めたきっかけはそうした理由からです。

実際、私はプログラミングを勉強したことにより、現在フルリモートかつフルフレックスタイム制の会社でインターン生として働くことができており、時給も多くの学生がやるような飲食店やレジ打ちのバイトよりも高いです!

ですので、私の実体験を踏まえてもプログラミングの仕事は他の仕事に比べて自由に働けて、給与も高い傾向にあると言えます。

たとえプログラマーになるつもりのない人でも、これからの時代必要不可欠となるIT知識を一通り身に付けられるので、学生期間のアルバイトはプログラミング関連のものを強く薦めます!

しかし、プログラミングを始めたいと思ってもどういった手順で学習すればいいのか、スクールに通わなければいけないのか等々、色々とわからないことも多いと思います。

私自身、プログラミングを学ぶにはプログラミングスクールに通わなければならないと思ってしまい、プログラミングスクールに通いました。しかしスクールのカリキュラムを終えて私には不要だったなと思いました。

スクールに通うべき人は、自己管理能力が低い人です。

きちんと自分で継続できる人はこの記事で紹介しているUdemyの講座を受講すればわざわざスクールに高いお金を出して通う必要はないです!

セールの時に買えば、トータルで10000円もかからないです。

したがって、今回はエンジニアの学生インターンとして採用されるレベルに至るために受けるべき講座を紹介していきます。

Udemyってなに?という方は、まず最初にこちらのプログラミングの独学には圧倒的にUdemyがオススメである理由を解説という記事をお読みください!

スポンサーリンク

前提

①社会人でエンジニア転職を目指している方は、ここに書いている内容では足りないかもしれないです。筆者は学生なので転職のレベル感はわかりかねます。

②誰もが知っているようなメガベンチャー企業のインターンに採用されることは想定していません。新卒で就職するよりも難易度が高いと言う人もいるくらいです。

③筆者はバックエンドエンジニアとして働いていますが、フロントエンド志望の方もインターンに採用される人のレベル感として参考にしてください。

④初学者向けに書いているので、できるだけ説明に専門用語を使っていません。

⑤講座で学んだ方が、より正確な知識を身に付けられるので、この記事での説明はざっくりとしたものにしています。

まずはプログラミング言語学習以前に必要なことを学ぶ

これからご紹介するものは、個人で趣味としてプログラミングをしているだけであれば必須ではないのですが、業務に携わるためにはどうしても必要になってくるんですよね。ですので、最初に勉強することをオススメします。

しかし、プログラミングがどのような世界か覗いてみたいという感覚の人であればこの過程を飛ばして、次の過程から始めてもいいかもしれません。ただし、インターンに行くのであれば、始まる前に必ず勉強することをオススメします。

Linuxコマンド

今までファイルの移動とか作成ってマウスを使って行っていたと思うのですが、Linuxコマンドを覚えるとコマンドでそういった操作ができるようになり、一気にプログラマーになった気分を味わえます。

以下の講座で学んでおきましょう。
もう怖くないLinuxコマンド。手を動かしながらLinuxコマンドラインを5日間で身に付けよう

Git/GitHub

専門用語を使わずに凄いざっくり説明しますと、Gitというのは、コードなどを書き足して更新したファイルの更新履歴を管理してくれる仕組みです。GitHubとはGitの仕組みを応用して更に使いやすくしたWebサービスです。

実務未経験者が口を揃えていうのが「Gitの使い方がわからない」です。Gitが使えないと初日からあたふたしてしまうので以下の講座で学んでおきましょう。

Git: もう怖くないGit!チーム開発で必要なGitを完全マスター


Docker

Dockerを使うと環境構築がかなり楽になります。Dockerを使わないで開発環境を構築しようとすると、いろいろなところから、開発に必要なソフトウェアなどをバージョンまで揃えてインストールしなければならないのです。

そのインストールする際にもエラーが出たりして、大変な思いをします。開発環境構築は初学者が挫折するポイントの一つでもあったりします。

しかし、Dockerを使えばそれらの手間を省くことができ、開発環境構築が容易になるので、最初のうちに覚えてしまっておいた方がいいです。以下の講座がオススメです。

この講座の製作者の方もブログを書かれていて、クーポンを配布しているので利用するといいと思います。

なお、個人的にこの講師の方は日本人講師の中では最も説明が丁寧だと思っています。データサイエンスのためのpython講座も公開なさっていますので、データサイエンスに興味がある方は受講すると良いと思います。

製作者のブログ

米国AI開発者がゼロから教えるDocker講座

 

SQL

バックエンドエンジニアになるのであればSQLの講座も受けておくべきです。フロントエンド志望であれば現時点では不要かと思われます。

フレームワークを使っていると素のSQL文を書くことはあまりないのですが、やはり前提となるものなので勉強しておいた方がいいです。
SQL入門 - MySQLで学ぶデータベース


HTML/CSSを学ぶ

CSSに関しては、フロントエンド志望でなければ使う機会はないと思います。HTMLも実際に書く機会は少ないと思いますが、これら二つはエンジニアの常識であるうえに、取り組みやすいので、ここから始めるべきだと思います。

ちなみにこれらはマークアップ言語と呼ばれるものでして、プログラミング言語ではないのでご注意ください。

オススメの講座はこちらです。

Build Responsive Real World Websites with HTML5 and CSS3

英語の講座なのですが、Google Chromeの翻訳機能を使いながら、Udemyの英語字幕を表示する機能を使えば日本語字幕で見ることができるので、問題ないと思います。

どうしても日本語の講座が良いという方はこちらが良いと思います。

HTML5+CSS3  手を動かしてマスターする WEBデザイン/プログラミング動画講座

プログラミング言語1つ + フレームワークを学ぶ

学ぶプログラミング言語は、Java, Ruby, PHP, Pythonなどの主流のものであればなんでもいいです。フロントエンド志望の方はJavaScript一択ですね。言語の違いは、方言のようなものなので、1つ学習すれば別の言語を学習するのもそこまで時間はかかりません。

しかし、個人的にはPythonをオススメします。理由を簡単に説明すると、用途の幅が広いことに加え、書き方がシンプルなので、初心者の方でも理解しやすいからです。

フレームワークについてざっくり説明すると次のようになります。どのようなアプリケーションを作る際にも必要となる機能があるのですが、それらの機能が施されている雛形がフレームワークです。

Python講座

まず最初にプログラミングの基礎をPythonを通じて学ぶという観点からこちらの講座をオススメします。
はじめてのPython 少しづつ丁寧に学ぶプログラミング言語Python3のエッセンス

また、シリコンバレーエンジニアの方の講座が以下のものです。この講座はPythonでできることを網羅的に解説している講座となっており、とても素晴らしい講座ではありますが、プログラミング未経験の方には少し難しい印象です。こちらの講座を選ぶにしても、とりあえずは基礎編までで十分かと思います。
現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル

上記2つの講座のどちらかを修了したらフレームワークの講座に取り掛かってもいいとは思うのですが、できれば以下の講座を受講することをオススメします。

「Pythonの文法を知っている」から「Pythonを書ける」というレベルまで引き上げてくれる講座です。私がインターンとして働いている会社でも面接の時に簡単なコーディングテストがありましたので、受講しておくことをオススメします。
【キカガク流】プログラミング力向上のためのPythonで学ぶアルゴリズム論(前編)

Pythonのフレームワーク

PythonのWebフレームワークでよく使われているのはDjangoとFlaskです。他にもありますが、この2つを目にすることが多いです。ざっくりと違いを説明すると、Djangoは大規模開発に利用され、Flaskは小規模開発向けであるといった感じです。どちらを学んでも良いと思いますが、Flaskの方が学習コストが低いと言われています。

いくつか講座を紹介するので、どれか一つを受講すればいいです。受講した後は自分で何かを作ってみることが一番成長します!

【徹底的に解説!】Djangoの基礎をマスターして、3つのアプリを作ろう!

 

こちらはDjangoの講座の講座です。私も受講しましたが、丁寧に説明してくれていて、Djangoの全体像を掴むのに最適だと思います。

Python+FlaskでのWebアプリケーション開発講座!!~0からFlaskをマスターしてSNSを作成する~

こちらはFlaskの講座ですね。Pythonの文法もセットになっている講座なので安く済ませたいという方はこちらがいいのではないのでしょうか。私はこの講座自体は受講していませんが、この講師の他の講座を受講しており、一生懸命説明しようとしてくれているのが伝わってくる講師でした。

現役シリコンバレーエンジニアが教えるPythonでFXのシストレFintechアプリの開発


こちらはシリコンバレーエンジニアの方のFlaskを使ってFXの自動トレードアプリケーションを作る講座です。FXに興味がある人は上記2つの講座よりも取り組みやすいのではないかなと思います。

PHP

基本的にはPythonの講座を受けていたのですが、インターン先の業務の関係でPHPと、そのフレームワークであるLaravelを勉強する必要があったので、PHP/Laravelの講座を受講しました。PythonではなくPHPを勉強したいという方は以下の講座が良いと思います。

PHPからLaravelまで サーバーサイドをとことんやってみよう【初心者から脱初心者へ】【わかりやすさ最重視】

Ruby

Ruby言語を開発した人が日本人ということもあり日本ではよく使われている言語です。そのため、この言語を学習することを薦めている人が多いです。スクールもほとんどがRubyとRuby on Railsです。

以下の講座はRubyとRuby on Railsがセットになった講座なのでお買い得です!

フルスタックエンジニアが教える 即戦力Railsエンジニア養成講座

まとめ

私がインターンに採用されたときの知識のレベルとしては、これらの講座を受講し終えたくらいのレベルでした。

勘違いして欲しくないのは、ここまでの知識で一人前のエンジニアとして働けるわけではないということです。私自身、毎日わからないことだらけで、休みの日も勉強している状態です。ですが、ここまでの知識を身に付けたのであれば、エンジニアインターンの採用募集に申し込んでみる価値はあります。

私はフレームワークの講座を終えて、自分で何かを作ってみようと思ったところで、WantedlyにPythonを使えるインターンの新着募集があったので、ダメ元で応募してみたら採用されたというわけです。

社会人のエンジニア転職ではポートフォリオ(製作物)は必須かもしれませんが、長期インターンは実際のところアルバイトですから、そこまで求められないのかもしれないです(もちろん会社によりますが)。

もちろん、何かを自分の手で0から作れば成長できますが、「お金を貰っているから結果を出さないといけない」という状態に自分を追い込んだ方が勉強に身が入り、成長できると思います。ですので、このくらいの知識をつけたら、勇気を出してインターンに応募してみてはいかがでしょう?

本番はインターンではなく就職活動の時ですので、なるべく早い段階でインターンで実務経験を積んで、現場使われているものやコードの書かれ方を参考にして就職活動のためのポートフォリオを作ることがベストだと思います。

スポンサーリンク
おすすめの記事