見出し画像

26歳 未経験でプログラミングスクール(DMM WEB CAMP)からSE職へのチャレンジ

初めまして!

現在、埼玉県在住の26歳 ペンネーム ”フクロウ”です。

ノートは初投稿なので文章力にはあまり自身がありませんが、自分の経験が誰かの役に立てばいいなと思い、投稿しました!!

気になる部分だけでも良いので是非とも読んで行ってください!!

目次

①経歴紹介

②プログラミングスクールのカウンセリング

③カリキュラムの内容(1ヶ月目~4ヶ月目)と感想

④未経験での就活について

⑤自社開発、受託開発、SES企業について

⑥プログラミングスクール(DMM WEB CAMP)総論


①経歴紹介

では早速僕の自己紹介を簡単にします。                 僕は都内中堅私立大学の理工学部出身で2020年11月~3月までDMM WEB CAMPへ通っていました。スクールに通う前に2社を経験しています。 

前職が大手半導体メーカーで機械系のエンジニアとして勤務していました。一見すると大手で安定した給料をもらえてどうして転職をするの?と思ってしまいますが、実態は平日は8時から23時まで勤務、土日もトラブルの電話や平日やり残した仕事を終わらせるといった日常だったので、ライフワークバランスがとてもではないですけど取れなかった状態でした。毎日毎日、仕事で終わってしまい、何が楽しくて生きているんだろうと思っていました(笑)大手企業って表向きや社長が思い描く将来像などは、とてもよく書かれていますが、実際に働いてみると理想像と大きな乖離があることが多いんですよね。。。まあ世の中って全て本音と建前で上手く渡っていき、良い側面は全面に出す、悪い側面は覆い隠すみたいな仕組みになっているので仕方ないですが。。。                          そんな時にたまたまyoutubeでプログラミングスクールの広告を見て自由な働き方にあこがれを持ったのでITエンジニアを志しました。

さて自己紹介はこの辺でプログラミングスクールの話に移ります。

②プログラミングスクールのカウンセリング

まずはカウンセリングを受けた印象です。僕はテックキャンプさんとDMM WEB CAMPさんの2つのスクールのカウンセリングを受けました。カウンセリングを受けた印象としてはどちらも同じような内容だったので甲乙は付けずらいですが、最終的にはDMM WEB CAMPさんに決めました。

理由としては

1.経済産業省から認定をされている講座があるため、キャッシュバック制度を受けられ約37万円で受講可能。対してテックキャンプさんは約70万円

2.バックエンド言語がPythonとRubyの両方を学べる

3.DMM WEB CAMPさんはWindowsでの受講も可能(とりあえず持っているPCで学びたかったため。しかしながら初学者にはMacを使った方が良いことを改めて強調します。Windowsは環境構築で詰まること本当多かったです。)

4.カリキュラムにチーム開発がある

以上の理由からDMM WEB CAMPさんへ受講を決めました。この当時の判断は正しかったと思います。未経験の状態なので到達レベルはどちらもそれほど変わらないため、もしも同じようなスクールで迷ったら安い方のスクールで学びましょう(笑)。

また、今考えるとハロワークの職業訓練校でお金を稼ぎながらプログラミングを学んだ方がコスパはよかったなと思いました。もし、これからプログラミングを学ぶ人は職業訓練校も候補の1つに入れてみてください。プログラマーまたはシステムエンジニアになりたいというゴールが一緒ならできる限りコスパの良い選択にしましょう!!!                と、あくまでも個人的な意見なので参考程度に。

③-1カリキュラムの内容(1ヶ月目)と感想

さて、ここからは実際にDMM WEB CAMPさんで行ったカリキュラムの内容や感想について記載します。ちなみに僕は前職での退職交渉がかなり長引いたのでほぼ事前学習ほぼなしです。少しprogateでHTML、CSS、Rubyをかじったのと、excelのVBAを使用した経験があるくらいだったのでWEB系の言語はほぼ未経験からのスタートです。

1日目~2日目 Git、Githubの勉強です。基本のコマンド、ファイルをローカルからリモートリポジトリへ上げてみる、Githubの使い方を学ぶ。をやりました。また、1日目はオリエンテーションがあり、Remoというバーチャル教室での自己紹介を軽くしました。いよいよ始まると思い、とてもワクワクした気持ちになりました。また、質問ですが13時~22時までの間に質問フォームというところから質問内容を投げて、Zoomでの質問をします。

