【具体例】エンジニアによるプログラミングのポートフォリオの作り方





プログラミング初心者にとって、ポートフォリオは重要な役割を持ちます。

特に、エンジニア就職・転職活動では必須になります。

  • ポートフォリオ作成がわからない人
  • ポートフォリオ作成のポイントが知りたい人
  • エンジニア就職・転職で悩む人

これらの悩みを解決しながら、ポートフォリオの作り方を解説します。

記事を読み終えると、ポートフォリオ作成の重要性とエンジニア就職・転職活動の方法が理解できます。

結論は、質の高いポートフォリオが重要であり今後のエンジニア活動を大きく左右します。

汎用性の広いPythonを0から習得するためのフロー及び実際にPythonで開発を行い開発案件を獲得するまでの筋道について解説しているチュートリアル資料と

コーディングの参考となる実際にPythonを使って作ったツールのソースコードを無料で配布していますので、こちらも併せてご覧ください。

初心者・入門者でも30日間で学習できるおすすめPython学習方法

 

おすすめのPython学習サービスをまとめてみました。挫折することなく一直線にエンジニアを短期集中で目指している人はこちらから確認してください。 

【おすすめ】Python学習サイトPyQが初心者に選ばれる理由

プログラミングを学ぶ上で作りたいものがない人へ提案させてください

 

エンジニアによるポートフォリオの作り方

エンジニアによるポートフォリオの作り方は、いくつか存在します。

特に、Web系エンジニアであれば以下の2つが一般的なポートフォリオの形です。

  • GitHubによるポートフォリオ
  • Qiitaによるポートフォリオ

執筆時点では、これら2つが基本的なポートフォリオの形です。

GitHubによるポートフォリオ

ポートフォリオのソースコードは、GitとGitHubのリポジトリを活用してバージョン管理するのが基本です。

そのため、GitHubを利用して過去の作品・プロジェクト等をまとめておくと良いです。

GitHubを利用したポートフォリオ作成は、以下のメリットがあります。

  • 開発環境はGit/GitHub採用が多い
  • バージョン管理の理解
  • 開発体系の一部理解

プログラミング初心者でも今後のエンジニア活動を想定するなら必ず理解しておく必要があります。

BitbucketやGitLabといったGitHub同様のWebサービスがありますが、GitHub活用が圧倒的です。

Qiitaによるポートフォリオ

QiitaはIT業界で最も有名な技術ブログサービスの一つです。

未経験のエンジニア就職・転職活動でもQiitaの技術記事は有効です。

  • 学習意欲の高さ
  • 学習レベルの把握・理解

採用側もこれらの学習状況を判断できます。

Twitterによる情報発信も有効な場合があり、QiitaとTwiiterのアカウントによって企業に好印象を与える可能性もあります。

学習内容も初歩的(Git/GitHubの基本コマンドとバージョン管理方法など)でも問題ありません。

数が少なくても良いので、継続した情報発信が効果的です。

ポートフォリオ作成のポイント

別業種で既に働く社会人がエンジニア転職する場合、ポートフォリオは最重要の役割を担います。

質の高いポートフォリオを作成するポイントは、以下の11項目です。

  • 問題意識が伝わるテーマ選び
  • アプリ用途/機能が直感的に理解できる
  • UI/UXのデザイン性/操作性の良さ
  • レスポンスの高速性
  • テストデータによるでも実施
  • 機能数の豊富さ
  • テストコードの記述
  • 不具合への対応
  • DRY原則の適用
  • GitHubによる開発環境
  • 若干難易度の高い技術チャレンジ

これらの項目を意識してポートフォリオ作成に挑みましょう。

ポートフォリオ作成時は、過程を情報発信するとさらに効果的です。

問題意識が伝わるテーマ選び

Web系エンジニアの仕事は、「テクノロジーでソリューション提供しビジネスに貢献すること」です。

企業は業務に対しモチベーションが高いIT人材を求めます。

ポートフォリオの問題が浅いと「問題解決への熱意」が低いとジャッジされます。

例えば、コロナウィルスの影響によってリモートワークが増えたことからシンプルなビデオアプリケーション開発に取り組むなど、社会的な問題意識を持つと良いです。

社会的問題意識ではなく、福利厚生や働き方への理想だけでエンジニアを目指す人だと注意が必要です。

アプリの用途/機能が直感的に理解できる

ユーザーの視点から物事を考えられる人がポートフォリオから汲み取れると良いです。

独自性を考えすぎると、無駄な機能や複雑な仕様になります。

一般的なWebサービスを利用して、シンプルな機能一覧や制限を持たせた機能をまとめておくと良いです。

