
マスターKさ~ん
そろそろ転職活動の準備を始めようと思っているんですが、ポートフォリオは何を作ればいいんですか?



ポートフォリオは企業に自分を売り込む自己紹介資料の1つだよ。
いまはAIエンジニアを目指して応募する人がたくさんいるから、ライバルから頭一つ抜け出せるように、差別化したポートフォリオを作ることが大切なんだよ🙂



わたしもポートフォリオを作ろうかしら🙄
コードを写経して量産型のWebアプリ(ポートフォリオ)を準備しても、企業に評価してもらうことはできません。
この記事ではライバルに差をつけて転職を勝ち取ることができるポートフォリオの作り方を解説します。
この記事を読むことでAIエンジニアへの転職を実現するポートフォリオを作る手順が全て分かります。
結論:トレンドを押さえたポートフォリオをチームで作ることがベスト。
2020年代のいま、AIエンジニアへの転職を希望する人はたくさんおり、その多くがAI系プログラミングスクールに通い、スクールのカリキュラムに沿って似たりよったりのポートフォリオを作ってしまっています。
そのような量産型のポートフォリオは企業の面接官からは評価されにくいです。
未経験からAIエンジニアへの転職を実現するためには、他の応募者から頭一つ抜き出る特徴があるポートフォリオを作ることが重要です。
企業から見たポートフォリオの評価ポイント
・スキルレベル
・コードの質
・オリジナリティ
・開発方法
企業がポートフォリオを評価するポイントを整理すると、上のようになります。
スキルレベルやコードの質はプログラミングスクールの課題をそのまま提出した場合でもある程度の評価されるレベルになるので、それらで他の応募者と差が出すことは難しいです。
そのためポートフォリオで他の応募者と差別化するためのポイントはオリジナリティと開発方法の2点になります。
具体的には「世の中の流れにのったトレンドをおさえた内容のポートフォリオでオリジナリティを示すこと」と「ポートフォリオをチーム開発で作ることで転職後に活躍できるイメージを伝えること」の2つをおこなうことで企業からの評価をぐっと高めることができます。
この記事ではなぜこの結論になるかを解説し、内定を勝ち取ることができるポートフォリオの作り方を紹介します。



企業がポートフォリオをチェックするポイントはたくさんあるんですね…😮💨



私はマーケッターなので世の中のトレンドを抑えたポートフォリオを作ることはできそうです💪
ポートフォリオとは?


ポートフォリオ(Portfolio)の語源は「大きい薄型ケース」「書類入れ」で、現在は投資系と教育系とクリエイター系で、それぞれ異なる意味を持つ言葉として使われています。
ポートフォリオ(Portfolio)の意味
参照:マイナビクリエイターの記事「ポートフォリオとは – Portfolioの意味と3つの業界での使い方」
・投資系
→現金、預金、株式、債券、不動産など、投資家が保有している金融商品の一覧や、その組み合わせの内容
・教育系
→教育における個人評価ツール(パーソナルポートフォリオ)
・クリエイター系
→いわゆる「作品集」であり、自分の職種(あるいは転職希望職種)における実績や力量を評価してもらうために作成する資料
エンジニアにとってのポートフォリオという言葉には教育系とクリエイター系の両方のポートフォリオの意味が含まれています。
エンジニアとしての可能性とやる気を示す教育系の意味と、エンジニアとしてのスキルを示すクリエイター系の意味の両方があるのです。



エンジニアにとってポートフォリオは重要なものなんですね^_^
エンジニアにとってのポートフォリオ
未経験からエンジニアを目指す人にとって、ポートフォリオとは具体的にはITやAIスキルを応用した作品のことで、Webアプリを作ることが多いです。
※本来「ポートフォリオ」とは広い意味での自己紹介資料であり、スキルシートや資格の紹介も含むものですが、未経験からエンジニアを目指す場合には特に作品そのものをポートフォリオと呼ぶことがIT業界で一般的なため、この記事ではその慣習にならい、作品そのものをポートフォリオと呼ぶことにします。
そして、そのポートフォリオをポートフォリオサイトで紹介します。