3日目~6日目 HTML、CSSの勉強です。VsCodeというエディタを用いてほぼ写経という形で進めます。そんなに難しい印象は受けず、淡々とカリキュラムをこなしていったという形です。ある程度分かるようになったら課題の1つ目のレスポンシブル対応をしました。内容はパソコンで見る画面からスマホ用の画面で見れるように調整する内容です。これもそれほど難しくなく大抵の人はクリアできるレベルです。

7日目~8日目 Rubyの基本の勉強です。AWSのcloud9という環境を用い、Rubyの基本文法を記載して実際に動かしてみる作業です。やっとプログラムらしい勉強になっていきました。

9日目~12日目 Ruby on Railsの基本の勉強になります。いきなり、M(モデル)V(ビュー)C(コントローラー)やデータベースといった単語が出てきたので理解をするのに少し苦戦をしました。ただ、分からない部分は記事を検索すると大体分かりやすい詳細内容が載っています。また、カリキュラムだけではなく、youtubeなどで解説している方もいるので無料商材を利用して理解を深めるのもよいと思っています。

13日目~17日目 簡単なアプリケーションを作成。いよいよ簡単なアプリケーションを作成します。ある程度理解したら、課題2であるアプリの作成に移ります。まあ、アプリとは言ってもレベルは記事投稿→編集→削除ができるような本当に基本的なアプリケーションです。

18日目~27日目 少しレベルが上がったアプリの作成を行います。レベル的にはユーザー登録機能、画像投稿、コメント及びお気に入り機能、マイページ機能などです。本格的なアプリケーションぽくなってきました。また、課題3は初心者には少し難しく、合計5日間ほど使ってしまいました。

27日目~30日目 これまでの復習及び、Javascriptの基礎の勉強。Javascriptとは言っても内容はJQueryになります。ハンバーガーメニューやページの上部に戻るボタンなど簡単なJQueryをここでは学べます。本当はこの期間で余裕があればJavascriptの基礎学習やVue.jsにも触れていた方が後の就活には良い影響を与えると感じました。

感想 1ヶ月目の感想としてはインプット学習で1人でただただ孤独に勉強を行います。今になって思うとQiitaやTwitterなどを使い、学んだことをアウトプットすればよかったと思っています。また、カリキュラムの内容は結構よかったです。初心者にはだいぶ分かりやすく、挫折する人が少ないのも納得しました。ただ正直、メンターの質があまりよくない印象を受けました。1ヶ月目のメンターの方はとても若く、大学生のアルバイトを雇っている感じでした。あくまでも個人的な意見なので参考程度に。。。

③-2 カリキュラムの内容(2ヶ月目)と感想

1日目~10日目 応用課題を行います。応用課題は10個あり、内容としては既に作られているRspecでエラーを解決し、エラーを0にするやフォロー、フォワー機能や非同期通信、ActionMailer、チャット機能、バッチ処理などです。応用課題6までが提出必須で応用課題7以降はチャレンジ編になります。これはほとんど自分自身で調べて提出するという形式になります。内容は結構難しかったですが、きちんと自分で検索をして解決するというエンジニアにおける必須スキルがここで少し養われます。また、チーム分けをされ、毎朝、応用課題の進捗状況を共有する場がありました。今までずっと孤独だったのでとてもありがたかったです(笑)

11日目~15日目 さてここからチーム開発に移ります。応用課題のチームから再編成され、開発内容はケーキ屋さんのECサイトを作ります。僕のチームは男女2人ずつの合計4人のチームでとても仲の良いチームでした。ケーキ屋さんのページは既に決められていますが、ここからER図、テーブル定義書、詳細設計書、スケジュール表を作成します。コロナ化のリモートでのチーム開発ですが、それほどやりずらさはなかったです。各々分担しながら設計書を5日間ほどで作成をしました。

16日目~24日目 さていよいよ実装部分です。まだプログラミングを学び出してから1ヶ月ちょっとだったので想像以上に1つのサイトを作り上げるのが大変でした。特に初心者に難しいと感じたのは、ラジオボタンの条件分岐や買い物かご、注文の実装、確認画面での情報保持が印象としては難しかったです。ただ、チーム開発の良いところは分からない部分を教えあいながら進めることが出来るので1ヶ月目と比べて知識が倍速で定着していった印象を受けました。また、Githubのプルリクエストやissueの発行、など大分Githubの使い方にも慣れていき、最も成長をした期間だったと感じています。

25日目~30日目 デザインの調整、AWSでのデプロイ、発表練習をしました。ここまでくればほとんど終盤になります。デプロイまでできて1通りはWEBアプリケーションを作成して公開するまでの作業が出来ました。最終日は発表でどのチームも同じ内容の発表でしたが、それぞれのチームの特色が伺える良い発表会でした。

