どうも、WEBエンジニアのかずま(@kazuma_engineer)と申します。
未経験から半年間Ruby・Railsを学習をして、今は自社開発企業に転職してエンジニアとして働いて2年目になりました。
最近はエンジニアを目指す人がかなり増えているように感じます。
エンジニアになるためには当然転職活動が必要だと思うのですが、未経験の方にとってはこれがかなり大変だと思います。自分も大変でした笑
そんな転職活動する上でポートフォリオの用意を多くの人はすると思います。
ただポートフォリオってどのレベルまで作り込めばよいのか、どうすれば評価されるポートフォリオになるのかと思ったことはないでしょうか?
今回は面接までこぎつけるためのポートフォリオのレベル感について自分の考えを紹介していきたいと思います。
(今回はポートフォリオ=オリジナルアプリの作成という前提で話していきます。)
目次
ポートフォリオの役割と重要性について
まずポートフォリオの役割と重要性について自分の考えを書いていきます。
ポートフォリオの大きな役割は、書類選考の通過だと思っています。
書類選考なので、履歴書や職務履歴書、アウトプット等を見て面接に進んでもらうかを判断します。
どうやったら書類選考を通過するかというと、ざっくりですが「この人の話をよく聞いてみたい」と思わせたら通過できます。会いたいと思わせたら勝ちですね。
未経験者の場合エンジニアとしての実績の部分がないので、その分アウトプットの部分をかなり見られています。なので、ポートフォリオを含むアウトプット部分が書類選考を通過する上でかなり重要になります。
ちなみに未経験の方が転職する上で一番のハードルがこの書類選考だと思っています。
今は未経験層の増加によって特に人気の自社開発企業には一つの椅子に何十人もの人が集まっている状態です。
何十社も応募したのに面接までこぎつけたのは1社もなかったなんてことも場合によっては起こりえます。
その競争を抜け出すために、ポートフォリオは未経験者にとってめちゃめちゃ重要になります。
面接までこぎつける未経験エンジニアのポートフォリオ
ストーリー性のあるポートフォリオ
個人的にはこれが1番重要なポイントだと思っています。
ストーリー性のあるポートフォリオとは、なぜこのアプリを作ったのかが自分の経験談に基づいて明確に説明できるものです。
例えば下記のような感じです。
「自分はお笑い芸人が大好きなのですが、ライブやイベントの情報を探すのに一つに情報がまとまっているサイトがなくて困っていました。なので、お笑い芸人のライブやイベント情報を検索できるWebサービスをつくりました」
このようになぜそのアプリを作ったのかが自分の体験とリンクしているポートフォリオは、ストーリーがあり共感できるので魅力的に感じられ、会いたいという気持ちになりやすいと思います。
正直技術力などで他の人と差別化するのは中々難しいと思いますが、これなら誰にでもポートフォリオで差別化できますよね。
逆にRailsチュートリアルやスクールの課題にプラスαを加えたものをポートフォリオとして提出するのは、勿体ないと思います。
なぜならただポートフォリオを提出するならその方が楽なので多くの人が似たようなものを提出して、多くの応募を見る企業からしたら何ら魅力的に思えないからです。
どんなに小さいことでも良いので、なぜこのアプリを作ったのか自信を持って説明できるようなものができると良いですね。
チーム開発を意識したGit・GitHubの活用がされたポートフォリオ
ポートフォリオを作成するときはほとんどの場合自分ひとりだと思いますが、実際の仕事ではチームで開発していく場合が主になります。
チーム開発をしていく上で大事なのがGit・Githubの使い方です。これが出来ていないと開発になりません。逆に未経験のうちから使い方をマスターしていれば、スムーズに開発に入ることが出来ます。
おそらく多くの人がポートフォリオを作成する際はチーム開発は意識していないと思うので、チーム開発を意識したGit・Githubの使い方が出来ているだけでポートフォリオの中身に関係なくそれだけで差別化することができます。
また、今のうちからチーム開発を意識した開発をしていくことは間違いなく後で自分を助けてくれることになります。
本当はチームで開発する経験できれば一番良いのですが、一人でも擬似的にチーム開発のように開発することができます。
gitの使い方に関しては、動画だったらUdemyのGit: もう怖くないGit!チーム開発で必要なGitを完全マスターのコースがおすすめです。書籍なら
あとは勝又さんの下記の動画がとても参考になるので、ぜひご覧ください。
運用を意識したポートフォリオ
ほとんどのポートフォリオは転職するためのものなので、実際に運用まで考えていないものがほとんどです。
ただ実際の実務ではリリースしたら当然それを運用していくことになります。
運用のことまで考えたポートフォリオを作る人はめったにいないと思うので、かなり目立つと思います。
ただ運用のことを考えるってどういうことなのかあまりイメージがつかないと思うので、例を出してみます。
- 管理画面でユーザーなどの管理を行える
- グーグルアナリティクスのタグを埋め込んでサイトの状態を見える化して簡単な分析ができるようにする
- 情報をCSVで出力できる機能
- 後々の機能改善や修正ができるようにテストコードが書かれている
- 運用コストをできるだけ下げて開発に集中するためにデプロイやテストが自動化されている
あんまりピンとこないかもしれませんがサービスを作ることだけじゃなくて運用し続けることも考えられたら、もはや実務と言っても良いかもしれません。
ひと目で分かるポートフォリオ
折角ポートフォリオを作ってもそのポートフォリオのどこをこだわったのか、技術スタックは何なのか等の記載が全くなければ、アピールになりません。
中身も大事ですが、どう見せるかもとても大事です。
企業の担当者はとても忙しいです。自分のタスクをこなしながら、何件もくる応募を確認して面接の対応までします。
なので、そんな忙しい人でもひと目で自分のポートフォリオについてアピールする必要があります。
以下の情報は必ずReadme等にまとめておくと、企業の担当者は見やすいと思います。
- アプリの概要
- 制作の背景・理由
- 技術スタック
- 開発及び本番環境の構成
- どんな機能を実装したか
- こだわったポイント等
また、アプリなどもログインしなくても見られるようにしたり、どこのボタンを押せばどうなるのかがわかりやすいようにUIも調整できるとさらに良いと思います。
フレームワークを使わずにRuby・PHPなど素の言語を使ったポートフォリオ
これは個人的におすすめな方法です。
多くの人がフレームワークを使ったポートフォリオのみを提出すると思いますが、フレームワークを使ったポートフォリオにプラスして素の言語だけを使ったプログラムをポートフォリオとして出してみてください。
フレームワーク(特にRails)は使うことでいろんなことを勝手に設定してくれますが、フレームワークに依存するがあまり内部的に何が行われているのかわからずに使ってしまっている人が多いです。
フレームワークを使わないことによって、言語自体の理解力を示すことができます。
素のプログラミングでもきちんとかけてるから、フレームワークも問題なく使いこなせると思わせることができると思います。
オリジナルアプリを作成するより全然作る時間もかからないと思うので、かなり有効でコスパが良いと思います。
最後に
今回、面接までこぎつけるポートフォリオのレベルに関して技術的な部分は記載していません。
もちろん技術的なチャレンジが多いほうが評価はされると思いますし、技術力が高いに越したことはないと思います。
ただ技術力で人と差別化できるレベルくらいの人なんてほんの一握りだし、個人的にはそこを目指すのは中々難しいのかなと感じています。
技術力以外でも差別化して面接までこぎつけるレベルにすることは工夫次第でいくらでもできると思いますし、自分的にはそこも伝えたかったです。
これからも未経験からエンジニアになる方の助けになるような情報を少しでも発信していけたらと思っています。
ここまで読んでいただき、ありがとうございました。良かったらTwiiter(@kazuma_engineer)もフォローしてみてください!