ポートフォリオサイトには、ポートフォリオの紹介にとどまらず、エンジニアとして自己紹介になる資料全般をのせます。
ポートフォリオサイトの内容
・スキルシート
・ポートフォリオの紹介(ポートフォリオとコードへのリンク
・所有している資格の紹介
・発信の紹介(発信サイトへのリンク)
・希望の仕事内容
・職務経歴
上の図を見れば分かるように、ポートフォリオの紹介や発信サイトへのリンクに加えて、職務経歴の内容を載せたものがポートフォリオサイトと言えます。
以下は参考までにAIエンジニア向けのポートフォリオサイトのテンプレートです。
##基本情報
名前:〇〇
メールアドレス:〇〇
Twitterアカウント:〇〇
ブログアドレス:〇〇
##資格
ITパスポート
JDLA G検定 2022#2
JDLA E資格 2022#2
##スキル
言語|ライブラリー|パッケージ
Ruby|RubyonRails
Python|django|Numpy,Pandas,matplotlib,JupyterNotebook
##希望の職種
製造業や農業、建設業、小売業、介護、物流などのリアルな産業の現場において
AIによるDXの支援しているSIerで機械学習エンジニアとして経験を積みたいと考えています
##職務経歴
2020/9-2022/10:株式会社〇〇でWebエンジニアとして新規事業開発に従事
≪担当業務≫
・要件定義、基本設計、デザイン、コーディング
≪習得スキル≫
・コーディング技術 Ruby,RubyonRails
・データベース設計 SQlite,PostgreSQL
・Githubを利用してのコード管理
・HerokuとAWSの使い方
・ユーザーヒアリングを基にしたリーンスタートアップ方式でのサービス実装
上のような内容を含んでいればポートフォリオサイトとしての体裁が整います。
そしてポートフォリオサイト自体はGithub Pages(ギットハブページ)のような静的サイト向けのホスティングサービスを使って自作したり、Resume(レジュメ)のような既存のサービスを使って作るのが一般的です。
ポートフォリオサイトを作るのに利用できるツール例
・Github Pages(ギットハブページ)
・Resume(レジュメ)
・Wantedly Visit(ウォンテッドリー ビジット)


https://www.shokiishii.com


自分にとって使い勝手の良いポートフォリオサイト作成サイトを見つけてみてください。
未経験からエンジニアを目指す人がポートフォリオを作らないといけない理由



転職活動ではポートフォリオを絶対に用意しないといけないんでしょうか?



それは応募者の経歴によるんだよ。
エンジニアとして働いた経験があったり、コンピュータ・サイエンス系の学位があったりするのであれば無理に作る必要はない。
だけど、ユウスケ君のように高卒未経験の人には必須だよ^_^



わたしも作ったほうがよいのかな?🙄
エンジニア志望者にとってのポートフォリオ(作品)を作る目的は、スキルとやる気を示し、他の応募者との違いを生むことです。
また、企業も未経験のエンジニアを採用するときにはポートフォリオによる評価を重要視する傾向があります。
※エンジニア経験者の場合はポートフォリオよりも職務経歴が重要視されます。
エンジニアに求められる資質
・細部へのものづくりへのこだわり
・日々変化するテクノロジーの新しい知識を学びつづけることができる適応力
・決められたスケジュール期間内に仕事をやりきる力
・仲間と共同で作業できる能力
企業がポートフォリオを重要視する理由は、ポートフォリオによって、志望者の経歴やスキルシートだけでは測るのが難しい「エンジニアとしての資質」を見定めることができるからです。
そのため、理系大学院卒のような際立った経歴がないのであれば、ポートフォリオは作ったほうがよいでしょう。
ライバルと違いを生むためのポートフォリオ戦略
この章でがポートフォリオを作る上での戦略について紹介します。





企業は応募者のポートフォリオのどんなところをチェックしているんでしょうか?



エンジニアはものづくりをする仕事だから、応募者のものづくりへのこだわりをポートフォリオでチェックしているんだよ〜
どんなポートフォリオでも作ればよいというわけではなく、企業に評価される作品を作らなければいけません。
そのためには企業の評価ポイントを理解した上で、内定を勝ち取るポートフォリオを戦略的に作りましょう。
・スキルレベルは一定以上か?
・コードの質は運用に耐えるクオリティか?
・オリジナリティはあるか?
・現役エンジニアが実務で使っているモダンな開発方法で作らているか?
エンジニアの仕事は一言で言えばテクノロジーを使ったものづくりなので、ものづくりをする上で必要な資質が応募者に備わっているかどうかを企業はチェックしています。
評価ポイントを一つずつ見ていきます。
スキルレベル
AIエンジニアとして転職するために必要なスキル
①コンピュータとWebの知識
②Pythonの基礎
③AIで使う数学の知識
④AIの知識
⑤Pythonを使ってAIモデルを実装したり、データを分析する実装力
上の図は未経験からAIエンジニアへの転職を実現するために必要なスキルを整理したもの。
転職に向けてポートフォリオを作る段階ではこれらのスキルアップを学び終えているはずので、ポートフォリオにはこれらを最大限盛り込むべきです。
特に①~④の応用スキルである⑤の「Pythonを使ってAIモデルを実装したり、データを分析する実装力」を示すことを意識することが重要です。
未経験からエンジニアを目指す人にとってポートフォリオをつくる目的は
経験があるエンジニア
コードの質
プロのエンジニアはただ単に動くコードを書けるかどうかだけではなく、長期的に運用できて仕事仲間のプログラマーに引き継ぎできるようなコードを書くことが求められます。
コードは理解しやすくなければならない。
引用:リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)
優れたコードは見た瞬間に何をしているのかが伝わってくる。
そのためポートフォリオのコードに関しても品質を意識することは大切です。
コードの品質の例
・可読性
インデントを整え、空行もうまく使いながら規律や一貫性のあるコードであること。
・保守性
複雑なコードは修正や拡張がしにくくバグも発生させやすいため、最適化され、シンプルな構造で作られていること。
・再利用性
ひとつの処理のために複雑・巨大な関数を用意するのではなく、シンプルな構造で再利用性の高い構造であること。
参照サイト:「ソースコード品質とは?なぜコードの品質が大事なのか?」
コードの品質が高いエンジニアは一緒に働く同僚のエンジニアから評価されやすい傾向があります。
コードの品質は経験によるところが大きいため、エンジニア未経験者が多面的にコードの品質を高くすることは難しいですが、最低限インデントを整えて可読性を高めておくことぐらいはやっておきましょう。