③-3 カリキュラムの内容(3ヶ月目)と感想

さて3ヶ月目です。ここでは独自のポートフォリオを作成します。僕の場合はこれを作りたいというアプリが無かったので趣味のお酒から広げていきました。最終的に作ったサイトはバーの紹介とバー好き同士が集まれるコミュニティサイトを作成しました。

また、画面設計や画面遷移図もここでは作成をしなければいけなかったので設計部分がとても大変でした。しかし、実装部分がとても楽しく、自分が思い描くサイトが出来たと実感しています。ちなみに3ヶ月目のメンターの質はとても良いです。現役で働いているエンジニアの方がメンターになっているのでとてもレベルが高く、様々な方法での書き方を教えていただけました!!

参考までに僕がポートフォリオに機能として入れた内容を記載しておきます。

1.メール問い合わせ機能                                 2.チャット機能                                        3.SNS認証ログイン(google,ツイッター,facebook,line)                        4.メール認証機能                                         5.検索機能                                                                  6.星レビュー機能                                                                                                7.非同期通信(お気に入り機能、ブックマーク機能、フォローフォロワー)                                         8.Google API (google map, natural Language)                          9.ゲストログイン機能                                                                                          10.テスト (単体、結合)                                                                                    11. RuboCop                                                                                                        12.Github Actionsでの自動デプロイ                                                                    13 AWS Route53 HTTPS化

大体以上です。もし、余力のある方はDockerやVue.jsなども使用してみてください 。ポートフォリオのフロントエンド部分にvue.jsなどを使用してSPA化すると大分、周囲の未経験者と差をつけることが出来ます!!まあ参考までに。                                                                                

③-4 カリキュラムの内容(4ヶ月目)と感想

いよいよラスト4ヶ月目です。4ヶ月目のカリキュラムはAIとクラウドの2つのカリキュラムから1つを選択します。僕はAIコースを選択しました。

1日目~3日目 ポートフォリオにGoogle APIである画像認証や自然言語を追加します。僕は自然言語をポートフォリオに組み込みました。

4日目~13日目 ポートフォリオに機能追加をした後、Pythonの基礎→機械学習→ニュートラルネットワーク→自然言語処理を学んでいきます。ただ、ちょっと4ヶ月目のカリキュラムはまだ発展途上だと感じました。    理由としてはスライドを読む→jupyter Notebookを使用して課題を解く→課題提出する。 といった流れですが、スライドと課題の内容に大きな乖離があり、スライドを読んだだけでは問題が解けるレベルではなかったです。しかし、2週間で課題を提出しなければいけなかったので必須部分だけ調べながら課題を埋めて、カリキュラムを終えました。4ヶ月目のカリキュラムだけはもう少し、分かりやすい内容に変えていってほしいと感じました。あまりPythonやAIの内容が知識としてつかないまま終えてしまったと感じております。

4ヶ月目の課題を終了させたらいよいよ就職活動です。

④未経験での就活について

 スクールのキャリアアドバイザーさんとの就活で2通りの方法を紹介され、僕はスクール卒業生の評価が高い企業様順に推薦を出していく方式の方法を選択し、この方法で書類選考が通った時点で企業様の詳細や面接日程の調整になります。

また、後悔したくなかったので自分自身もほかの転職サイトを利用して就職活動を行いました。具体的にはリクナビ、doda、Green、Wantedlyなどをフルで使用しました。ただ、やはり自社開発、受託開発はコロナ化で転職を考えている人がとても多い状況だったのでESの通過率はとても悪い印象を受けました。特に人気が高い自社開発系企業はプログラミングテストを実施している企業様が多くその難易度の高さにも大分落ち込みました。。。(到底スクールを卒業して解けるような難易度ではありません。スクール+独学期間が必要なレベルです。)                              なお、スクールで紹介頂いた企業様もSES系企業様が多い印象を受けました。中には自社開発も行っていることを求人で謳われている企業様も多かった印象です。(特にSES系企業様が悪と言っている訳ではないので誤解はしないで下さい。)                                         書類がほとんど通らなかったのでスキルが付きそうな社内SEも視野に入れて就職活動を約2か月間行いました。

結果は就職活動2ヶ月で応募総数約110社、内定3社(自社開発1、社内SE1、SES1)から内定を頂くことが出来ました!!自社開発と社内SEの2つでとても迷いましたが、社内SEの企業様に決めました。理由としては医療分野で様々な事業をやられている会社で自社で作られているプロダクトもあるとのことだったので腰を据えてスキルをつけていくことが出来ることを魅力的に感じたからです。また、内定を頂いていた自社開発企業様は物凄く勢いのあるベンチャー企業でしたが、そのスピード感とレベル感について行けるかがとても不安だったのでこちらの企業様もよかったのですが、辞退をしました。コロナ化での就活はとても不安で求められるスキルもとても高かったので正直途中で心が折れかけましたが、最終的に内定を頂けたので頑張って良かったです。

