文系・アラサー・プログラミング未経験にして無職の状態からPython学習しweb系自社開発企業のエンジニアに転職したヒロヤンです。
現在は都内のweb系自社開発企業でエンジニアをしています。
今回はそんなヒロヤンが就職活動で用意したポートフォリオについて話します。
プログラミング未経験からPythonを学習して就職活動をする人
コンテンツ
プログラミングスキル
2019年11月に就職活動を始めた時のレベルです。
安心してください。
KaggleわからなくてもPython・Djangoエンジニアとして無事に就職できます。AI関係は大学数学の学習レベルなのでそんな人たちに文系アラサーでは到底敵いません(・・・後々できればいいかなという考え)。
なのでDjangoを利用したweb系志望でした。
就職前(面接時)のスキル
- Kaggle?何それ?
- html/cssでメルカリのトップページの模写はできます
- Python基礎はわかります
- スクレイピングできます
- Numpyわかりません
- Djangoでインスタ風のWebページ作成できます
- 死にかけながらデプロイできました
就職後(2020/1~)半年の言語スキル
- JavaScriptを新たに習得(中)
- jQuery使えます
- Python基礎はわかります
- Django使えます
未経験からPythonを選んだ理由
そもそもなんでRuby、PHPじゃなくてPython勉強してるんだ!?って疑問の人は過去記事よりお願いします。
ざっくり言いますと・・・
- トレンドに乗った(AI?それならPythonでえーやんけー)
- やりたいことがあった(Pythonで機械学習アプリ作るでー)
- ニッチなポジションを狙った(初学者はPHPやて?なになに案件も多いけどアンチも多い?それならPythonやんけー)
- 同スキルで年齢が違う人材がいたら間違いなく年下が選ばれる(Rubyで同スキルのポートフォリオ作り上げたら間違いなく年下が採用で選ばれるやんけ!!そんならPythonや!!)
就職活動に必要なものって?
一般的にプログラミング未経験者がエンジニアとして就職活動をする上で下記2つがやる気とスキルの証明として必須と言われています。
- GitHub
- ポートフォリオ
GitHubに関しては自分が書いたスキルを証明するコードが必要です。
正直GitHubだけだとコピペで済んでしまうのでスキルの証明にはなりませんし就職してから苦労します。
ポートフォリオに関しては自分でドメインを取得してデプロイ(サーバーにアップ)するまでプログラミング言語だけでなくwebの基礎知識全般を理解して成し遂げることが必要で大変な関門であります。
またどこかのプログラミングスクール課題のものをコピペしたものではなくいかに自分の血と汗と涙がしみた成果物を採用面接官に見せることが必要かと言われています。
実際に書いたPython ポートフォリオ
というわけで、前置き長すぎましたがポートフォリオを載せます。
Python ポートフォリオ1
タイトル:野球ゲーム
制作期間:8-10週間程(150時間くらい)
当時エンジニア塾に入っており、講師が次から次へと要件定義をしてきましてそれに対してコードをひたすら追加していきました。最終的にGitHubに公開し就職活動でもGitHubのURLを採用担当者に送りました。
要件定義を言えば
- コンソールでのメッセージ表示で完結するプログラム。
- 代打、代走、ピッチャー交代といった要素はなし。スタメン9人。
- 三振、シングルヒット、2ベースヒット、3ベースヒット、ホームランが発生。
- 5点以上取られたら、ピッチャーを交代。
- 実際のセリーグのチーム名に応じて、全チームをペナントレースさせて優勝チームを決定する処理。
- マジックの概念はなし。140試合終了時点で、最も「勝率」が高いチームを優勝チームと定義。
- 優勝決定時には、順位表を出力。順位表の出力カラムは「チーム名」「勝利数」「負け数」「引き分け数」「勝率」「ゲーム差」の6つ。
- 引き分けの定義は「12回終了時に同点」。
- 勝率が同じ場合は、勝ち数の多い方とする。それでも同じ場合は1,2位のチーム同士で優勝決定戦する仕様。
- 対戦カードは全チームと28戦する。対戦順序は任意。
- パリーグでもペナントレースを実施する。
- 年間140試合中18試合を交流戦とし、セ・パ両方のチームがお互いに3戦*6チーム分対戦する。それに際し、交流戦での優勝チームも決定する。
再生ボタンでコードが走ります↓↓
Python ポートフォリオ2
タイトル:スーパーの賞味期限間近の値引きシールが貼られた商品を写真でフードシェア通称乞食アプリ
制作期間:8-10週間(220時間程)
個人でアプリケーションの開発をすることは、バックエンド~フロントエンドと全ての技術分野に触れることになるので非常に大変でした。
- 言語:Python
- FW:Django
- DB:MySQL
- 使用エディタ:VSCODE、Eclipse
- 本番環境:さくらVPS
- バージョン管理:GitHub
機能 | 個人的に当時感じた難易度 |
問合せ機能 | ⭐️ |
GoogleAPI | ⭐️ |
Google Maps Platform | ⭐️ |
ログイン・ログアウト機能 | ⭐️ |
画像アップロード | ⭐️⭐️ |
API認証を利用した各種SNSによる認証機能 | ⭐️⭐️⭐️ |
MySQLによるアカウント管理 | ⭐️⭐️⭐️ |
サーバーとドメイン連携 | ⭐️⭐️⭐️ |
サーバーのデプロイ | ⭐️⭐️⭐️⭐️⭐️ |
実物を見たいって人はTwitterからメッセージ頂ければ送信します。→現在は維持費がかかるため閉じております。
ポートフォリオに関して面接で質問されること
SES企業は画一的なことしか聞いてこないですし、作り上げたポートフォリオのことなんて一切話しませんでした。web系自社開発企業の面接では現場のエンジニアがポートフォリオに関して五月雨に質問してきますので、嬉しいほどにのびのび返答できました。
やはり自分で作り上げた物は素晴らしいです。
<web系自社開発企業質問例>
- なぜRuby,PHPじゃなくてPython
- どうしてこれを作成したのか
- 一番苦労した機能
- こだわったところ
- 使用エディタ
- などなど
最後に
周りがPHPやRubyだけと言うこともあり、Pythonの勉強をひたすら続けて心配でしたがいざ自分でポートフォリオを作り上げて公開できたら自負心が身について就職活動はうまくいきました。
ポートフォリオは少なからず作り上げたその人の人生の一旦が詰まっているものですし、あたなたが作り上げたポートフォリオを見てくれる採用担当者・現場エンジニアの方は絶対にいます!!周りはRubyやPHPばかりだから自分も見たいです!!笑
と最後までお読み頂きありがとうございました。
少しでもPython学習者の方に参考になればと思います。
スクールを利用して本格的に学ぶ
いかがでしたでしょうか?
10人中9人が挫折すると言われるプログラミングを、ヒロヤンも実はプログラミングスクールで学習をしてきたからで、結果、今はPythonエンジニアとして働いています。
挫折率が高いプログラミングこそお金を払ってメンターを付けて、道を見失わないように環境を構築する必要があるのではないでしょうか。
これはダイエットで自分一人では痩せられないけど、トレーナーを付けて否が応でもせざるを得ない環境を作ると一緒ですね。
ヒロヤンもプログラミング勉強開始直後はあれこれ悩みましたが、悩むよりも手っ取り早くスクールに登録した方が最短ルートで勉強できるのではないかと考え、結果挫折せずに今に至っています。
今なら無料でキャリアカウンセリングを行っているTechAcademyのようなプログラミングスクールもありますのでこれを機会に是非カウンセリングだけでも受けてみてはいかがでしょうか?
上記リンク先から無料相談ができます。
またこちら(↓)ではPython専用のプログラミングスクールをまとめ紹介しています。