それらをポートフォリオ作成時に活用しましょう。

UI/UXのデザイン性/操作性の良さ

アプリ・サービスを実行した時の第一印象は重要です。

Webデザイナーになるわけではないですが、エンジニア業務でもmaterial-UIやBootStrapなどのCSSフレームワークの活用を図りましょう。

特にフロントエンドエンジニアを希望する場合、アプリケーションの画面実装は発生する業務です。

またデザイン性に合わせ、操作性も意識して作成しましょう。

レスポンスの高速性

ページ速度もユーザーを意識した取り組みなので、重要なポイントです。

SPA技術もあり画面遷移自体の改善されていますが、レスポンスが遅延すると使いづらさに影響します。

Googleの「Page Speed Insights」といったツールもあるので、ポートフォリオの改善時は活用しましょう。

レスポンスの遅延は、効率の悪い処理が紛れています。

レスポンス対応は、ユーザーを意識した改善のため加点評価になります。

テストデータによるデモ実施

アプリケーションを運用する想定のもと、テストデータによるデモ実施も重要です。

エンジニア業務に関しても、本番運用の前にテスト運用が実施されます。

アプリ・サービスが正しく動作してるか、バージョン管理は正しく行えるかといった判断を下すためにデモ実施は大切なポイントです。

作り上げて終わらないのがアプリケーション開発の分野なので、保守・運用の考え方を身に付けましょう。

機能数の豊富さ

機能が充実したアプリ・サービスは重要です。

最近ではプログラミングスクール等で最低限の機能あるいは1〜2つほど機能追加したポートフォリオ作成が一般化しています。

特にメディア系サービスのポートフォリオの場合、スクール生の量産型ポートフォリオと差をつけないと採用時に埋もれます。

問題意識が伝わるテーマ選びに関連して、機能追加の検討を実施しましょう。

テストコードの記述

特にWeb系自社開発企業は、単体テストや統合テストのコード記述が必要になります。

ソフトウェアテストの考え方を理解しておくと良いです。

単体テストだけでなく、統合テストも記述できると評価が得やすいです。

不具合への対応

どれだけ機能面が優れていたりデザイン性・操作性が魅力的でも、大きな不具合が一つあると問題です。

仮に、新しい技術におけるチャレンジをポートフォリオ内で実施していれば、評価を大きく下げることは回避できるかもしれません。

ただ、十分なテストコードを記述できれば基本的に不具合は回避できます。

手動だけでなく、自動テストによる不具合防止も検討/実施しましょう。

DRY原則の適用

DRYは「Don’t Repeat Yourself」の頭文字を取っており、「重複するな」という意味です。

規模によりますが、ポートフォリオのコードサイズは一般的に大きくなります。

評価を行う人も全てのコードを確認できませんが、一定の評価基準を持って可読性に注目します。

  • コードの可読性
  • 変数・定数等の定義
  • 重複コードの有無

これらの評価を企業ごとに基準を持って見定めます。

LinterやFormatterを導入し、最低限のDRY原則を適用させましょう。

GitHubによる開発環境

上述にもあったように、ソースコードはGit/GitHubのバージョン管理が基本です。

  1. 機能追加/コード修正に対応するGitHubのIssue作成
  2. Issueに対応する作業ブランチ作成
  3. 作業完了後、作業ブランチをGitHubにpush
  4. 作業ブランチからプルリクエスト作成
  5. プルリクエストをmasterブランチへmerge

これらGitHub上での一連の開発工程を理解しておくと良いです。

情報管理としてIssueで一元化できますが、古くから利用されるチケット型のRedmineなども知っておくと良いでしょう。

ポートフォリオ作成時に擬似的なチーム開発を簡単に取り組んでおくことで、Git/GitHubの活用レベルを証明できます。

若干難易度が高い技術チャレンジ

周囲のエンジニアと差別化するために、若干難易度の高い技術にチャレンジすると良いです。

オンライン学習教材でもHerokuへのデプロイ等は一般化されてるので、以下の差別化がおすすめです。

  • AWS
  • GCP

インフラ系であれば、これらに移行するだけでも十分な差別化になり、実務でも利用するため効果的です。

Googleが提供するBaaS型のFirebaseの利用も良いです。(特にモバイルアプリケーションの場合)

エンジニア設計方法を詳しく知りたい人は、「プログラミングを時間の無駄にしない人の特徴とエンジニア人生設計」で解説します。

プログラミングを時間の無駄にしない人の特徴とエンジニア人生設計

2019.11.23

ポートフォリオ作成の過程を情報発信

