生きづらいぼくたちが生き抜くために
ひとつでも多くの知識を
知恵にできますように
はじまり

経歴不利なプログラミング完全未経験者がJavaで独学就職するための参考書・勉強法・資格をプログラミング講師目線で解説します!!

IT業界への転職を検討しているみなさんにあっては,情報の氾濫するいま,「結局自分は,『なにを』『どこまで』やればいいのか?」が掴めていないことかと思います。インフラなのかプログラムなのか,言語は何がいいのか,どの学習サイトがいいのか。とにかく考えることが多すぎて,行動に移すことが難しいかと思います。

そこで,企業向け研修やプログラミングスクールで講師をしているぼくが,あえて断言します。

考えたくないひとは,とりあえず下記の通りに動けばなんとかなりますよ!高収入はまったく保証しませんが!!!

前提

ゴール

この記事のゴールは,

「『自分は経歴がヤバい(悪い意味で)』と感じていて『餓死』に怯えているひとたち」が,「わりとアレな人生を送ってきましたが,とりあえず Java の勉強をしました!がんばりました!がんばります!」と面接で説明して,人事担当者サマに「わかったわかった,よくがんばったな。うちでいっしょに働くか?カツ丼食うか?」

と言ってもらうことです。

ぼくがこの業界にくる際,28歳フリーターでした。ヤバいです。とにかくあのころは餓死に怯えていました。しかし結果,餓死することもなく今日まで生きています。おそらくこれからも餓死はしないでしょう(そして金持ちになることもまた,ないでしょう)。

言語は Java です

Java がえらく人不足だというのと,たんにぼくが Java の講師でほかはあんまりさじ加減が分からないというのが理由です。

  • インフラエンジニアになりたいかた
  • Web エンジニアになりたいかた

はこの記事の対象外です。

独学を前提にしています。

現実には,プログラミングの学習は独学に向きません。僕もスクールに通いました。

www.arute.me

しかし,世界には「それでも俺には独学じゃなきゃならない『事情』があるんや」と思っている人もいるでしょう。

そんなひとに向けて書いています。

対象とならない人

「すみやかにイケてるエンジニアになって,トロピカルジュースを飲みながらカタカタッターンしたい」ひとは対象外となります。

なので,この記事を読むひとはよく考え,周囲のひとの話を聞いてください。

「自分は IT 業界に入りたいと思っていたが,突き詰めると『すみやかにイケてるエンジニアになって,トロピカルジュースを飲みながらカタカタッターンしたい』だけなのではないか?」と自問自答してみてください。

その場合,この記事に書かれていることを行っても,何もいいことはありません。

手順

全体をおおきくみっつのステップに分けます。

  1. 詰め込む
  2. 作る
  3. 整える

それぞれは,同じくらいの学習時間がかかるかと思います(各ステップ200時間くらい)。

1. 詰め込み

アウトプット
 資格合格
  Java Bronze
  Java Silver

最初のステップは「未経験」を脱することとします。

ここでの「経験」とは「実務経験」ではなく「プログラミング経験(Java経験)」だと考えてください(実務経験は,実務しないとつかないですから)

本来論としては,IT 業界では「何を知っているか」以上に「何ができるか」が重視されます。「資格なんて大嫌い」という人もいっぱいいます。

しかし,学習初期から「何かを作れるようになる」というのは難しいものです。特にこの記事の前提は独学ですんで,最初から何かを作ろうとしてつまづくと発狂してしまいます。

そこでありきたりですが,資格取得を最初の目標にしましょう。

資格が素晴らしいのは,「プログラムが書けなくても取得できる」という点です。とりあえず「理解」だけできれば取得できます。

英語を学習するなら「英単語と英文法を先に詰め込んで,その後英文を多読する」という方法が王道ですよね。これと同じ戦略です。

本は,以下のものを利用します。

Javaの絵本 第3版 Javaが好きになる新しい9つの扉

Javaの絵本 第3版 Javaが好きになる新しい9つの扉

スッキリわかるJava入門 第2版 スッキリわかるシリーズ

スッキリわかるJava入門 第2版 スッキリわかるシリーズ

オラクル認定資格教科書 Javaプログラマ Bronze SE 7/8 スピードマスター問題集

オラクル認定資格教科書 Javaプログラマ Bronze SE 7/8 スピードマスター問題集

