フリーターがプログラマーに最短で就職する2つの方法【徹底解説】
こんにちは、元独立系SIer【 Fグループ 】で働いていたYaemonです。
今、プログラマーへの就職を考えている人の中には、
という方がいらっしゃるかと思います。
管理人も大学生のときに右も左もわからない未経験の状況でプログラミングのアルバイトをして苦労をしたことがあります。
そこで、このページでは、
▶ プログラミング未経験のフリーター・大学生・既卒・第二新卒
に向けて、
▶ IT企業に最短で就職する具体的なノウハウ
について説明をしていきます。こちらを確認して頂くことで、プログラミング未経験者が就職にするための最短の方法を記入しています。是非最後まで読んでみてください。
結論
結論からまずお話しすると、オススメする方法は以下の2通りです。
無料のプログラミングスクール(就職支援あり)を利用する 期間:3ヶ月
⇒プログラミングスクールは次の3つの点からオススメします。
・プロが教えるため効率的にムダなく勉強ができる。
・メンターがついたり、一緒に学ぶ仲間がいるためモチベーションを保つことができる。
・就職支援がある。
通学ができる方はProEngineer(エンジニアカレッジ) or 0円スクール(ゼロスク)
通学ができない方はTECH::EXPERT(オンライン型)*有料 がオススメです。
プログラミングスクールの比較と選び方を別記事にまとめていますので、あわせて確認してみてください。
>>> 【2019年版 最新情報】プログラミングスクールの比較と選び方まとめ
N予備校のプログラミングコースを受講して独学でアプリを作る 期間:3ヶ月
⇒ネットサービスは次の2つの点からオススメします。
・独学で自分のペースで進めることができる。
・アウトプットを意識して進めるため実力がつく人もいる。
ただし、ネットサービスの場合は継続できない人が多いので、本気で就職しようとする人にはオススメしません。時間がもったいないです。
次に、管理人が未経験からプログラミングのアルバイトをして、2ヶ月で40万円を頂いた話をします。このアルバイトからのルートは今ではあまりないですが参考にしてみてください。
未経験からプログラマーのアルバイトがきっかけに就職した管理人の話
管理人がプログラミング未経験からプログラミングのアルバイトをした内容を説明をします。
未経験者の方は、スキルを身につける1つの例として参考にしてみてください。
また、未経験OKのプログラミングのアルバイトを運良く見つけることができればいいですが、見つけるのが難しいので、プログラミングスクールでスキルを磨くことをオススメします。
仕事を見つけた経緯
まず、プログラマーのアルバイトの仕事を見つけるきっかけは、大学時代の2010年11月の秋に見た、「The Socail Network」という映画ですね。
この映画を見て、自分もプログラミングをやってみたいと強烈に思うようになりました。いつかプログラマーになれたらいいなと思いつつも日々を過ごしていた中で、ふと大学の掲示板の中で、以下の条件の求人があったのを見つけて、電話をして応募をして駅のドトールで面接をすることになりました。
[求人内容]
▶ システム開発のプログラマー募集
▶ 初心者可
▶ 時給900円 + 歩合(画面数)~
▶ 週1日出社、3日在宅
プログラマーのアルバイト面接
正直、勢いで応募をしたこともあり、他に応募者がいたらどうしようと不安に思っていたことを覚えています。
面接を担当したのは大学のOBで、中小企業の会社から独立をして、1人で不動産経営と一緒に、情報システムを受託しているという変わった経歴の人でした。
今回のお仕事の経緯は、会社の情報システムの新しい企画として生産管理システムを開発をしているとのことでしたね。具体的な仕事内容は、工場の生産管理システム(Webアプリケーション)の開発で、条件は以下のとおりでした。
- 工場内で日々の日報を登録するためのアプリケーションを作ること。
- PHPで開発したプロトタイプがあるので、それを流用できるとのこと。
色々話をする中で仕事に魅力を感じて、管理人はその仕事を請け負うことにしました。
また、契約時に、契約形態について以下2つの条件が提示されました。
- 請負で一括でお金を計算する方法
- アルバイト契約で時給で計算する方法
このどちらにするかと聞かれましたが、確実にお金をもらいたかったので、アルバイトとして雇ってもらうことにしました。また、私が未経験ということもあり、月末までに成果を出せない場合は、フリーランスに切り替えると話がありましたね。面接では、1万円分勉強のための本代が支給されるとのことで、その日のうちにPHPの勉強のための本を数冊購入しました。
プログラマーアルバイト(日報Webアプリシステム)の仕事内容
面接が終わり、後日仕事の流れの説明がありました。作業内容は、
- システム環境構築
- システムの開発会議
- プログラミング
- システムのテスト
- システムの納品
までが予定されていました。それぞれの工程について説明をしていきます。
WAMP環境の構築
ローカルPCに、WAMP環境(Windows + Apache + MySQL + PHP)を作り、WEBアプリケーションの画面を作ること求められました。
初心者の段階で、Apache、MySQLの仕組みについて余り理解できていませんでしたが、なんとか本にあるとおりに以下の作業を行いました。
- Apacheのインストール
- MySQLのインストール
- PHPからDBに動作確認
(SELECT、INSERT、DELETE、UPDATEのSQL文の動作確認)
このときの作業は1日1日が本当に大変で、1人で作業をしていて、途中動かなくなって、どこを修正したらいいかも分からず、何時間も悩んで悩んで、結局1から再インストールしたことが何回もありました。
プログラミング
画面イメージはプロトタイプがありましたので、それに沿って、新しい画面に合わせてプログラミングを組んでいきました。今考えると、プログラミング初心者にとってはかなり難しいが、エンジニアとして働いたあとに振り返ると、簡単なレベルでした。
こちらも、不明点が分かったと思って進んだら、また分からないことが出てきて作業が止まることが毎日ありました。毎日3歩進んで2歩戻るのような形ですね。それでも、この仕事ができなかったらプログラマーになることは諦めようという不退転の決意で作業をしていました。あとは、「気合い」で作り上げていくことになります。
また、作業途中に東日本大震災に被災して、
- テストサーバーが計画停電で停止するための対応
- 放射能のニュースの不安
- 毎日の余震の不安
というストレスの中で作り上げていくことができました。
システムの進捗会議
週に1度工場に行き、進捗状況の報告と、現場作業員の作業状況を確認して作業工程の状況を確認しました。これは、実際にSIerで行われるような作業と同じでしたので、非常に勉強になりましたね。会議の中では、具体的に次の仕様が追加になりました。
- Webアプリケーションの画面遷移時の計算方法の追加(前工程から後工程で仕掛品の数量の増減をする)
- PHPからMySQLへINSERTするときの正規表現によるチェック処理の追加
など、初心者にはレベルの高い要望もありました。ただし、このときの大学生のときの経験をエントリーシート・面接でアピールすると問題なく通っていました。
システムのテスト
予め、自分なりにテスト項目を作って、PHPからローカルPCのMySQLからテスト用のサーバーのMySQLに向け先を変えてテストをしました。
システムの納品
製造からテストまで終わると、発注者にコードの納品をしました。テストサーバーで動作を確認してもらうまでが仕事でしたね。納品後の稼働では、上手くコードの移行ができたので、特に追加の作業はなかったです。また、予定通りにコードを納品をして40万円ほどのお金を頂くことができました。
システム開発で困ったこと
東日本大震災と計画停電によるサーバー停止
このアルバイト期間中の2011年2月〜3月の作業中に、東日本大震災に被災してしまい、計画停電から、向け先のDBサーバーが停止、急遽、ローカルPCのDBで開発を変更することになりました。MySQLの接続先変更の設定箇所がわからなくて、とても焦りましたね。
プログラミングで詰まったときの解決方法は独学のみ
今では、いろんな質問サイト*があって解決するアプローチはたくさんありますが、当時開発をしていると、途中でプログラミング環境の設定をいじって、動かなくなって、1から再設定し直すという非効率なこともありました。
毎日、数個は詰まることがでてきて、どこで詰まっているのか分からないこともありました。そのため、質問できる人がいればなといつも思っていました。プログラミング初心者ならわかると思いますが、どこが分からないのか分からないというどうしようもない状況に陥ると焦りますよね。お金をもらうバイトならなおさらです。
当時の解決策は、本を熟読して解決するしかありませんでした。夢にまでプログラミングするくらい追い込まれていましたね。
*今では、Stack Overflow(日本語版)、エンジニアのためのQ&Aサイト【teratail】 などのエンジニア向け質問サイトが充実してきていますが、初心者でつまずくと、ITエンジニアの道を諦める(挫折する)ということになってしまいますよね。
報酬について
時給と画面数を合わせて、約40万円を頂きまいた。正直、バイトが失敗したらシステムエンジニアになることを諦めるという不退転の決意があったから、そこまでいけたのだと思います。
この仕事で、契約から納品までの工程を体験して、更に報酬まで頂けたという成功体験は、お金以上に価値があるものでした。また、当時の日記を振り返って、以下の点がシステム開発から学んだことなので、これもスキルといえます。
プログラマーのバイトで学んだこと
プログラマーに必要な考え
- 企画と現場との価値観のすり合わせには労力がいる
- つぎはぎのコードでも動くが、体系的に学ばないといけない
- システムを作るにあたり、経営側と従業員側から聞き取りして、改善点を創出しないといけない
- そのためのコミュニケーション能力は重要
- 低スペックの開発環境はストレスがたまる
- コーディングは、下流の工程ということ
プログラミングのアルバイトで学んだこと
- 体調が悪くなったときに、納期を遅らせることはできないか聞いたが、客先に合わせないといけないからダメとのこと。体調管理は大事だから、システムの受託では、夏休みの宿題は早めにおわらせる感覚が必要。
- 工場では、中小企業の町工場といえるところで、様々な機会を駆使して製品を作っていた。中には、これは某有名企業に納品するんだよという話もあり、勉強になった。こうした会社の努力が、日本企業を支えているのだと感じた。
SEの転職活動
管理人は経済学部に所属していましたが、この経験を活かして、エントリーシートや面接で話題にすることができ、東証一部上場の大手独立系SIer(平均年収650万円程)に転職しました。
フリーターがプログラマーのアルバイトでスキルをつける方法は効率的?
未経験者からバイトで仕事をしつつプログラミングを学ぶことは、不明点が多いこととつまずくと挫折するため、オススメしないです。最近は、初心者向けにプログラミングのスクールがあるため、同じ環境にいる人と一緒に教わった方が正直効率がよいです。N予備校のプログラミングコースやドットインストールなど独学で学ぶ環境は整っていますが、独学だとどうしても挫折してしまうことが多いです。
再現性について
この管理人が経験した、未経験者がプログラミングのアルバイトでスキルを身につけるという方法は、未経験者可なアルバイトの仕事を見つけないといけないし、未経験者可な仕事は、サーバー監視などスキルが身につきにくい仕事が多く正直厳しいです。
そのため、システムエンジニア(プログラマー)になりたいという強い意思があるのなら、プログラミングスクールで仲間を見つけてスキルアップしてから仕事をしていくほうが遠回りのように見えて、近道だと思います。
シチュエーション別・オススメのプログラミングスクールについて
エンジニアカレッジ(既卒・フリーター対象)
管理人のオススメのプログラミングスクールは、完全無料でプログラミング研修と就活サポートを受けられるエンジニアカレッジ です。対象は、既卒・フリーターの方が対象です。
受講期間は2ヶ月を1つのスパンとして受講期間が設定され、以降は就職先を斡旋してもらえます。ここは、提携企業からの援助があるため、完全無料でプログラミングの研修と就職支援を受けることができます。
ここのサービスの凄い所は、カリキュラムが本格的な点です。Linux研修コースとJava研修コースの2つがあり、有料でも行く価値があると感じています。特にオススメはJava研修コースです。
というのも、このJavaを学ぶときに、クラス、インスタンス、オブジェクトなどの未経験者が一番はまりやすいプログラミングのオブジェクト指向の概念を学ぶことができ、未経験者がつまずくところを徹底的にフォローしてもらえます。この未経験者が一番ハマりやすいところを教えてもらえるというのは羨ましいです。もうちょっと苦労してもよいのではないかと思いますが。
Javaは独学だとしんどくて挫折するので初心者には不向きだが、集中して教えてもらえるのであれば、初心者でも全然取り組めるプログラミング言語といえます。
管理人がJavaで開発をしていた話をすると、社内SE時代に、Java + Struts(フレームワーク)でシステム開発をしたが、Javaができると、他のC#、.NET、Ruby、JavaScript、Objective-Cなどオブジェクト指向の言語を扱えるようになります。
また、サイバーの子会社で働いていた友人の話ですが、Java + StrutsのWEBアプリを開発していたため、Javaができるようになると、業務系、WEB系どちらでも将来仕事につけるようになります。更に、研修の中には、JUnitを用いたテストツールの使い方もカリキュラムにあるため、本格的なスキルを身につけることができます。
一方、Linux研修コースでは、サーバーの構築作業をメインで学習します。Linuxサーバーでの構築作業ができると、サーバーの構築作業であったり、ネットワーク関連の作業に携わることができる。どちらかというと、SIer関連の案件が多いイメージですね。
一緒に講義を受講する仲間
このエンジニアカレッジの研修は、Skype研修であれば1人となるが、周りに一緒に勉強する仲間がいるため、それだけでも挫折するリスクが減るため、達成しやすいです。マラソンも1人でやるより、周りで人が走っている状況だと自分も走れるのと同じですね。
また、この下積み時代にできた友だちは将来も同じ業界で働く、刺激し合える良い関係を気づけるのも特徴です。これから未経験者が新しい道を進んでいくときに、1人だと辛いですよね。一緒にがんばる仲間がいると心強いです。
CodeCamp(社会人向け)
先ほど伝えたエンジニアカレッジは、フリーターや既卒向けのため、すでに働いている人を対象としていないです。そのため、働いている人を対象にしたプログラミングスクールでオススメするのは TECH::EXPERT(オンライン型) です。効率的に成果を出すために、プログラミングの授業をリモートで受けることができます。プログラミング言語はRubyを学べます。
オンラインプログラミングスクールを検討している人は、管理人がオンラインプログラミングスクールを利用してiPhoneアプリを作成した体験記事を確認して、雰囲気をつかんでもらえたらなと思います。
未経験者が挫折する原因
超重要な点を話すと、未経験者が挫折してしまうのは適切な課題を設定できないからで、それは本を読んで例題をこなすだけだと中々実力がつきません。そこで、プログラマーのアルバイトに行くとレベルが高すぎることを要求されてしまい、挫折してしまう人がいます。
プログラミングスクールであれば、自分のレベルの少し上の課題が常に設定されていくので、スキルが身につきやすく、またフォローもあるのでやり遂げることができる環境は整っています。
プログラミングスクールでの学び方
最後に、ここまで読んでもらった人に向けて、効率的なプログラミングスクールの使い方を伝えておきます。プログラミングで何か作業していると常につまずきます。そのときに、トラブルが起こった原因と対策について考える癖を身につけることがめちゃくちゃ大事です。単純に分からないから聞くのではなく、自分で解決する努力を常に続けていくことを心がけて欲しいです。
超具体的なアドバイスをすると、エラーコードが出てきたときは、そのエラーコードをググるだけでも相当変わります。はてなブログの技術記事やQiitaで対応方法がまとめられているからですね。
また、エンジニアカレッジ や TECH::EXPERT(オンライン型) では、無料相談や無料の体験講義があるため、雰囲気を知るために受けてみることをオススメします。エンジニアカレッジは遠隔地でもSkype講義で対応していますよ。
まとめ
以上、プログラミング未経験のフリーターがシステム会社へ就職する方法について説明をしてきました。
未経験OKのプログラミングのアルバイトが見つかれば良いですが難しいのが現状です。そのためスキルアップをしてシステム会社に就職・転職するためには、プログラミングスクールでスキルを身につけることをオススメします。
次のページに、プログラミングスクールの選び方をまとめていますので、参考にしてみてください。
>>> 【2019年版 最新情報】プログラミングスクールの比較と選び方まとめ