Header
2019-10-23
2019-12-04

プログラミングポートフォリオとは|未経験からエンジニアに就職した人間が解説

2019 10 23 portfolio

執筆者プロフィール

法人営業8年→人脈なし・非大卒・未経験から自社開発のエンジニア(約1年半)→5次受けSESでエンジニア(1年)→個人事業主のエンジニア(約10ヶ月)→法人化した人

未経験からのエンジニア職への転職でポートフォリオの作成や提出が求められていますので、 そもそもポートフォリオの解説と注意点を記載します。

そもそもプログラミングのポートフォリオって何を意味する

システムエンジニアやデザイナーが転職や就職活動をする際に自分の成果物をアピールする

自分の作品集になります。

特にフロント バックエンド問わず未経験からシステムエンジニアへの就職を目指す場合必須になっています。

が、システムエンジニアに関してはポートフォリオ「だけ」用意して転職するのは難しくなっています。

なぜポートフォリオだけで転職が厳しいのか

様々なプログラミングスクールが課題を進めていけば、掲示板アプリや映画の口コミをスクレイピングするサイトなどの ポートフォリオを作成できるようになって来ているので ポートフォリオだけ作成して転職活動を行っても他の希望者との差別化が難しくなっています。

実際に未経験者を受け入れている会社で面接を行っているエンジニアが口を揃えて言っています。

では、何が必要かですが簡単にいうと以下です

●サーバサイドエンジニアの場合●

1:プログラミング言語単体の理解力:paiza(パイザ)のランクでC以上

2:フレームワークの理解力:何かしらをウェブに上げる

●フロントエンジニアの場合●

1:サイトコーディングスキル

2:デザイン力or Javascriptフレームワークの理解

なおプログラミングスクールはあくまで補助なので、通学は必須ではありません。

関連記事

未経験からエンジニアに転職した人間が考える、今からエンジニアに就職する方法

プログラミング言語単体の理解力とは

前述した通りポートフォリオの作成だけでは他社と差別化が出来なくなっているので、プログラミング言語単体の理解力を示す必要があります。

プログラミング言語の理解力とは簡単にいうと、要件をプログラム化する能力です。

有名なプログラミングの問題(要件)はfizz buzzがあります。

ここでは、詳細は記載しませんので、ご存知ない方はfizz buzzで検索してください。

多くのプログラミングスクールではこの部分が疎かにされていまので、プログラミング言語への理解力を示せば他者より優位になれます。

この能力を養うにはpaiza(パイザ)やアットコーダーなどを利用してみてください。

特に私は初心者にはpaiza(パイザ)を進めています。 パイザを進める理由は以下から

フレームワークを利用せずとも、プログラミング言語単体で何かしら動作するポートフォリオを 作成する事も可能です。 

例えば、APIで株価の情報を取得して可視化し、更新情報をツイッターに自動投稿するなどです。

仮にプログラミング言語単体のポートフォリオを作成した場合に、実際評価されるかは応募しないと分かりませんが高度な内容だとかなり評価されます。

まずは未経験者のエンジニア転職は応募媒体|応募順 |転職期間に注意 を参考に少量の企業へ応募してみてください。

フレームワークの理解力とは

フレームワークを利用してDBやルーティング MVCへの理解力を指します これを証明するためにポートフォリオを利用します

なおサーバサイドのポートフォリオは最低限以下が必要です

1:会員向け機能(adminとuserの機能分離)

2:中間テーブルを利用する

3:新規登録 詳細表示 更新 削除(CRUD)な動作を実現する

4:ajaxなどの非同期処理を実装

以下からサーバサイドのポートフォリオで注意点を記載しています

※一部フロントエンジニア向けの解説も記載しています。

Webに公開されているか

サーバサイド フロントエンド問わずに、gitHubなどでポートフォリオのソースコードを共有するだけでは 弱く、やはりURLやIPアドレスでアクセス可能な状態で公開されている事が望ましいです。

※サーバサイドのプログラミング言語単体のポートフォリオの場合はこちらは該当しません

Herokuなどを利用すれば無料でサービス公開可能ですし、AWSでも無料枠を利用すれば1年間はほぼ無料で利用できます。

Webに公開するにはフレームワークの知識だけでなくサーバやLinux ミドルウェアの知識も必要になるので、 ポートフォリオを作成する際はIPアドレスでも良いので、Webからアクセスできるようにしてみてください。

テストが書かれているか

作成したポートフォリオにはテストが書かれていることが理想です。

システムエンジニアは自身が書いたコードが正しく動作するかをテストコードで ある程度の品質を担保します。

テストコードのスキルは割と重要だったりするのですが、 ポートフォリオの完成を優先している方が多いのでテストコードが書かれていない ポートフォリオも多く、テストコードが書かれていればある程度アピールポイントになります。

プログラミングスクールに通っている場合はカリキュラムから逸脱する機能を追加する

プログラミングスクールに通っている方であれば、 ある程度フロントのデザイン機能が似てしまいます。

その為非常に他者との差別化を行いにくいです。

もちろんプログラミングスクールのカリキュラムを利用する事自体は問題ないので、 自分で考えた機能やページ などを追加してみてください。

Ruby on Railsになりますが以下のような機能を利用すれば 追加機能を実装できます。

Ruby on Railsで外部APIを利用して、簡単なアプリケーションを作成する

Ruby単体でAPIを操作する|Udemy

Ruby on Railsとtwitterの投稿機能を連携する

Ruby on RailsでRedisを利用してランキング機能を実装する

自分で追加機能を実装しようとして、どうしてもエラーが解決しない場合はどの部分が解決しないかをある程度切り分けて、提出しましょう

努力としてはプラスになるかと思います

Vue.js React AngularJSなど のJSフレームワークが利用されているか(フロントエンジニアの場合)

フロントエンジニアのポートフォリオの場合は、HPの模写や自身で考えたWebサイトに加えて各JSフレームワークの利用が可能かを見られています。

昨今のWebサイトは端末性能とインターネット回線速度の向上により、Bootstrapやレスポンシブサイトのコーディングスキルは勿論の事、各JSフレームワークを利用してコンポーネントを再利用する事によりコードを共通化しています

関連記事

Vue.jsとAnimate.cssで手軽にアニメーションを実現する|コピペで動くサンプル付き

Vue.jsでSVGのアイコンを操作する|コピペで動くサンプル付き

Vue.jsでマークダウンに対応したメモ帳アプリを作成する|コピペで動くサンプルコード付き

その為ただWebサイトをコーディングしたポートフォリオだけでは全く優位性はありません。

またコーディングのスキルがなくても、デザイン力はアピールできるので、コーディングができなくても、サイトのモックレベルで自身がデザインしたサイトをポートフォリオとして提出するのも優位性があります。

以上になります。

その他関連記事

未経験からエンジニアに転職した人間が解説|独学プログラミングで挫折しないよう心がける事

独学プログラミングの勉強手順|未経験からエンジニアに転職した人間が解説

未経験からエンジニアに転職した人間が考える、今からエンジニアに就職する方法

未経験からフリーランスエンジニアは厳しい|現役エンジニアが解説

フリーランスエンジニアのなり方|法人化した人間が解説

フリーランスエンジニアで稼ぎ続けるために必要な3つの力

税理士が執筆|フリーランスは老後資金を考えて、毎月いくら稼ぐ必要があるか

前の記事
次の記事
人気記事
カテゴリーから記事を探す