オラクル認定資格教科書 Javaプログラマ Silver SE 8 スピードマスター問題集

オラクル認定資格教科書 Javaプログラマ Silver SE 8 スピードマスター問題集

こんな流れで学習するといいでしょう。

  1. 絵本を一通り読む
  2. スッキリJava を参照しながら Bronze スピードマスターを解く
  3. Bronze 合格
  4. スッキリJava を参照しながら Silver スピードマスターを解く
  5. Silver 合格

(必要に応じて,ソースコードを写経してみたり,動かしてみたりするといいでしょう)

ここまでで「Java はなんとなく分かるぜ」のレベルに達します。

もしあなたがそこまで不利な人でないなら,このタイミングで転職活動をしてもいいはずです(例 : 25歳くらいまでで,コミュ障でないこと。バイトを含めて何らかの就労経験がある)。

あなたが「いやマジヤバイんス。でもやる気はあるんス」という人なら,次のステップに進みましょう。

サッパリ分かららないが,それでも諦められない人

プログラミングには,(ほかのどんなものにもあるように)向き不向きがあります。

なので「あ,オレ向いてないわ」と思った場合にはインフラエンジニア等の隣接業種を視野に入れるほうが幸せになります。

しかし,何か事情があってどうしても Java を理解できるようになりたいひともいると思います。その場合は,いったん上記の学習を中止して,以下の本の中から気に入ったものを いくつか取り組んでみましょう(中身見ないまま勧めています。要するに「考え方」を学ぼうという話)。

はじめてのプログラミング (学研まんが入門シリーズ)

はじめてのプログラミング (学研まんが入門シリーズ)

  • 作者: 橋爪香織,たきりょうこ,阿部和広,うめ(小沢高広・妹尾朝子),
  • 出版社/メーカー: 学研プラス
  • 発売日: 2017/04/18
  • メディア: 単行本
  • この商品を含むブログを見る

[改訂新版] これからはじめるプログラミング基礎の基礎

[改訂新版] これからはじめるプログラミング基礎の基礎

できるキッズ 子どもと学ぶ Scratch プログラミング入門

できるキッズ 子どもと学ぶ Scratch プログラミング入門

2. 作る

アウトプット
 Web アプリケーション

前段の学習で,とりあえず Java が分かるようになりました。

次に,「(たとえ低レベルであっても)即戦力人材」を目指すための学習を行います。(たとえ低レベルであっても)即戦力な人材となることで,企業は教育コストを浮かせることができるため,採用してもらえる確率がずっと高くなります。

そこで,実際に Web アプリケーションを作ってみましょう(もちろん,自分の学習用なので,オリジナリティあふれる Web サービスである必要はまったくありません)。

スッキリわかる サーブレット&JSP入門 (スッキリシリーズ)

スッキリわかる サーブレット&JSP入門 (スッキリシリーズ)

スッキリわかる SQL 入門 ドリル215問付き! (スッキリシリーズ)

スッキリわかる SQL 入門 ドリル215問付き! (スッキリシリーズ)

作るものはなんでも構いません。上記の本を読む過程で何かしらイメージがつくと思います。

  • サーブレットJSPを連携させる
  • JDBCを使ったデータベース操作(検索・挿入・更新・削除)を行う

あたりの機能をつけていればOKです(この記事を読んでいる段階では意味不明でしょうが,学習すれば分かります)。

※ もしどうしても作りたいもののイメージが湧かなければ,「会員登録して使う掲示板システム」がいいと思います。

なお,可処分時間の許す限り,周辺学習をしていきましょう。作った Web アプリケーションの機能を増やしたい方は,そうしましょう。思いつかないかたは,以下の書籍なんかを立ち読みして,気になったものから読んでいきましょう。

イラスト図解式 この一冊で全部わかるWeb技術の基本

イラスト図解式 この一冊で全部わかるWeb技術の基本

イラスト図解式 この一冊で全部わかるセキュリティの基本

イラスト図解式 この一冊で全部わかるセキュリティの基本

イラスト図解式 この一冊で全部わかるサーバーの基本

イラスト図解式 この一冊で全部わかるサーバーの基本

おうちで学べるデータベースのきほん

おうちで学べるデータベースのきほん

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

「プロになるためのWeb技術入門」 ――なぜ、あなたはWebシステムを開発できないのか

