#はじめに
エンジニア転職・フリー転身を目指してスクールに通い始めた、Progateやドットインストールなどを一通り終えたあなた。
ポートフォリオの作成が大事だと言われたけど、何をしようか・何から手をつければいいか悩んでいるという方が非常に多いです。
そこで、ポートフォリオ作成に取り掛かる前に実施するべきポイントを記事にしました。少しでも読んで良かったって言ってもらえるように具体的なアクションで書いていきます。
※文字色変える方法は「Qiitaで箇条書きの間に空行を入れたい」を参照しました。
#企業から求められるポートフォリオとは?
さて、近年プログラミングスクールやコミュニティ・Twitter・YouTubeなどでのインフルエンサーの発信者増加によりエンジニアを目指す方が急増しています。ここで一度企業目線で考えてみてください。
あなたはWeb開発を行っている会社の人事部長です。
「最近応募者がどんどん増えているけど、スクールで学んだことに毛が生えたような機能実装の人が多くて、みんな似たようなポートフォリオに見えちゃうなー。未経験とはいえ、即戦力になってもらえそうな人をできるだけ選びたいんだけど。」
どうでしょうか?学んだことを使って実装するのは最低限必要ですが+α他の人がやってないことをやって差別化を図らない限り、面接官の印象には残らないと思います。
では、他の人と差別化を図るにはどんなことを意識して作成に取り掛かるべきでしょうか?
#将来どんな仕事をしたいかで求められるポートフォリオは変わる
-
ざっくりフロントエンドかバックエンドどちらを目指すかは必ず初めに決めて下さい。マストです。途中で方向転換も可能ですが、重視すべき点が異なります。
-
好き、書きたい言語があるなら理由を明確にしてください。面接でなぜその言語で書いたか聞かれます。
-
行きたい会社がある程度絞れているならその会社でメインに使われている言語をチョイスすると良いです。
メインで書く言語が決まったら次はテーマ決めです!
# 常日頃からアンテナを高く張っておく
- 他の人がどんなポートフォリオを作っているか見てみる
良いものを真似られるようになるのが初心者卒業への第一歩です。GitHub・Twitter・ブログなどからどんな機能を実装しているのか、どういう経緯で作ったのかを見てみましょう。
- スマホやPCのアプリを色々触ってみる
意識的に使うようにすれば「使いづらい」「もっとこうだったら良いのに」というのがたくさん出てきます。
普段何気なく使っているアプリも何かしらの理由があって使い続けていると思います。アプリ毎にそれぞれ良い点・悪い点を言語化してみましょう。大体下記の項目に分類できると思います。他にもあったら是非教えてください笑
- サービスの内容
- 操作性
- レイアウト
- コンテンツ・情報量
- 他サービスとの連携機能
- レスポンスの速さ
- ユーザー数・ユーザーの質
- 料金設定
- セキュリティ面
# 自分の経験談を織り交ぜる
「好き」「嫌い」を縦軸、「便利」「不便」を横軸にグラフを書いて、その中に使っているアプリ、サービス、物などを書き出してみましょう。
① 好きだし便利
なぜ使っていて便利、好きだと思うのかを分析して優れていると思った機能を書き出し、取り入れてみましょう(充実型)
② 好きだけど不便
この項目が一番重要です。
レイアウトが見づらいのか、操作性が悪いのか、機能的に不足があるのかなどを書き出して整理してみましょう。
どんなに小さなことでもいいので解決したい課題を自力で解決できたというストーリーは心に刺さります。(問題解決型)
③ ④ そもそも好きじゃない
これは基本的に無視していただいてOKです。
なぜ嫌いかは自分の向き不向きの基準として、頭の片隅に置いておいてもいいかもしれません。
#実装する機能を箇条書きする
ここまで行ってきた分析・決定から組み込みたい機能を整理しましょう。
例.
- 記事一覧表示
- 記事詳細表示
- 記事の投稿
- 管理ユーザー登録
- 管理ユーザーログイン,ログアウト
- 画像ファイルのアップロード,ダウンロード
- DBトランザクション制御
- ページネーション
- 単体テスト
- 統合テスト
ここまで出来たらもう少しです!
# 実装する機能を踏まえてレイアウトを紙に書き出してみる
必要な画面、フォーム、ボタン、画面遷移先などイメージを簡単に書き出しておくと実装がスムーズにいきます。
※上図はPhotoShopでフリー素材を組み合わせて作っています。
# 実装する順番を決める
いきなり全部をやろうとすると抜け漏れ・バグだらけになり、直すのも一苦労です。
Progateやカリキュラム同様、まずは記事投稿のアクションを、次に記事の一覧表示を、というように順を追って実装しましょう。ここで焦って難しいことから手を出すとかえって膨大な時間がかかります。
# お疲れ様でした!!!
ここまで出来たあなたはもう実装が楽しみで仕方なくなっているのではないでしょうか?笑
クオリティを上げようと思うほど時間がかかるし、その分たくさんエラーにもぶち当たると思います。ですが、壁にぶち当たったときこそ成長のときです!
私もまだまだこれからなので、皆さんと切磋琢磨して良いサービスを生み出すエンジニアになりたいと心の底から思っています。
ここまで読んでくださりありがとうございました!