エンジニアの就職や転職、特に未経験エンジニアで重要になってくる「ポートフォリオ」という言葉を聞いた事がある方は多いかと思います。
ポートフォリオの重要性は近年急激に上昇しています。昔よりも技術が発展し、要求される技術レベルも段々と上がっているのが現状です。
今回はこの「ポートフォリオ」の重要性と、どのようにして自分自身のポートフォリオを構築していけば良いのか?について、順を追って解説していきます!
本記事を読了すれば、ポートフォリオの重要性が認識できるとともに、今日からポートフォリオの構築に向けて行動できるようになるはずです。是非最後まで読んでみてください。
ポートフォリオとは
エンジニアにおける「ポートフォリオ」とは、自分自身の実力をアピールできる成果物の総称です。ポートフォリオとは、エンジニア界隈だけでなくデザイナーや金融業界でも使われいていますが、業界によって若干の意味合いの違いが存在しています(例えば、投資信託や株式といった金融商品の一覧や組み合わせ内容を指す金融用語にも使われます)。
自身の制作したプロダクトについて、そこに使われている技術、雰囲気・選定したテーマなどのあらゆる角度から、その人がどのようなエンジニアリングスキルを持っているか判断することができます。
そのため、ポートフォリオさえあれば、会社などのエンジニアを雇いたい側が、そのポートフォリオを元に、求めている人材かどうかある程度把握できるのです。
就職や転職などの面接でポートフォリオを要求されるのはこのためです。
ポートフォリオの必要性
上記でも書きましたが、ポートフォリオは就職活動や転職活動で非常に有利にはたらきます。
ポートフォリオがない人とある人では、そもそも技術に対して自分で行動して挑戦しているかという姿勢の違いが見られます。ポートフォリオの実装がどれだけ普通のものだったとしても、それを作ったことがある・提示できるものがない人と比較して前者の方が優遇されるのは明らかです。
そのため、ポートフォリオを作る時間を確保できるのであれば、必ず作ってからエンジニアのキャリアに挑戦するのが良いでしょう。
未経験エンジニアは特に必要
業務経験のない未経験エンジニアは特にポートフォリオが必要になります。
ポートフォリオが無いと、会社などの第三者から、ベースの技術力があるのかどうか判別できないからです。
業務を経験している場合、携わったプロダクト・サービスにおいてどのようなことをしていたかで技術力を判断することができます。しかし、未経験エンジニアの場合、どこからどこまでの知識・技術力を保有しているのか、話さないと判断することができません。
また、仮に面接などで話をしたとしても、自分自身が技術のことについて深い知見を持っていない場合、本来アピールできるはずだった部分を説明できないと言うパターンがあります。
そのため、お互いの認識のズレを解消することができる「ポートフォリオ」は未経験エンジニアにこそ必要なのです。
未経験エンジニア(初心者)がポートフォリオを作るメリット
それでは、ここから未経験エンジニアがポートフォリオを作るメリットとその注意点について説明していきます。
ここに書いてある事以外にもメリットはあるかと思いますが、主要だと感じたものを挙げます。
メリット①:自分のプログラミングスキルが証明できる
ポートフォリオがあれば、自分が保有しているスキルを成果物に反映できるため、技術力を一発で証明することができます。さらに、ローカルで動くものだけでなく、サーバーへデプロイし「テスト」や「CI/CD」も実装しているとなるとかなり一目置かれることかと思います。
そこまでやる未経験エンジニアの方はなかなかいないため、特にインフラ周りの知見を蓄えておくと他のエンジニアと差別化することができます。ここまでやればポートフォリオが選考でかなり有利にはたらくでしょう。
稀にOSS(オープン・ソース・ソフトウェア)にコミットしている人も見かけますが、そのレベルだと未経験の一般的な技術力の枠を超えているので、あまり気にする必要はありません。挑戦したい人は是非してみてください。笑
メリット②:キャリアの振り返りにも使える
ポートフォリオを制作するメリットは、自身のプログラミングスキルを伝えられるということだけではありません。
これまでに経験してきた仕事を改めて一括の場所(ご自身のポートフォリオサイトなど)で整理することで、スキル、キャリアの振り返りに役立ち、また次のステップ(転職先)に進むための方向性の確認などとしても活用することができます。
メリット③:技術力の方向性をアピールできる
ポートフォリオは単純な技術力の提示ではなく、自身が保有するスキルセットから今後どう言う技術力を伸ばしていきたいなどの傾向を把握することができます。
使用言語や興味のあるテーマ、自身が今勉強していることを同時に添えると、面接時においても会社とのミスマッチがかなり減らせると思います。
技術の方向性のアピールをするために、ポートフォリオを整理しておくことはしておいた方がよいでしょう。
注意点①:ポートフォリオの制作には時間がかかる
ポートフォリオは1日や2日で作れるようなものではありません。日々の技術の学習に加え、学んだことを制作物に活かす必要があります。
そのため、自身の就職や転職の時期に合わせて時間を確保し、制作に取り掛かる必要があります。すぐに制作できるものもありますが、時間がかかっておりかつ技術力もあるようなポートフォリオの方が評価されやすいので、ここは気合を入れて挑まないといけない部分ではあります。
注意点②:他のエンジニアとの差別化が難しい
特に未経験エンジニアや初学者のエンジニアに起こりがちなのが「ポートフォリオの均一化」です。
プログラミングに関する情報が発達してきた近年ですが、インターネット上に載っているプログラミングのチュートリアルは技術の深い部分までの解説は載っていないことが多く、「このコードを書けばこう動くのでコピペしてください」といった指示に従って勉強している人も少なくありません。(構造を理解していないけど動くものを作れている状態)
このように、多くのエンジニアも同じような機能を持った制作物を作っている事が多いため、自分がもし同じようなことをしていた場合、アピールする際にポートフォリオの差別化ができていないといった事が起こり得ます。
差別化するためには、「自分が興味のあるテーマでプロダクトを作る」であったり、「誰も触らないような情報が少ないライブラリ」を使ったり、「独自の関数を自分で組む」といった作業が必要です。
ここも時間が思ったよりかかる部分なので、ポートフォリオを作る前に事前に認識しておきましょう。
未経験エンジニア(初心者)がポートフォリオを作らないデメリット
特に未経験のエンジニアがポートフォリオを作らないデメリットとしては、以下のようなことが挙げられます。
デメリット①:面接すらできない可能性がある
エンジニアの面接では、エンジニアとして適性のあるエンジニアかどうかが見られます。
会社としても、技術力のあるエンジニアの方が雇いたいのは当たり前の話ですが、現時点のスキルに関わらずそのような素質があるかどうかも同時に判断しています。
ポートフォリオがないと、書類選考の段階で弾かれる可能性が高いです。
まずは面接というレールに乗るために、エンジニアとして必ずポートフォリオを作成しておきましょう!
デメリット②:ポートフォリオが無い=直近で技術に触れていないと認識される
ポートフォリオが提示できないということは、直近で技術に触れていた経験を提示することができないのと同じです。
エンジニアとして日々のキャッチアップは当たり前のように行われる行動の一つであり、そのなかにプロダクトやサービスの実装も含まれています。
知識があっても手を動かさないプログラマはプログラマであはありません。PMのスキルを伸ばしたいのであれば話は別ですが、技術力を追っていきたいのであればポートフォリオの制作は必須です。
そのため、ポートフォリオの提示が無いと、他の候補者よりも劣後的に見られる可能性があります。
ポートフォリオの作り方
ポートフォリオを制作する重要性がわかってきましたでしょうか。それでは、ここからはその「ポートフォリオ」の作り方について1つずつ解説していきます!
是非ご自身のポートフォリオ制作に生かしていただければと思います。
ポートフォリオ題材の選ぶ
ポートフォリオ題材の選び方ですが、先で述べたように、まずはご自身の興味のある領域でサービスを考えてみるのが良いと思います。理由としては、最も自分が詳しい領域であり、興味のある領域ということは熱量を持って取り組むことができるからです。
まずは自分の得意な領域で課題を見つけ、それを解決するようなサービスを考案しましょう。
そのアイデアを元に、紙などに画面遷移や必要な機能を洗い出し、自分が実装できそうかどうか検討します。(この時点で、全て実装できなくても構いません。調べながら、自分の力で実装していきます。)
もし興味のある領域がない場合は、すでにある他の人が作ったサービスのテーマを横にスライドさせて、クローンアプリを作るというのもテーマを選ぶ手っ取り早い方法です。
例えば、動物病院を検索できるサービスがあるとするならば、ライブハウスを検索できるサービスにしてみるなど、領域やカテゴリは変えるけどもやることは同じ、という観点でテーマを選んでいきます。
ポートフォリオの技術を選定する
次に、ポートフォリオを制作するにあたって、どの言語・どの技術を使うかを決めていきます。これを、技術選定と言います。技術選定はポートフォリオ制作にとどまらず、サービスを作る上で非常に大事な項目です。
- やりたいことと技術の得意分野が一致しているか
- ライブラリは豊富か
- 技術は比較的新しい(モダンな)ものか
- コストは最も安価に済むか
といったことを考えながら技術選定をしていくと良いと思います。
新しい技術を選ぶ理由としては、バージョンアップが活発で技術的に新しいことに挑戦できる機会が多いからという理由が一つと、人気の技術ほど調べたら答えを持っている人が多いからという理由があります。
誰も触っていない技術だと、エラーが発生した時に解決策がインターネット上に無く、そこでポートフォリオ制作が止まってしまう可能性があります。よほどの事がない限り、参考にする記事やリファレンスが多いと思われる、新しく人気の技術を選定しましょう。
相談できるメンターをつける
ポートフォリオ制作において、相談できるメンターをつけることは非常に大切です。
自分で答えを探す作業も同じくらい大切ですが、技術力向上のために最短ルートで導いてくれるメンターを付ける事ができる場合はそちらもおすすめします。
技術力のあるメンターの場合、調べるべき部分はその部分の指南も行ってもらえるはずで、独学でも同じことをしますが技術力が伸びる速度が圧倒的に向上します。
ポートフォリオの制作の時短をしていきたいなら、メンターのような存在は必須と言えるでしょう。
ポートフォリオサイトを作る
ポートフォリオが完成したら、それを掲示するために「ポートフォリオサイト」を構築しておくと良いでしょう。
このポートフォリオサイトすらも、ポートフォリオの一部としても捉えられるのに加え、見やすいサイトに制作物や実績をまとめておくことで一目で技術力やセンスを閲覧する事ができます。
名刺代わりに使えるというメリットもありますので、是非作っておくことをお勧めします。
ポートフォリオサイトを作る
ポートフォリオサイトには、最低限以下の情報が含まれていると良いと思います。1つずつ確認していきましょう。
自己紹介や経歴
まずは自分の自己紹介と経歴を記述するページを用意しておきましょう。
技術以外でどういう人なのか、何に興味があるのかなど、技術以外の人となりをアピールする事ができます。
顔写真などを載せておくと脳に残るので、ビジュアル面でもある程度工夫されると良いかと思います。
技術スタック
自分が保有している技術スタックを明記するページ及びセクションも作っておきましょう。また、その技術に対してどれくらいの経験や知見があるのかを表す数値的なゲージもあると面白いでしょう。
これは少しわかるがそこまでではない、これはなんでもわかる、これは苦手などのバロメータが表示されていると、会社側も一目でその人がどういう技術・経験があるのかがわかるのでとても親切です。
制作物(ポートフォリオ)
最後に、時間をかけて作った制作物の概要とリンク先を載せるページを用意しましょう。
ポートフォリオサイトのメイン部分であり、そのポートフォリオにかけた時間や情熱、サービスがどういうものか、技術的に何が苦労したかなどの特徴を載せておくと良いと思います。
自身のポートフォリオを最大限アピールできる唯一の場所です。力を入れてページ作りを実施しておきましょう!
ポートフォリオを作る際の注意点
最後に、ポートフォリオを作る際の注意点を確認しておきましょう!
ポートフォリオサイトを作成し終わった後に、改めてチェックボックス形式で注意点がクリアされているか確認してみてください。
簡単すぎないか
ポートフォリオを作る際に最も重要視していただきたいのが「簡単すぎないか」ということです。
例えば、Todoアプリの作り方はさまざまな言語・フレームワークで解説されている記事を見かけますが、これをそのままポートフォリオにしたところであまり意味がありません。なぜならそのような記事を見ながら実装するということはエンジニアでなくても誰でもできるからです。
簡単すぎるものだと「誰でもできる」ことをただ提示しているだけで、正しい技術力の提示になりません。そういう意味で「簡単すぎないか」という部分は事前に確認しておくと良いでしょう。
独自性のあるものになっているか
サービス・プロダクトが独自性のあるものになっているかというのも第三者が見た時に評価ポイントになると思います。すでにあるものを模倣するのもそれはそれで非常に素晴らしい事なのですが、技術でも技術じゃない部分でも、隙間を見つけてそこに対して価値のあるものを提供している状態というのは誰にでもできるものではありません。
ビジネスロジックなども構築されていると、技術力+ビジネス面も考慮できるという人材として評価され、非常に市場価値の高いエンジニアになる事ができるかと思います。
実力がアピールできるものになっているか
ポートフォリオでは基礎的な技術〜発展的な技術まで詰め込まれており、自分の技術力がアピールできるものになっていたらとても強いです。
実装した機能については1~10まで自分の言葉で説明できるようになっている状態が理想です。また、より発展的な技術をつかって機能を実装すると尚よいでしょう。
例えばライブラリを組み合わせて独自の機能を作ったり、自分でライブラリやモジュールを作ったり、スケーリングのことが考えられていたり、運用者目線でレスポンス速度のチューニングができていたり、と挙げたらキリがないのですが、自分の実力をアピールできるポイントは多数作れるはずです。
自分が一番得意だと思う領域で技術を極めて、それをポートフォリオに組み込むことを考えておきましょう。
ユーザー目線の部分が説明できるか
サービスを運用するにあたって「ユーザー目線」で開発を行うことは常に要求されます。
そのため、ポートフォリオの段階でユーザー目線が反映されているかどうかは常に考えておくと良いかと思います。
サービスにおいて、動くけど「使い勝手が悪い」と意味がありません。習慣的にユーザー目線で実装をし、言われなくてもユーザビリティを向上させる癖をつけておくとポートフォリオに対する評価が向上するでしょう。
コードが綺麗か
ポートフォリオは外側のフロント部分だけでなく、バックエンドの動作が重たく無いか、バグがないかといった観点も重視される場合があります。
まずは動くものを作ることが大切ですが、余力がある人は「コードリファクタリング」も実践してみると良いでしょう。リファクタリングとは、動作は同じではあるものの、コードをより洗練された形に置き換えることです。
リファクタリングは経験のあるエンジニアに見てもらうとレビューしてもらえるので、やはりメンター的な存在を一人持っておくのは有利に働くと思います。
まとめ
以上、エンジニアにおける「ポートフォリオ」の重要性と作成手順について徹底解説!就職や転職に活用できる考え方と構築方法とは?でした。
ポートフォリオは近年、エンジニアのキャリアを積み上げるにあたってとても大事なもの・考え方になります。
まだポートフォリオがない方は、ぜひこれを機会に制作を検討してみてはいかがでしょうか?
コメント