こんにちは!WEBエンジニアのやすおです!
未経験からエンジニアに転職をするにあたって
という意見をよく聞くと思うのですが、どういうものを作ればいいか迷われている方が少なからずいるのではないでしょうか?(僕も迷ってました。)
今回は、そんな方のために「ポートフォリオのつくり方」をご紹介します。
- 未経験からWEBエンジニア(主にバックエンド)を目指している方
- RubyOnRailsやLaravel等フレームワークを勉強している方
- ある程度プログラミングの学習が進んでいる方
- Railsチュートリアルを1周したけど、アイデアが出てこない方
主にバックエンドエンジニアを志望されている方向けに書いていますが、フロントエンドエンジニアを目指す方も、気づきがある内容だと思います。
何を作るか決める
ポートフォリオのアイデア
はじめに、どのようなアプリを作るか決めなければなりませんが、思い浮かばない方のためにアイデアをご紹介します。
- Twitterアプリ
- Instagramアプリ
- Todoリスト
- ECサイト
- 記事投稿サイト
- 掲示板サイト
- 家計簿アプリ
上記の様なアプリを、ある程度の精度で仕上げることができれば、かなりの高評価を貰えること間違いなしです。
上記が難しいと感じる方は「Railsチュートリアル」や「Progate」で作成できる「Twitterアプリ」や「投稿サイト」の延長線上にアプリを作ってみてください。
ポートフォリオ例1 Instagram風アプリ
たとえば「Twitterアプリ」のテキストを画像にすると「Instagram」になります。
これだけだと「Instagram」そのままになってしまうので、自分の好きなものだったり、趣味の要素を入れるとオリジナリティーのあるアプリが作れます。
たとえば「自撮り専用画像投稿アプリ」などはいかがでしょうか?(素材集めが大変そうですけどね汗)
※データベースのカラムの追加・変更作業や、画像保存のために外部ストレージとの連携作業などが必要になります。

ポートフォリオ例2 記事投稿サイト
Twitterは文字数制限は140字以内ですが、文字数制限を取り払い、ユーザー個別のページを作れば「ブログ」を作ることができます。
そして「ブログ」に専門的な要素を持たせれば、オリジナリティのある「記事投稿サイト」を作れます。
例えば、お寺が好きな人であれば「素敵なお寺投稿サイト」の様に、自分の好きなものと掛け合わせるとアイデアが出てきやすいと思います。

ポートフォリオを作る際の注意点
ポートフォリオを作る時に、注意しなければいけない点が3点あります。
- 完璧を求めてはいけない
- 小さく作ろう
- 期限を決めよう
1、完璧を求めてはいけない
未経験の方に、企業も完璧なサービスを作ることを求めてはいないですし、完璧に作ろうと思えば時間がいくらあっても足りません。
ある程度割り切って、自分の目標の7割程度を目指してみてください。
2、小さく作ろう
ポートフォリオを作成するときに、初めからたくさんの機能を盛り込むのはご法度です。
なぜなら、規模が大きくなればなるほど設計が複雑になりますし、それにともなって難易度が上がってしまうからです。
初めのうちは必要な機能だけで小さく作り、余裕が出てきたら随時、機能を拡大していくという方針にした方が賢明でしょう。
3、期限を決めよう
「ポートフォリオの作成」に時間を取られてしまい、就職活動がおざなりになってしまっては元も子もありません。ですので、締め切りを作って期限を切ることをおススメします。
具体的には「1か月」を目安にして取り組むのが良いでしょう。
もし期限内にポートフォリオをが完成しなさそうであれば「その時点までの成果」を本番サーバーにデプロイして就職活動をスタートさせましょう。
開発環境を決める
Railsの場合

Railsチュートリアルを1周した方は、おそらく開発環境はAWSのCloud9を利用し、本番環境はHerokuを利用されると思います。しかし、実務ではCloud9はほぼ利用されていません。
可能であれば、Linuxでサーバーを立てる方が無難だと思われます。ディストリビューションは「CentOS」「Ubuntu」あたりが手堅いです。
僕自身、Cloud9を利用してポートフォリオをつくって面接を受けていたのですが、大体の面接官の反応は・・・
みたいな、反応でした。
今からLinuxでサーバーを立てて環境を整えるのがしんどい方は、Cloud9でも良いと思います。しかしLinuxでサーバーを立てる方が角度は高いことは意識しておきましょう。
また、Cloud9を知らない面接官がたまにいるので、Linuxコマンドは知ってるよ!ってアピールが出来ればいいと思います。
Cluod9でも良いので、Linuxコマンドは使えることはアピールしよう!
PHP + Laravelの場合

Laravelを使用している場合は、「Xamp」から始めている人も多いと思いますが、こちらもできれば上記のRailsと同じように、ビルトインサーバーではなくLinuxにWebサーバーを立てる方が良いと思います。
具体的には「VirtualBox + Vagrant + Homestead + Composer」が良いと思います。
こちらは、実際の実務でもよく見ますし、設定が楽です。
デプロイ先を決める
開発環境で作ったものをデプロイするサーバーを決めなければなりません。
今まで沢山のポートフォリオを見てきた感じだと、ほとんどの方はHerokuを使ってらっしゃいました。
たまに独自ドメインを取ってサーバーを借りて運用されている方もいましたが、少なからず料金がかかることと、時間的制約もあることを考えると、無料であるHerokuにデプロイするのがベターなのではないかと思います。
終わりに
それでは、次回、どのような機能を実装すればいいかをご紹介します。


僕は元々Fラン大学出身で、ブラック企業の社畜だったのですが、30代前半でWEBエンジニアとしてIT企業に転職して人生が大きく変わりました。
WEBエンジニアは実務経験1年程度あれば月収50万円は稼ぐことが出来ますし、実務経験2~3年程度あれば年収1000万円稼ぐことも可能です。
もちろん稼ぐためには努力は必要です。しかし、逆を言えば「努力が必ず報われるのがエンジニア」という職業です。
エンジニアになって稼ぎたい!理想の働き方をしたい!と思っている方は「未経験からエンジニアになる方法」を読んで、ぜひ挑戦してみてください。