「プロになるためのWeb技術入門」 ――なぜ、あなたはWebシステムを開発できないのか

HTTPの教科書

HTTPの教科書

整える

アウトプット
 設計書
 Webアプリケーション

ここまで必要となるのは「35歳職歴なしニート」くらいのひとです(逆に言うと,35歳職歴なしニートでも,ここまでやればたぶんどこかしら採用されます)。

1. 設計書を作る

通常,システム開発というのは膨大な設計書を作りながら行います。そこで,前段で作った Web アプリケーションについて,設計書を書いてみましょう。設計書は,次のあたりを作ってみるといいでしょう(あくまで一例です)。

  1. ユースケース
  2. ユースケース記述
  3. 画面遷移図
  4. 画面設計書
  5. ER図
  6. クラス図
  7. シーケンス図

2. フレームワークについて勉強する

なんでもいいので,フレームワークについて勉強しましょう。Spring Boot がいいと思います。

3. ウォーターフォールモデルでもう1回 Web アプリケーションを作る

これまでの学習を踏まえ,設計書を作るところから自分でやってみます。おそらく足りない知識があるでしょうから,後述の書籍などで補いましょう(Google も大いに活用します)。とくにテスト工程についてはしっかり勉強しておくといいです(最初はテスト工程からアサインされることが多いため)。

参考になるかもしれない書籍

正直ピンとくるものを選ぶのが一番だと思いますが,とりあえず思いつく限り挙げておきますね。「これを読め!」というものではなく,「こういうジャンルの本あるよ」という話です。

Spring Boot 2 プログラミング入門

Spring Boot 2 プログラミング入門

かんたん UML入門 [改訂2版] (プログラミングの教科書)

かんたん UML入門 [改訂2版] (プログラミングの教科書)

ゼロからわかる UML超入門 [改訂2版] (かんたんIT基礎講座)

ゼロからわかる UML超入門 [改訂2版] (かんたんIT基礎講座)

図解でわかるソフトウェア開発のすべて

図解でわかるソフトウェア開発のすべて

知識ゼロから学ぶソフトウェアテスト 【改訂版】

知識ゼロから学ぶソフトウェアテスト 【改訂版】

経験ゼロでもできるプログラミング現場の単体テスト

経験ゼロでもできるプログラミング現場の単体テスト

面接にあたって

実際の企業面接にあたっては,自分がどんな勉強を,どんな目的で行って,いまどんなことができるようになったのかを話すといいでしょう(あたりまえですが,勉強しただけでは人事担当者は「勉強したのだな」と分かりません。伝える必要があります)。

あとお節介かもしれませんが,マジで経歴アレでしたら,最初は派遣社員から始めるのもいいかもしれませんよ。就労のハードルが低くなりますし,時給も一般の派遣よりはずっといいです。

全部やっても600時間

ここまでの学習は,仮に全部やっても 600 時間「しか」かかりません。

そして,この記事を読んでいる方なら,きっと600時間の「少なさ」がよくわかると思います。

あなたが「人生逆転!」思って調べた資格試験の勉強時間相場はどれくらいでしたか?1000時間〜3000時間くらいではありませんでしたか?そして,予備校費用が10〜50万円ほど必要ではありませんでしたか?

それに比べてこの方法は,たったの600時間。書籍代と資格受験費用で10万円未満です。

もし,毎日10時間ずつ学習に充てるなら,2カ月で済む量です。しかも,大型資格試験と異なり,「ゼロからヒャクか」というものではありません。やればやっただけ,どこかしらから採用される可能性が高まります。

クソッタレな IT 業界を生き抜いて,笑い合おう

IT 業界は,クソッタレなのかもしれません。とにかくネットには,IT 業界の悪口が書かれまくっています。

でもまあ,僕らは,基本すでにクソッタレな人生を歩んでるじゃないですか。

僕の友人(IT業界人)が言っていました。

「自分はずっとニートだった。だから『底』を知っている。ダメでもあれに戻るだけだから,特に不安も不満もない」

僕も似た感覚です(28歳までフリーターだったので)。

IT 業界は,ピンとキリの格差がデカイ業界です。しかしまあ,餓死はしませんよ(過労死しそうになったら転職!)。オサレでハッピーなライフは約束できませんが,汚い居酒屋で「やべえなそれwww」と笑い合いましょうや!