ポートフォリオ作成の過程は、情報発信する絶好の機会です。

ポートフォリオ作成過程の情報発信は、以下のメリットがあります。

  • 学習意欲の高さを提示できる
  • 継続的な学習姿勢を提示できる
  • 課題に対する取り組みが提示できる
  • ポートフォリオ公開によるユーザー獲得

これら4つのメリットを手に入れることができ、ポートフォリオに付加価値を与えます。

特にアプリ・サービス公開によってユーザーを獲得した場合、プロジェクト開発の一つの目的達成となり、間違いなく評価を得るポートフォリオとなります。

エンジニア就職・転職活動の注意点

質の高いポートフォリオが完成すれば、いよいよエンジニア就職・転職活動開始となります。

ただし、立場によってエンジニア就職・転職活動の注意が必要です。

  • 社会人による転職活動
  • 大学生による就職活動

大きく分けて2つの立場による活動に注意が必要です。

どちらの立場も未経験のエンジニア希望を想定します。

社会人による転職活動

プログラミング未経験の社会人で転職活動する場合、知っておかなければならない事実があります。

実務未経験からジョブチェンジする際に狙う企業は、「数人〜10人ほどのWeb系スタートアップ企業」です。

なぜスタートアップ企業をターゲットにするかの理由は以下の内容です。

  • 理系学部卒・院卒(大学推薦)がメガベンチャーの未経験枠を占有済み
  • IT/Web系企業の体質的に年齢が若い社員を求める傾向が強い

これらの理由から大手の中途採用枠の競争が激しくなり、優秀なエンジニアしか取らない傾向があります。

筆者も工学部卒の推薦による入社でしたが、大学時代に大手から名のある中小企業まで推薦で一定数の採用枠は埋まります。

有名大学ほど推薦枠が多く、学生内でも競争が激しいです。

そのため、スタートアップ企業に転職後、キャリアアップ転職を繰り返すのが無難です。(一部の天才を除く)

スタートアップ企業の求人が多いサービスは以下の2つです。

  • Wantedly
  • Green

これら2つに登録してプロフィールを充実させておきましょう。

甘い蜜のように「実務未経験者歓迎」といった企業は注意が必要です。

これはSES系企業が多いですが、いわゆる「案件ガチャ」と呼ばれ、開発仕事になるかは完全に運任せです。

大学生による就職活動

理系・文系学生どちらにおいても、プログラミング未経験の場合は大手企業への就職は難しいです。(開発業務の場合)

学生は実務未経験のため、以下の内容が充実すると新卒採用が獲得しやすいです。

  • 学生時代の研究・卒論内容
  • インターンシップ制度によるインターン枠獲得

これらが学生における就職活動時の利点です。

ただし、Web系企業のインターンは競争率が激しいため、ポートフォリオが必要になる場合もあります。

この2つを最大限活用するために、大学の就職支援センターやリクナビ等の就活サイトで充実したプロフィールとポートフォリオ・エントリーシートを完成させましょう。

まとめ

ポートフォリオ作成はエンジニア活動において重要な役割を持ちます。

ポートフォリオ作成時のポイントは、以下の項目です。

  • 問題意識が伝わるテーマ選び
  • アプリ用途/機能が直感的に理解できる
  • UI/UXのデザイン性/操作性の良さ
  • レスポンスの高速性
  • テストデータによるでも実施
  • 機能数の豊富さ
  • テストコードの記述
  • 不具合への対応
  • DRY原則の適用
  • GitHubによる開発環境
  • 若干難易度の高い技術チャレンジ

これらを意識してポートフォリオ作成を実施しましょう。

ポートフォリオ作成時は並行して情報発信するのがおすすめです。

  • 学習意欲の高さを提示できる
  • 継続的な学習姿勢を提示できる
  • 課題に対する取り組みが提示できる
  • ポートフォリオ公開によるユーザー獲得

これら4つのメリットを享受できます。

エンジニア就職・転職の注意点として、立場による考え方が重要です。

  • 社会人による転職活動
  • 大学生による就職活動

特に社会人による転職活動は、今後のキャリアアップの方針も同時に立てておきましょう。

質の高いポートフォリオ作成と情報発信を始め、エンジニア就職・転職を成功させましょう。



ABOUTこの記事をかいた人

sugi

大学卒業後、IT企業に就職を果たす。システム開発・人工知能に触れながら大手企業と業務をこなす。2年半後脱サラし、フリーランス活動経験を経て 2019年2月から起業し、今に至る。 自社サービス及び製品を開発、ブログ収入、クラウドソーシングなど、多方面で売り上げを立てている。