⑤自社開発、受託開発、SES企業について

ここで就活を通じてIT企業やSEという職種について分かったことがあるので、自社開発、受託開発、SES企業の3つについてそれぞれメリットとデメリットを考慮した上で向いている方をピックアップしていきます。

自社開発

メリット                               自分たちが開発したサービスをアップデートしていけるのでとてもやりがいがある。モダンな技術力が付き、市場価値の高い人間になることができる。働いている人もレベルが高く、その人から情報共有をしていただける機会がある。

デメリット                                  作っているサービスを常にアップデートしていかないとユーザーが飽きてしまうため常に勉強をしなければならない。(売れるサービスを作らなければいけないため、プレッシャーが大きい。)既に働いている方の技術レベルがとても高いため、その方に追いつかないとならず入社数年はずっと勉強をやり続けなければならない。

向いている人                                            アプリ開発をやっていてとても楽しめる方。趣味をプログラミング学習にできる方。今まで何か1つのことに熱中してきて何か成果を上げた方(例えば学生時代に部活動を夜遅くまでやっていて、家に帰ってからも自主練習をして全国大会に行った。など)とにかく1つのことに長期的に熱中した経験がある方が自社開発は向いています。

受託開発

メリット                                                 クライアントとのコミュニケーションスキルが付く。様々なプロダクトに関わることが出来る。複数の言語の知識、上流工程の設計などのスキルをつけることが出来る。

デメリット                                             納期が必ずあるので残業必須は覚悟をしておいた方が良い。不況になると開発案件がなくなっていく。サービスを納入後に何かトラブルがあると夜中でも対応をしなければならないことがある(会社にもよるとは思いますが)自社開発同様常に勉強してクライアントに提案をしなければならない。

向いている方                                     コミュニケーションをとることが好きな方。前職が営業職の方。残業続きでもやっていけるガッツのある方。複数の言語を習得したい方(クライアントによってPHP、Ruby、Pythonで書いてくださいなど指定されることがあります。その際は勉強しながら開発をすることになるため、必然的に身に付きます。)  

SES企業

メリット                                              研修制度が整っている会社が多いため、スキルに自身が無い方も安心して入社することが出来る。初心者にはそこまで高い技術レベルを求められることは少ない。常駐先の環境が合わなくても開発が終わってしまえば次の現場に行くことが出来る。様々な環境を経験できて飽きない。

デメリット                                               技術要員の1人として常駐するため開発の1部分しか任せてもらえないことがある。開発に携われれば良いが中にはエンジニアとは無縁な案件に常駐になってしまうこともあるため、エンジニアとして経験を積める保証は絶対ではない。今回のコロナなどの事態が発生した場合に待機が発生する可能性がある。

向いている人                                                         プログラミングは好きだが、自分のスキルにまだ自信がない方。勤務先にはこだわらず、色んな環境を経験したい方。プログラミング以外の趣味の時間を作りたい方。(企業にもよる)やりたい案件に携われなくても任された仕事を前向きに行える方。                                                             

⑥プログラミングスクール総論

DMM WEB CAMPに通って総合的には良かったと感じております。カリキュラムやキャリアアドバイザーがとてもよく、実際に転職もできたのでスクール自体には満足をしています。

しかしながら、やはりプログラミングは思っていたよりも難しく、エンジニアとして働くにはそれなりの努力と覚悟が必要になってくると感じております。

そのため、一番良いのが今いる会社で働きながら通うことのできるスクールでプログラミングを学んでいき、本当にエンジニアとしてやっていけるかを今一度確認したうえでIT業界へ転職してよいかを判断するのがもっともベストプランだと思いました。

僕の場合は結果的には良かったと思いますが、すべての人が会社を辞めてスクールに通うことが適しているかというとそうではないと思うので何か決断をするときは慎重に行ってください。人生100年時代なので生き急ぐ必要はありません。

また、スクールは基本良いことしか言わないのでインターネットなどで検索をしてデメリット部分も理解した上で総合的に判断をすることをお勧めします。特にスクール卒業後に実際に働く業界と自分が成りたい姿や将来像をイメージして合致するか判断した上で決断をして下さい。

それでは長くなってしまいましたが、初投稿をこの辺で失礼します!!!

この記事が気に入ったらサポートをしてみませんか?