コードの品質のことなんか今まで一度も考えたことありませんでした😅
これからは意識するようにしなくては….
オリジナリティ
続いてオリジナリティについてです。
ポートフォリオの4つの評価ポイント(「スキル」「コード」「オリジナリティ」「開発方法」)の中でもオリジナリティは特に重要です。
エンジニアを目指す人が増えた今は、最低限のスキルやコードを備えたポートフォリオは溢れています。
※プログラミングスクールの課題で作るようなどこにでもある作品(例:MINSTの文字認識)をポートフォリオとして提出したら、エンジニアに本気でなりたいのか疑われてしまいます。
そのような状況の中で頭一つ抜き出る方法は、オリジナリティのある企画でポートフォリオを作ること。
そして企画出しするときのポイントはプロダクアウトとマーケットインの2つの視点です。
マーケットイン:顧客のニーズにフォーカスしてビジネスを展開するマーケティング手法のこと
引用:【3分解説】マーケットインとは?プロダクトアウトとの違いや時代遅れといわれる理由も
プロダクトアウト:自分たちが純粋に開発したいもの・世の中に広めたいサービスを基準として、商品開発しビジネス展開するマーケティング手法のこと
プロダクトアウトは「自分が作りたいものを作ること」で、マーケットインは「社会からの需要があるものを作ること」。
自分自身が競馬が好きだから過去のデータを学習してレースの予想をするAIモデルを作ってみたり、好きなアニメのキャラがおり、そのキャラに似せた画像を生成できる画像生成サービスを作ってみたりするのがプロダクトアウトによるポートフォリオづくりです。
「自分が作りたいものを作りたいように作る」のがプロダクトアウトのため、作ったものが企業から評価されるかどうかは予測しづらいです。
プロダクトアウトはマーケットインよりも難易度が高い手法と言えるでしょう。
そのためガチAI編集部ではポートフォリオを作るのが初めての人はマーケットインで考えて作ることをオススメします。
具体的に言えば世の中のトレンドや応募したい企業が作っているサービスを調べて、それにフィットしたポートフォリオを作るのです。
例えば、コロナ禍だった2021年には、非接触で認証できるAIによる顔認証サービスやオンライン授業で利用できる感情認識モデルがトレンドだったので、それに類似するポートフォリオを作っていたら企業から目を引き、高く評価されていたはずです。
2023年の今だったらChatGPTによって大規模言語モデル(LLM:Large Language Models)が流行っているので、それに関連したポートフォリオを作るのも良いでしょう。
また、転職希望の企業の事業内容がネットショップの運営なのであれば、(小売業のオープンデータを使い)購買履歴にもとづくAIのリコメンド機能のようなポートフォリオを作ったりすると評価されます。
このようにポートフォリオの作成では自分のAIスキルや興味関心だけでなく、社会や企業のニーズもふまえて作るべきです。



