本業はWeb系エンジニアとしてアプリ開発をおこない、副業はブロガーとして副収入を得ています
この記事を読み終えることで、『テックキャンプ卒業後メンターに頼れなくなった時、どうすれば就活に強いポートフォリオ/オリジナルアプリを作れるか』がスッキリわかります。
なぜなら、テックキャンプ卒業生のボクは、これから紹介する戦略で卒業後1ヶ月以内にエンジニア初内定、その後も都内有名企業をはじめ複数の内定を獲得できたからです。
記事の前半では『どうすれば他の未経験者と差がつくポートフォリオを作れるのか』という戦略を、記事の後半では『超具体的なポートフォリオ制作プラン』を解説します。
目次
テックキャンプならポートフォリオ制作できる!でも...【戦略が必要な理由】
結論、テックキャンプならポートフォリオ制作は可能です。
そして、テックキャンプ受講(予定)生/卒業生が、ITエンジニア就活市場でたたかう他の未経験者と差をつけるための戦略は、たった一つだと実感します。
それは、オリジナルアプリを徹底的にこだわることです。
ここでは、オリジナルアプリづくりになぜ、戦略が必要なのかを実体験ベースで説明しますね。
この章でわかること
- 理由①:思ったより時間的余裕がないから
- 理由②:自分1人で開発しないといけないから
- 理由③:未経験者が唯一持てる武器だから
- 理由④:面接での強いアピールにつながるから
- 理由⑤:クローンアプリだけだと弱いから
理由①:思ったより時間的余裕がないから
ポートフォリオ制作時間は、思ったより少ない可能性があります。
時間的余裕の少なさが懸念される理由は、3つあります。
- テックキャンプ卒業前のポートフォリオ制作時間量は、最終課題(フリマアプリ)をどれだけ早く完成させられるかに左右されるから
- 就活準備が、プログラミング学習と並行で進むから(特に終盤)
- テックキャンプ卒業後すぐに、ITエンジニア就活が本格始動するから
*ただ、就活開始日の調整は可能です(ボクは調整してもらいました)
たとえば、卒業後にITエンジニア就活が本格的に始まると、ポートフォリオ制作以外でやるべきことがドッと増えます。
- 企業説明会
- Webテスト・適性検査
- 面接
- コーディングテスト対策
したがって、時間の使い方を間違えると、企業側に「お、この人と話してみたい!」と思ってもらえなくなる可能性があります。
理由②:自分1人で開発しないといけないから
ポートフォリオに載せるオリジナルアプリ開発はメンターさんを頼れず、企画・要件定義からテスト・運用までたった1人でおこなわなければなりません。
なぜこの点を考慮に入れるべきかというと、0からのアプリ開発は初心者にとって未知数な部分が想像以上に多く、見通しが立ちづらいからです。
それまではカリキュラム通りに実装すればOKで、わからないところはメンターさんに聞けば全部解決できた状況から、いきなり孤独になります。
そのため、自分の頭で考えることが膨大に増えてしまい、手を動かせず、開発が進まない... という事態に陥る可能性があります。
初挑戦ということでこだわりが強く、完璧主義に企画・要件定義・DB設計をしていきました
その結果、1週間以上コードを書けず、アプリも頓挫という時間のムダ遣いを犯しました...
理由③:未経験者が唯一持てる武器だから
ポートフォリオは、未経験者がITエンジニア就活で唯一使える武器になります。
なぜなら、未経験者は実務経験でのアピールが一切できないからです。
もちろん、ガクチカや前職での実績もアピール材料になるかもしれません。
ですが、ポートフォリオがない/弱いと「この人、ITエンジニアになる気あんの?」と採用担当者に思われ、”お見送り”されてしまいます...
逆にいうと、ポートフォリオのクオリティが高ければ、他の未経験者を薙ぎ払う強力ウェポンにも化けるということ。
なので、「元人事が教える!面接で緊張しない方法 3選!!」といった”小手先テクニック”をSNSでブクマしたりするよりも、ポートフォリオにフルコミットすべきです。
逆に、オファー面談で周りの話を聞くと、内定者は全員ポートフォリオを持っていました...(しかもクオリティ高けぇ)
つまり、いくら「未経験歓迎」とはいえ、フタを開ければ、技術研鑽している人が結局内定を勝ち取っているというのが現実です...
理由④:面接での強いアピールにつながるから
ポートフォリオに載せるオリジナルアプリづくりへのこだわりは、採用面接での強力なアピール材料に、必ずなります。
「こだわる」という言葉が抽象的なので、もう少し具体的に言い換えてみます。
- 「こんな機能つけたい!でもカリキュラムで習ってないし、自分には難しいかな...」と感じることにも挑戦する
Ex:CSSフレームワーク導入、
JavaScript(関連ライブラリ)でカッケェUIを実現、RailsでAPI使用・開発... - テックキャンプで習わなかった機能を実装できたら情報発信する
Ex:ブログ、Qiita、Zenn... - 「自分はどんな開発を担当したら、ワクワク仕事ができそうか?」と直感を観察する
Ex:フロント or バック or インフラ?
Web or デスクトップ or モバイル?...
このようにこだわっていくと、たとえば採用面接で次のような質問を聞かれたとき、堂々と答えられます。
- エラーとはどうやって向き合っていますか?
- 新しい技術を取り入れていますか?
- どの部分を担当してみたいですか?
たしかに、↑で挙げたこだわりをいきなり全部やるのは難しいかもしれません。
ですが、焦る必要は一切なく、一歩、いや半歩ずつでいいので、自分にできることから始めればOKです。
とにかく、「量より質」戦略で「自分のアプリのことなら、なんでも聞いてください!」と採用担当者に熱弁できるくらい、こだわりを持って取り組みましょう。
ですが、合計14社にポートフォリオを送って、落とされたのは1社だけでした(唯一落とされたのは、超実力主義の有名アプリ開発企業M)
理由⑤:クローンアプリだけだと弱いから
理由④を裏返すと、「フリマクローンアプリだけだと、企業へのアピール度合いとしては弱い」といえます。
なぜなら、同じスクール生同士で、ポートフォリオのレベルに差が出ないからです(当たり前や)
実際、2020年以前のテックキャンプ卒業生が応募したポートフォリオの内容が「フリマアプリだけでオリジナルアプリがない」場合が多く、採用側で問題視されていたようです。
ポートフォリオ用オリジナルアプリづくりの具体的なやり方
ここでは、ポートフォリオに載せるオリジナルアプリをつくる時のポイントをまとめました。
この章でわかること
- ポイント①:習慣づくり
- ポイント②:実際の開発
- ポイント③:エラーの解決方法
ポイント①:習慣づくり
いきなり手を動かす前に、まずやるべきことは「開発する時間を毎日つくり出すこと」です。
なぜなら、就活が始まると、説明会や面接といったプログラミング研鑽以外のことに多くの時間が持っていかれるからです。
ほかにも、ES応募時に送る自身のGitHubアカウントから、更新頻度を企業にチェックされる可能性も非常に高いです。
なので、開発習慣を身につけることが最優先になります。
ポイント②:実際の開発
ここでは、実際に手を動かしてオリジナルアプリを開発していくときのポイントをまとめました。
オリジナルアプリ開発のコツ
- 企画
- 要件定義
- 設計
- 開発
- テスト
- 保守・運用
STEP①:企画
企画で大事なことは、次の二つです。
- 自身の問題を解決する/前々から欲しかったアプリになりそうか?
- オリジナリティはあるか?
まず「自身の問題を解決する/前々から欲しかったアプリになりそうか?」を重視する理由は、情熱を持てるからです。
キレイごとっぽく聞こえますが、情熱が湧く企画じゃないと、エラーが立て続けに起きた時に開発を続けるモチベが失せてしまいます(経験談)
そして「オリジナリティはあるか?」を重視する目的は、企画の質で差別化を図るためです。
言い方はキツいですが、企業の採用兼技術担当者がオリアプのソースコードを見たとき、未経験者が持ってくる実装内容なんて”たかがしれて”いるはずです(ムカつくなぁ)
そこで、開発レベルという”下流”の戦いではなく、「誰のどんな問題を解決するアプリなのか?」を考え抜いた企画の質、つまり”上流”の戦いで勝てる確率をグッと上げておくのがポイントです。
と思った方には、『メタ思考トレーニング(細谷功)』という本の「アナロジー思考」の章が、実際の企画時にすっごく役立ったので、オススメしておきますね。
STEP②:要件定義
要件定義は、カリキュラムに忠実におこなえば問題ないです。
もし「もっと要件定義もこだわりたい...」という欲が出てきた方には、株式会社デジサクCEO多森さんが投稿した『要件定義~システム設計ができる人材になれる記事』というQiita記事が、オリアプの要件定義中に役立ったので、紹介しておきますね。
STEP③:設計
設計も、カリキュラムに忠実におこなえば問題ないです。
もし「もっと設計もこだわりたい...」という欲が出てきた方には、株式会社デジサクCEO多森さんが投稿した『要件定義で決める事項 < 要件定義~システム設計ができる人材になれる記事』というQiita記事が、オリアプの設計中に役立ったので、紹介しておきますね。
STEP④:開発
開発で大事なことは、企画から設計で考えた理想に少しでも近いアプリになるよう、粘り強くコードを書くことに尽きます。
と思われた方向けに、ボクがオリアプ開発の指標としていた項目を、共有しておきますね。
メディア系のポートフォリオにおいて
・アカウント登録
・ログイン/ログアウト
・プロフィール編集
・投稿編集
・投稿一覧
・投稿検索
・いいね
・コメント
・フォローここら辺の機能はもう「実装されていて当然」なので、ここからさらに有用な機能を追加していくことを考える必要がありますね😁
— 勝又健太|エンジニア系YouTuber|雑食系エンジニア|「Web系エンジニアになろう」著者 (@poly_soft) June 3, 2020
STEP⑤:テスト
テストで大事なことは、アプリがテスト済みであることをソースコード上で示し、「え、テストされてないの?」と採用担当者から怪しまれないようにすることです。
ぶっちゃけ、テストにそこまで力を入れる必要はないと実感します(入社後、どうせいっぱいやらされます)
とにかく、「基本的なテストコードの書き方はわかります!テストの重要性は理解しています!」とアピールできれば合格です。
ちなみにボクは、完全に忘れていました
STEP⑥:保守・運用
保守・運用で大事なことは、コード改良・リファクタリング・新規機能追加の後も、アプリが本番環境で問題なく動作するかどうかです。
というのも、デプロイツール(AWS, Render...)には無料利用可能期間に限りがあるからです。
せっかく作ったアプリを企業にアピールできなかったらショックですよね。
なので、そうならないためにも、動作は細かくチェックしましょう。
「このアプリのデプロイには、AWSを使ってて...」と話し始めると、高確率で面接官の目の色が変わっていました
テックキャンプのカリキュラム通りなら、AWS使用アプリはポートフォリオに自然と組み込まれるはず、、これは嬉しいです
ポイント③:エラーの解決方法
オリジナルアプリ開発中にエラーやわからないことに遭遇して、自分の頭で考えても解決策が思い浮かばない... というときは、焦らず次のアクションをとりましょう。
- 技術ブログを参照
Ex:Qiita, Zenn... - 生成AIに相談
Ex:ChatGPT...
実際、テックキャンプでは教わらない機能を実装したいときも、Qiitaを読めば先輩エンジニアがたいてい解説してくれています。
もし、それでも解決できない場合は、会話型生成AIを使えば、ほぼ全ての挙動は実現可能です。
もちろん、実装した機能を説明できないのは論外です。
しかし、生成AIを頼りに開発しても、ポートフォリオやオリジナルアプリの価値は下がりませんよ。
coconalaやteratailなどで ”人” にお金や時間を使うのは、コスパ最悪な時代になりましたね...
オリジナルアプリで、他の未経験者と差をつけよう
就活と同時並行の技術研鑽は、時間的・精神的余裕を持てないかもしれません。
ですが、焦る必要は一切ありません。
習慣づくりやエラー解決の解決は、1つずつチョットずつ、今日からやっていきましょう。
絶対に、大丈夫です
あわせてオススメ
-
【実話】就活、やばい死んでしまいたい... そんなときには下を見ろ、俺がいる。
続きを見る