Pythonsugi【Python】エンジニアによるプログラミングのポートフォリオの作り方・コツツイートシェアはてブ送るPocketTweetプログラミング初心者にとって、ポートフォリオは重要な役割を持ちます。エンジニア就職・転職活動では必須になります。ポートフォリオ作成がわからない人ポートフォリオ作成のポイントが知りたい人エンジニア就職・転職で悩む人これらの悩みを解決しながら、ポートフォリオの作り方を解説します。記事を読み終えると、ポートフォリオ作成の重要性とエンジニア就職・転職活動の方法が理解できます。結論は、質の高いポートフォリオが重要であり今後のエンジニア活動を大きく左右します。独学に限界を感じたなら...とりあえず独学でプログラミング学習を始めたけど、右も左も分からずあなたの時間が無駄に終わるどころか挫折するかもしれません。まとめエンジニアによるポートフォリオの作り方エンジニアによるポートフォリオの作り方は、いくつか存在します。Web系エンジニアであれば以下の2つが一般的なポートフォリオの形です。GitHubによるポートフォリオQiitaによるポートフォリオ執筆時点では、これら2つが基本的なポートフォリオの形です。GitHubによるポートフォリオポートフォリオのソースコードは、GitとGitHubのリポジトリを活用してバージョン管理するのが基本です。そのため、GitHubを利用して過去の作品・プロジェクト等をまとめておくと良いです。GitHubを利用したポートフォリオ作成は、以下のメリットがあります。開発体系の一部理解プログラミング初心者でも今後のエンジニア活動を想定するなら必ず理解しておく必要があります。BitbucketやGitLabといったGitHub同様のWebサービスがありますが、GitHub活用が圧倒的です。QiitaによるポートフォリオQiitaはIT業界で最も有名な技術ブログサービスの一つです。未経験のエンジニア就職・転職活動でもQiitaの技術記事は有効です。採用側もこれらの学習状況を判断できます。Twitterによる情報発信も有効な場合があり、QiitaとTwiiterのアカウントによって企業に好印象を与える可能性もあります。学習内容も初歩的(Git/GitHubの基本コマンドとバージョン管理方法など)でも問題ありません。数が少なくても良いので、継続した情報発信が効果的です。例:ポートフォリオをGitHubに公開する一つの例として、GitHubへ公開するポートフォリオの作り方を解説します。GitHubへのポートフォリオ公開は、以下の流れになります。(特に初めての場合で記載します。Pagesでポートフォリオを公開するそれぞれの内容を解説します。Gitのインストールはじめに、Gitのインストールを実施します。https://git-scm.com/からgitのインストーラーをダウンロードします。『ダウンロード』の箇所をクリックします。お使いの各種OSに合わせて、クリックします。Installer』からクリックしてインストーラーをダウンロードします。ダウンロードしたインストーラーを起動してGitをPCへインストールしておきましょう。インストール後は、以下のコマンドでバージョン確認が行えます。--versionバージョン確認できれば、インストールが完了できたことになります。gitコマンドでユーザー登録や初期化を実施します。Git/GitHubへコマンドを利用しプッシュする際、以下のようなエラーが発生する場合があります。.git原因として、Gitの初期設定の不備で引き起こされるため、以下の内容は実施しておきましょう。"xxxxxx@gmail.com"上記のコマンドで、ユーザー名とメールアドレスの登録を実施/設定します。init次に、Gitの初期化を実施してひとまず完了です。GitHubへアカウント登録する次に、GitHubへアカウント登録します。https://github.com/からGitHubサイトへアクセスします。メールアドレスを入力してサインアップを行います。メールアドレスパスワードユーザーネームお知らせメール受け取りの有無アカウントの確認これらの入力を完了させるとメールアドレス宛に認証コードが送付されます。認証コードをサイト画面にて入力すると、アカウント作成完了です。GitHubでリポジトリを作成する次に、GitHubで新しくリポジトリを作成します。repository』をクリックします。各種設定項目を記載します。repository』をクリックしました。任意のリポジトリが作成されれば完了です。ローカルPCでフォルダ作成する次に、自身が扱うPCにてGitHubに公開するためのフォルダを作成します。任意のディレクトリで以下のコマンドを入力するとフォルダ作成できます。フォルダ名フォルダ作成後は、作成したフォルダまでディレクトリを移動します。フォルダ名cdコマンドでフォルダの位置までディレクトリ移動しておきましょう。作成したフォルダには、以下のフォルダ/ファイル構成とプログラムファイルを持たせています。index.htmlここではサンプルフォルダ/ファイルとして上記の内容で実施しています。同じサンプルを利用したい人は、「【Python】FlaskによるToDoアプリケーション作成/開発」の記事を参考にしてください。フォルダ/ファイル構成とプログラムファイルに記述するコードは、3分ほどで作成できると思います。)Git/GitHubのSSH(公開鍵/秘密鍵)を設定する次に、GitHubにアクセスする際、SSH接続できるよう公開鍵/秘密鍵の設定を行います。ちなみに、HTTPS接続によるプッシュを行うと以下のエラーになります。information.現在HTTPS接続によるユーザー・パスワード認証は、2021年8月13日から廃止されることになりました。https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/そのため、SSH接続が確立できるよう設定する必要があります。作成したフォルダをカレントディレクトリとし、以下のコマンドを実行します。~/.ssh次に、RSAという方式の暗号鍵を作っています。rsa実行すると、「名前はどうするか?」、「パスフレーズはどうするか?」、「パスフレーズをもう一度入力」、などについて3回ほど聞かれます。こだわりが無ければすべてEnterを押して飛ばして構いません。lsコマンドで確認すると、以下のファイルが生成されていることが分かります。id_rsaid_rsa.pub「id_rsa」が秘密鍵、「id_rsa.pub」が公開鍵になっていて、公開鍵の方をGitサーバーやGitHubに送ることでSSH接続が出来るようになります。次に、GitHubで作成したフォルダ内で公開鍵を登録します。『Code』を選択すると、『SSH』タブがあるのでInformationに沿って青文字のURLをクリックします。ここでは、以下の項目を埋めます。Title(任意の名前で入力)KeyKeyに関しては、以下のコマンドを入力するとクリップボードにコピーできます。Key』のボタンをクリックします。これで、SSH接続するためのKey設定は完了です。Git/GitHubへフォルダ/ファイルをプッシュする次に、任意のフォルダ/ファイルをGit/GitHubへプッシュします。追加するために指定するURLは、GitHubで作成したリポジトリページにて取得します。任意のフォルダまでディレクトリを移動したら、以下のコマンドを実施します。branchを選択します。branchを選択すると、以下のページが表示されます。これで無事にGitHubへ開発フォルダをプッシュすることができました。Pagesを使ってポートフォリオを公開します。GitHubにおける任意のフォルダページにて、上部タブの『Settings』をクリックします。Pagesに画面遷移します。Sourceといった項目にて、プルダウンメニューが存在するので『master』を選択し、『Docs』を選択して『Save』をクリックします。上部のInformationにて、URLが発行されるのでクリックします。Pagesにてポートフォリオを公開できました。ここではREADME.mdのファイルを作成しているため、mdファイルが優先されてREADME.md内のテキストが表示されています。以上で、具体的なポートフォリオ作成の工程は完了です。ポートフォリオ作成のポイント別業種で既に働く社会人がエンジニア転職する場合、ポートフォリオは最重要の役割を担います。質の高いポートフォリオを作成するポイントは、以下の11項目です。高い技術チャレンジこれらの項目を意識してポートフォリオ作成に挑みましょう。ポートフォリオ作成時は、過程を情報発信するとさらに効果的です。問題意識が伝わるテーマ選びWeb系エンジニアの仕事は、「テクノロジーでソリューション提供しビジネスに貢献すること」です。企業は業務に対しモチベーションが高いIT人材を求めます。ポートフォリオの問題が浅いと「問題解決への熱意」が低いとジャッジされます。コロナウィルスの影響によってリモートワークが増えたことからシンプルなビデオアプリケーション開発に取り組むなど、社会的な問題意識を持つと良いです。社会的問題意識ではなく、福利厚生や働き方への理想だけでエンジニアを目指す人だと注意が必要です。アプリの用途/機能が直感的に理解できるユーザーの視点から物事を考えられる人がポートフォリオから汲み取れると良いです。独自性を考えすぎると、無駄な機能や複雑な仕様になります。一般的なWebサービスを利用して、シンプルな機能一覧や制限を持たせた機能をまとめておくと良いです。それらをポートフォリオ作成時に活用しましょう。UI/UXのデザイン性/操作性の良さアプリ・サービスを実行した時の第一印象は重要です。Webデザイナーになるわけではないですが、エンジニア業務でもmaterial-UIやBootStrapなどのCSSフレームワークの活用を図りましょう。フロントエンドエンジニアを希望する場合、アプリケーションの画面実装は発生する業務です。デザイン性に合わせ、操作性も意識して作成しましょう。レスポンスの高速性ページ速度もユーザーを意識した取り組みなので、重要なポイントです。SPA技術もあり画面遷移自体の改善されていますが、レスポンスが遅延すると使いづらさに影響します。Insights」といったツールもあるので、ポートフォリオの改善時は活用しましょう。レスポンスの遅延は、効率の悪い処理が紛れています。レスポンス対応は、ユーザーを意識した改善のため加点評価になります。テストデータによるデモ実施アプリケーションを運用する想定のもと、テストデータによるデモ実施も重要です。エンジニア業務に関しても、本番運用の前にテスト運用が実施されます。アプリ・サービスが正しく動作してるか、バージョン管理は正しく行えるかといった判断を下すためにデモ実施は大切なポイントです。作り上げて終わらないのがアプリケーション開発の分野なので、保守・運用の考え方を身に付けましょう。機能数の豊富さ機能が充実したアプリ・サービスは重要です。最近ではプログラミングスクール等で最低限の機能あるいは1〜2つほど機能追加したポートフォリオ作成が一般化しています。メディア系サービスのポートフォリオの場合、スクール生の量産型ポートフォリオと差をつけないと採用時に埋もれます。問題意識が伝わるテーマ選びに関連して、機能追加の検討を実施しましょう。Web系自社開発企業は、単体テストや統合テストのコード記述が必要になります。ソフトウェアテストの考え方を理解しておくと良いです。単体テストだけでなく、統合テストも記述できると評価が得やすいです。不具合への対応どれだけ機能面が優れていたりデザイン性・操作性が魅力的でも、大きな不具合が一つあると問題です。仮に、新しい技術におけるチャレンジをポートフォリオ内で実施していれば、評価を大きく下げることは回避できるかもしれません。十分なテストコードを記述できれば基本的に不具合は回避できます。手動だけでなく、自動テストによる不具合防止も検討/実施しましょう。Yourself」の頭文字を取っており、「重複するな」という意味です。規模によりますが、ポートフォリオのコードサイズは一般的に大きくなります。評価を行う人も全てのコードを確認できませんが、一定の評価基準を持って可読性に注目します。重複コードの有無これらの評価を企業ごとに基準を持って見定めます。LinterやFormatterを導入し、最低限のDRY原則を適用させましょう。上述にもあったように、ソースコードはGit/GitHubのバージョン管理が基本です。ブランチをGitHubにpush作業ブランチからプルリクエスト作成プルリクエストをmasterブランチへmergeこれらGitHub上での一連の開発工程を理解しておくと良いです。情報管理としてIssueで一元化できますが、古くから利用されるチケット型のRedmineなども知っておくと良いでしょう。ポートフォリオ作成時に擬似的なチーム開発を簡単に取り組んでおくことで、Git/GitHubの活用レベルを証明できます。若干難易度が高い技術チャレンジ周囲のエンジニアと差別化するために、若干難易度の高い技術にチャレンジすると良いです。オンライン学習教材でもHerokuへのデプロイ等は一般化されてるので、以下の差別化がおすすめです。AWSGCPインフラ系であれば、これらに移行するだけでも十分な差別化になり、実務でも利用するため効果的です。Googleが提供するBaaS型のFirebaseの利用も良いです。(特にモバイルアプリケーションの場合)エンジニア設計方法を詳しく知りたい人は、「プログラミングを時間の無駄にしない人の特徴とエンジニア人生設計」で解説します。プログラミングを時間の無駄にしない人の特徴とエンジニア人生設計2019.11.23ポートフォリオ作成の過程を情報発信ポートフォリオ作成の過程は、情報発信する絶好の機会です。ポートフォリオ作成過程の情報発信は、以下のメリットがあります。学習意欲の高さを提示できる継続的な学習姿勢を提示できる課題に対する取り組みが提示できるポートフォリオ公開によるユーザー獲得これら4つのメリットを手に入れることができ、ポートフォリオに付加価値を与えます。アプリ・サービス公開によってユーザーを獲得した場合、プロジェクト開発の一つの目的達成となり、間違いなく評価を得るポートフォリオとなります。立場によってエンジニア就職・転職活動の注意が必要です。大きく分けて2つの立場による活動に注意が必要です。どちらの立場も未経験のエンジニア希望を想定します。社会人による転職活動プログラミング未経験の社会人で転職活動する場合、知っておかなければならない事実があります。実務未経験からジョブチェンジする際に狙う企業は、「数人〜10人ほどのWeb系スタートアップ企業」です。(大学推薦)がメガベンチャーの未経験枠を占有済みIT/Web系企業の体質的に年齢が若い社員を求める傾向が強いこれらの理由から大手の中途採用枠の競争が激しくなり、優秀なエンジニアしか取らない傾向があります。筆者も工学部卒の推薦による入社でしたが、大学時代に大手から名のある中小企業まで推薦で一定数の採用枠は埋まります。有名大学ほど推薦枠が多く、学生内でも競争が激しいです。そのため、スタートアップ企業に転職後、キャリアアップ転職を繰り返すのが無難です。(一部の天才を除く)スタートアップ企業の求人が多いサービスは以下の2つです。WantedlyGreenこれら2つに登録してプロフィールを充実させておきましょう。いった企業は注意が必要です。これはSES系企業が多いですが、いわゆる「案件ガチャ」と呼ばれ、開発仕事になるかは完全に運任せです。どちらにおいても、プログラミング未経験の場合は大手企業への就職は難しいです。(開発業務の場合)学生は実務未経験のため、以下の内容が充実すると新卒採用が獲得しやすいです。学生時代の研究・卒論内容インターンシップ制度によるインターン枠獲得これらが学生における就職活動時の利点です。Web系企業のインターンは競争率が激しいため、ポートフォリオが必要になる場合もあります。この2つを最大限活用するために、大学の就職支援センターやリクナビ等の就活サイトで充実したプロフィールとポートフォリオ・エントリーシートを完成させましょう。就職支援実績あり!おすすめオンラインプログラミングスクール独学でプログラミング学習の限界を感じている人におすすめのオンラインプログラミングスクールをご紹介します。注意する点として『スクールの質が高い=あなたに最適なスクール』には必ずしもならないため、必ずカウンセリングを受けてください。カウンセリングを受けないで決めてしまうとお金を無駄にする可能性があります。マンツーマンでPythonを学べ、レッスン対応時間が長く、早朝・深夜の時間帯もオンラインで受講可能/無料カウンセリングありTechAcademy(テックアカデミー)TechAcademy(テックアカデミー)は、累計3万人以上の受講実績のある人気プログラミングスクールです。現役ITエンジニアのパーソナルメンター(講師)による学習サポートやチャットでの質問対応ができ、プログラミング未経験/初心者でも学びやすいと評判のオンラインスクールです。自分が希望のコースを最短4週間で受講可能オンラインによる学習環境の充実と質問対応1週間のトライアル(無料体験)を実施してる実践的なアプリ開発を習得できる無料の就職/転職サポートを受けられる学べるコースはPython/はじめてのプログラミング/Web制作・システム開発系など多数のコースがあり、セット割引を利用して複数のセット受講も可能です。現役エンジニアのメンターと週2回のメンタリング、直接プロからプログラミングやキャリアについて学べる学習環境があります。丁寧なレビューがもらえるなど受講者の評判が良いオンラインプログラミングスクールです。メンタリング/チャットでの質問対応状況など、オンライン学習サービスを確認できる1週間の無料体験がおすすめです。TechAcademyの公式サイトへ無料体験と相談窓口TechAcademyの無料体験・無料メンター相談はこちらから確認することができます。CodeCamp(コードキャンプ)CodeCamp(コードキャンプ)は、現役エンジニア講師のマンツーマンレッスンによる丁寧な指導が人気/評判のオンラインプログラミングスクールです。300社以上など実績も豊富なスクールになります。就職目的としてプログラミングを理解したい人これらを含め、Python/Webデザイン/アプリ開発/オーダーメイドなど、豊富なカリキュラム内容です。マンツーマンレッスンの対応可能な時間帯は、毎日7時~23時40分と他のプログラミングスクールより長く、CodeCampは早朝や深夜でも受講できます。そのため、仕事・学業をしながら受講しやすい点がおすすめと口コミで評価されています。自分で講師を指名できる点、Pythonについての質問や講師にエンジニアとしてのキャリアや就職/転職の相談も可能です。CodeCampに興味ある人は、詳しいレッスン内容や学習サービスについて確認でき、受講料金の1万円割引クーポンももらえる無料カウンセリングの利用がおすすめです。確認することができます。Pythonロードマップを元に本格的な学習を始めたい人へおそらくプログラミング未経験からPythonあるいはプログラミング活用を図りたい人は、以下の考えが存在すると思います。上記の悩みや課題をPythonロードマップとして言語学習から転職までを目標プロセスに落とし込んで作成しました。あなたの考えるエンジニア像のゴールに合わせたオンラインプログラミングスクールが選べる情報も公開しているので、一度読んでみてください。【Python】2022年最新!おすすめのオンラインプログラミングスクール2020.01.14まとめポートフォリオ作成はエンジニア活動において重要な役割を持ちます。ポートフォリオ作成時のポイントは、以下の項目です。高い技術チャレンジこれらを意識してポートフォリオ作成を実施しましょう。ポートフォリオ作成時は並行して情報発信するのがおすすめです。学習意欲の高さを提示できる継続的な学習姿勢を提示できる課題に対する取り組みが提示できるポートフォリオ公開によるユーザー獲得これら4つのメリットを享受できます。エンジニア就職・転職の注意点として、立場による考え方が重要です。社会人による転職活動は、今後のキャリアアップの方針も同時に立てておきましょう。質の高いポートフォリオ作成と情報発信を始め、エンジニア就職・転職を成功させましょう。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。エンジニアの情報収集はどんな方法?効果的な情報収集を解説!【在宅副業】プログラミング未経験の主婦・ママでもエンジニアで稼ぐ方法RECOMMENDこちらの記事も人気です。2017.9.19【コード公開】【Python】テキストマイニングしてみた〜モデル作成〜ABOUTこの記事をかいた人sugi大学卒業後、IT企業に就職を果たす。システム開発・人工知能に触れながら大手企業と業務をこなす。2019年2月から起業し、今に至る。自社サービス及び製品を開発、ブログ収入、クラウドソーシングなど、多方面で売り上げを立てている。