こんにちは。もんしょー(@sima199407)です。
という疑問があるかと思います。
これについてもう少し詳しく解説していきます!
動画でも解説してます
キーワードから申しますと、「脱オリジナリティ」です。
「ポートフォリオ何作ればいい?」
「作り方教えて欲しい」
そういう意見に応えていきます。
ポートフォリオって何?
面接のときに必要と言われるが、
「ポートフォリオってなんなの?」
「なにをすればいいかわからない」
など思われている方がいらっしゃると思います。
簡単に言うと、ポートフォリオは「自分の作品」です。
Web系のエンジニアで言うとWebサービスだったりとか自分のなにかのLPとかのサービスです。
自分の学んだプログラミング言語でこんなモノ作りましたっていうのがポートフォリオです。
https://simablog.net/engineer-portfolio/
なんで必要なの?
これがなんで必要かって言うと、例えば、「こんなWebサイト作りました」と面接でうまく説明したとします。
でもなかなか「相手にうまく伝わらない」です。
ただ話しただけでは相手もイメージが付きにくいわけです。
ハッタリみたいな感じでもしかしたら作ってなくても「作りました」って言えちゃうわけです。笑
そのため実際に動くものがあると相手にも伝えやすいですし、こういうもの作った証明にもなるから必要なのです。
これによって自分の能力だったり、どういう技術が使えるかって判断する材料になるので未経験から面接に行くときは、かなり重要になってきます。
基本的な作り方は?
ここが本題の部分だと感じています。
一番プログラミングで楽しむって作成のところだと思います。
ポートフォリオの作る順番は次の通りです。
「作るテーマを決めよう」→「実際に作る」
この2つのステップでOKです。順に解説していきます。
1.作るテーマを決めよう
いきなり当たり前ですね。笑
作るもの決めてないのに作り始められるかっていうところ。
決まっている人はいいんですよ。
「僕はこういうの作りました」「こういうテーマで行きます」決まっていればそれでOK。
決まっていない人は代表的なものを作りましょう。
代表的なものとは?
ポートフォリオとして作るとある程度技術的に分かるものを3つ紹介します。
1つ目「掲示板」、2つ目「SNS」、3つ目「ToDoリスト」。
「SNSとか作れるの?」って思われる方いると思います。
「Twitter? Instagram?」とか想像すると思いますが、そこまで難しくないんです。
基本的に掲示板と同じような仕組みなわけです。
僕も作りました
ちなみに僕もSNSっぽいもの作ったんですよ。
画像投稿ができるやつで他の人のコメントが載せられるようなもので「いいね機能」をつけるとかそういったものを作りました。それをもって面接に行っていました。
作り方の探し方
「こういうものを作りたいんだ」って思ったら、自分の使っている言語と後は作りたいものをググってみると「作り方」っていうのは出てくるかなと思うのでそういうのを見ながらやるっていうのも1ついいかもしれません。
普通にいろんな他のポートフォリオ見つけたいのであれば、例えば、
Rubyの言語を今使っているのなら「Ruby ポートフォリオ」で調べみる
PHPなら「PHP ポートフォリオ」で調べみる
のも1つの手かなと思います。
とりあえず、ここで1つテーマとか作りたいものを決めましょう。
https://simablog.net/laravel-keiziban/
2.実際に作る
決めたら作りましょうっていうところなんですけども、そもそも「どれくらいの時間がかかるか?」っていうところですよね。
時間にほんと余裕がある人、大学生で夏休み期間とか春休み期間使って作ります。
「予定何も入ってません」って感じで、先ほど挙げた3つのものだったら、2週間とか3週間で作れるくらいでと思うんですけども、ちょっと忙しかったりとか仕事ある人とかは1ヶ月2ヶ月は余裕みてもいいかもしれません。
ここら辺の流れってほんとにシンプルです。
シンプルなんですけども途中で「これ難しいな」「これどうやってやるんだろうな」ってところ出てくると思います。
ここで1時間、2時間を同じところでずっと悩んでるってなったら脳が疲れているのが1つあると思います。
コーディングに詰まったときの解消法
僕の経験談ですが、疲れてるときに「なんとかやろう!」とむきになってやっちゃうんですが、そうすると余計に疲れて「解決策にたどり着かない」ってことあります。
そういう時は一旦寝てみるとか、違うことをしてみて切り替えるのが1つおすすめです。
「夜遅くまで頑張ったけど全然わからない」と、とりあえず寝ちゃおうと思って寝て朝起きてコードみたら
みたいなこと起きるんですよ。
寝ている間に頭の中が整理されたりとか体力が回復しているとか頭のリフレッシュしているという感じがあるのかなと思うのでおすすめです。
疲れた時は寝たりするとか後は他のことをしましょう。
今から使えるワンポイントアップ
結論から言うと「いいところをパクろう」です。
どういうことかっていうと、ポートフォリオ作っていうところなんですけども自分の作品だから「オリジナリティを出さなきゃ」とか考えるかもしれません。
確かに自分が作りたい作品、いいものを作ろうと思っているのは、すごくいいことです。
「自分のオリジナリティを出す」これも「GOOD」なことなんですけども、いきなりゼロからガッツリ全部作ってやろうって思うと大変なわけです。
まずは上手い人を見よ
おすすめの方法は、すでにポートフォリオとして作ってる人をマネするのがいいと思います。
なぜなら、それを使って採用されているわけですから、同じように作成すればエンジニアになる可能性っていうのはすごく高いんじゃないかなと思います。
これは気をつけて!
気を付けて欲しいのは「丸パクリをしない」こと。
丸パクリをしてしまうと、考えるっていうよりも、
単純にパクルコとに専念して技術的なところを覚えないんですよね。
なので、現場に入った時に大変なわけなんです。
能力的についていけないとか、実務に入ってから挫折しちゃうっていうパターンがあるんです。
なのでイメージとして半分くらいベースになる人のアイディアを使ってみて、半分は自分で1つのものを作ってみる、こんな感じがいいかなと思います。
そこに「機能を変更したい」とか追加したりなどをするのがいいんじゃないかなと思います。
こんなもの付けてみよう
ちなみに僕のおすすめは、「ログインの箇所、ユーザ名、メールアドレス入れてパスワード入れてログインする」っていうところをソーシャルログイン(twitterとかfacebookとかそういったログイン)とかがいいかなと。
これ1回やってしまうと、どこでも応用ができるのでおすすめです。
パクリはオリジナルになる?
「半分でもちょっとパクってみよう」みたいな話をしたんですけども「それで大丈夫なの?」と思うですけども、実際、いろんな人のポートフォリオから少しずつもらっていけば、「オリジナリティっぽくなるんじゃないかな」って思いますよね。
その反面、半分もう使ってるし、他の人のアイディアとか入れたら「これでオリジナリティって言えんのかな?」って疑問に思う人いると思います。
僕はオリジナリティだと思っていています。
いろんな要素を貰ってくるときに、例えばAさんのデータから取ってくる。Bさんのデータから取ってくる。Cさんのデータから取ってくる。これ全部いきなり入れたとしても動かないわけです。
ただ持ってきても使い物にならない
接続部分は自分でなんとかうまく工夫しないといけないんです。
さらに「自分がやったらもうすこしこうしたらうまくいんじゃないの?」ってアイディアが出てきたりとか、こことここ組み合わせるために「こういう要素が必要なんだよ」っていうその勉強も1つポイントになってきます。
例えば、実務に入った時に「Webサイトを修正してください」って言われとき「新しい機能が欲しいんですよ」って言われる可能性が出てくるんです。
その時にライブラリーみたいなところにドキュメントがあってちゃんとしたライブラリーをうまく導入しようってなった時に、たぶんそのまま入れてもなかなか動かないことが多いです。
エラーになったりすでにあるライブラリと依存関係だったりとか干渉してしまったりとかあります。
そういう時に、この接続の部分でうまく工夫して修正してあげることも実務の中では役に立つことだなと思います。
いろんなところからデータを取ってくるっていうのも実務入ってからも役に立つことだと思います。
まとめ
1つ目、面接での評価はポートフォリオが重要!
ポートフィリオは評価の大きな部分を占めています。
技術的な評価もあるのでしっかりと準備しましょう。
2つ目、作るものを決めてひたすら手を動かす!
やることはシンプルで2ステップです。
「作りたいものを決める」「ひたすら手を動かす」これだけです。
作るとしたら時間がある人なら2~3週間。時間が取れない人なら1~3ヶ月くらいを見積もっておきましょう。
3つ目、人から少しずつヒントをもらう!
ポートフォリオを0からオリジナティを出しますって言っても難しいので、他の人からアイディア、情報、ヒントを貰ってきて1つの作品を完成させるのが僕としてはおすすめです。
今回のまとめです。
・面接での評価はポートフォリオが重要
・作るものを決めてひたすら手を動かす
・人から少しずつヒントをもらう
https://simablog.net/beginner-programming/