マーケットインの考え方であれば企業に評価されるポートフォリオを作れそうですね^_^
開発方法
AIエンジニアの仕事の5割くらいは仕事仲間との共同作業です。
チームの一員としてエンジニアの共同作業の例
・コードのレビュー
・Gitを使ったコード管理
・
企業はチームの一員としてプロジェクトに参加した経験がある人を即戦力として評価します。
そのためポートフォリオも一人ではなくて仲間と一緒に作ることができれば、「転職後に活躍してくれそうだ」と企業に思われ、希少価値が上がります。
プログラミングスクールやもくもく会でポートフォリオを一緒に作る仲間を見つけたり、Recursion(リカージョン)のようなチーム開発の経験ができるサービスを利用してみるのもオススメです。
コンピュータサイエンスを学んでトップエンジニアを目指す【Recursion(リカージョン)】




企業から評価されるポートフォリオを作るのは難しそうです….



自分一人でゼロから作る必要はないんだ
最初は人のマネでも良いんだよ~
最後に、違いを生むためのポートフォリオの内容を整理してみます。
ライバルと違いを生むためのポートフォリオの条件
・Web上に公開されていること
・他のエンジニアが読むことを意識した可読性が高いコードで書かれていること
・トレンドをおさえていてオリジナリティがあること
・共同作業で作られていること
この条件をすべて満たすのは時間が限られている転職活動で難しいことですが、2つぐらいは満たすように意識してみてください。
ポートフォリオの作り方





ここからは実際のポートフォリオの作り方を説明します。
ポートフォリオを作る順序
①企画
②設計
③デザイン
④環境構築
⑤コーディング
オリジナリティのあるポートフォリオは企画から生まれます。
クラウド
・Heroku
・AWS Lightsail
・Vercel
その場合は自分が作りたいポートフォリオと似たサービスで公開されているコードを探し、それを参考にカスタマイズすることがオススメです。
AI系のポートフォリオ作りで参照できるサービス
・Techpit
・Github
・Across Recipe
・Pyimagesearch
ポートフォリオの例


最後にAIエンジニアを目指す際に参考になるポートフォリオを紹介します。
ポートフォリオの例
・画像認識関連→物体検知、顔認証、表情分析、画像生成
・自然言語関連→
・データ分析関連→オープンデータを使ってデータマイニング
すると大きくWeb関連のものとAI関連のものに分けることができます。
機械学習系
データ分析系
まとめ



早速、ポートフォリオを作り始めようと思います!



希少性があるポートフォリオを作って企業を驚かせるんじゃ!
ポートフォリオを作ることに決めたら、最初にやることは企画決め。
自分が作りたいものや社会のトレンドから企画を考えましょう。
このときに現役で働くエンジニアに相談して企画へのフィードバックをもらうことがオススメです。
現役のエンジニアはAI業界の技術トレンドや流行っているサービスに仕事を通して普段から触れているため、作ろうとしているポートフォリオの企画が企業からウケるかどうかを正しくフィードバックしてくれることでしょう。
※注意点
転職エージェントはエンジニアではないため技術トレンドを知ってません。そのため、転職エージェントにポートフォリオのフィードバックを求めることをしてはいけません。
現役のAIエンジニアに話をきくことができるサービス
・
ガチAIへの相談リンク