Satodiarydev今年の夏から秋にかけて、ベルリンでコーディングブートキャンプに参加しました。参加を決めた理由、参加して良かったことと期待していたほどではなかった部分、平均的なな1日など、その体験を振り返りたいと思います。今年の8-9月にかけて、9週間のコーディングブートキャンプにベルリンで参加しました。ソフトウェアエンジニアにキャリアチェンジしたいという方は、選択肢としてブートキャンプを視野に入れる方も少なくないかと思います。実際に体験した者の視点から、ブートキャンプに参加して良かったこと、期待したほどではなかった部分などを書きたいと思います。アメリカで5-6年前から人気になり、最近は欧州でもブートキャンプが増えています。Academyなどのブートキャンプがありますが、どれもここ1-2年にベルリンで始まったばかりのスクールで比較的新しいです。私が参加したIronhackは、もともとスペイン発祥で欧州やアメリカで展開していますが、ベルリンに進出したのは今年の5月。私はフルタイムのウェブ開発コースの二期生として参加しました。奨学金をいただけた私がIronhackに参加しようと決めた理由なのですが、こちらのブログ記事にも書いたとおり、まず奨学金をいただけたというのは大きかったです。6500ユーロ(90万ぐらい)します)、一部奨学金であってもかなり経済的には助かります。私は1500ユーロの奨学金をいただきました。使う言語と技術スタックが市場の需要を反映しているあとは、扱う言語や技術スタックが、JavascriptをベースにMERNスタックを学ぶという、現在のジョブマーケットで需要が伸びているものを採用しているという点も魅力でした。仲間と先生が得られるあとは仲間が得られること、先生の指導が得られることです。奨学金を得られた時点で2ヶ月近くプログラミングをほぼ独学で学んでいたのですが、一人で学ぶ大変さ、孤独や不安もよく感じていました。目標を共にする仲間がほしい、経験豊富な先生の指導を得たいという気持ちは強かったです。あと、インターナショナルな職場に就職したかったので、同じようなさまざまなバックグラウンドの生徒が集まる環境で学べる(言語は英語、生徒も様々な場所から来る)というのも魅力でした。参加する際に意識したことブートキャンプが始まる前にできるだけ勉強を進めておく私が参加したブートキャンプは9週間。多くの短期ブートキャンプは2-3ヶ月で終了してしまいます。2-3ヶ月で一体どれくらい学べるんだ、と思われる方も少なくないかと思います。9週間のブートキャンプでは、大量の情報を短い期間で吸収し、実践でも使えるレベルにまでもっていくことが期待されるのですが、本人の論理思考力はもとよりブートキャンプ以前にどれほどプログラミングの経験があるかによってもブートキャンプ期間中の成長度というのは変わります。実際、ブートキャンプで優秀だったクラスメートは、PHPを使ってすでに開発者として働いた経験がある人、C言語を学んだことがあり常にredditで開発系の情報を追っているテック好きの人など、プログラミングの経験がすでにあり、かつ純粋に技術に対する興味が大きい人たちでした。そもそも、未経験者でもウェブ開発者にキャリアチェンジできることをうたっているブートキャンプではあるものの、2-3ヶ月で生徒の人生をがらりと変えてくれるような魔法の場所ではありません。卒業後にジョブマーケットに出れば、採用者から見られるのはブートキャンプを卒業したかどうかではなく、本人の経験、能力、モチベーションです。話が少しそれましたが、私はブートキャンプ中にできる限り成長できることを目指して、ブートキャンプに入る前にできるだけプログラミングの勉強を進めておきました。ブートキャンプも入学者に対しては、勉強時間量約60時間分に相当する課題を事前に出しているのですが、私は300時間分ぐらい勉強しておきました。結果的に、300時間勉強してブートキャンプに入っても、すでに3日目にして授業の課題をこなすのに苦労し始めました。ブートキャンプから与えられた課題をこなしただけで入学した学生の中には、あまりの大変さと難しさに圧倒されて泣き出してしまう人もいました。ブートキャンプに入る前にできるだけ勉強を進めておくにこしたことはありません。トップレベルになれるよう頑張る先にも書いたように、ブートキャンプを卒業したからといって就職が保証されているわけではありません。受け身で学習するのではなく、クラスの中で誰よりも良い結果を出せることを意識しながら勉強しました。結果的に、私よりも断然優秀だった生徒は何人もいたのですが、彼らに良い刺激をもらいながら頑張りました。典型的なブートキャンプの1日さて、実際にブートキャンプ中の典型的な1日はどんな感じか、書きたいと思います。その日の課題に取り組む講義に使う教材は、Ironhack関係者だけがログインできるサイト上にすべて掲載されているので、生徒はいつでもそこにログインして内容を確認することができます。TAがそのPRをチェックします。毎日の課題を提出するというのがとても大変で、毎日20-21時ごろまで教室に残って取り組む生徒が多かったです。私はだいたい8時半ごろにきて、夜の8時半ごろに帰ることが多かったです。その週の内容が消化しきれないときは、週末も課題の続きをやったり、他の教材を自分で探して自習したりしました。1週間のキャリアウィークとなっています。モジュールごとに大きなテーマがあって、最初のモジュールはHTML、CSS、Javascriptの基礎固め、2つ目はNode.js、MondoDB、Expressなどでバックエンド、3つ目はReactという感じです。それぞれのモジュールの最終週はプロジェクトウィークで、各自が学んだ内容をもとに自分のアプリケーションやゲームを作ります。モジュールの最終日に他のクラスメートの前でそれをプレゼンするという形です。カリキュラムや実際にどのような課題に取り組んだかどうかは、こちらのnote、ベルリンのコーディングブートキャンプ体験記に掲載しましたので、もしご興味があればどうぞ。実際に参加して良かったことプログラミングに没頭できる私はブートキャンプに入るにあたって、それまでの仕事を全てクローズして学習のみに集中する体制に入ったのですが、フルタイムのブートキャンプに参加するにあたっては副業や他の勉強を並行することは基本的に認められず、すべての時間をブートキャンプに使うことが期待されます。実際、ブートキャンプに参加すると、副業とかする余裕など一切ないです。私はブートキャンプが始まるまでは、学習と仕事を並行してやっていたのですが、頭のスイッチを切り替えるのが大変だなと思うことが度々ありました。ブートキャンプ自体は大変だったのですが、一方で学習だけに没頭できることの有り難さも感じました。日々ただプログラミングに没頭して、帰ったら寝るだけというような感じだったのですが、そのパターンに慣れると徐々にランナーズハイのようなモードに突入していきました。プログラミングで頭がヒートアップした状態で眠り、プログラミングの夢を見て、朝起きたときから取り組んでいた課題について考える、というような感じでした。こんなに没頭できる環境にいれて、ラッキーだったと思います。自分をプッシュできる先の内容とかぶりますが、一人で学習するよりもブートキャンプで学ぶ方が、より自分を追いこんで勉強しやすいかと思います。毎日の課題を提出しなければならないというプレッシャーがありますし、まわりに自分よりも優秀な人がいれば、大きな刺激になります。的確なアドバイスがもらえるプログラミングの勉強を自分で進めていると、自分のコードの書き方で大丈夫なのか、不安になることがたびたびありますが、他の人の意見を聞いたり、指導をしてもらえることで視野が広くなり、学びも深まります。自分のゲームやアプリケーションづくりに取り組んでいたときには、この「壁にぶつかる」状態を何度も体験しました。自分でドキュメンテーションなどにあたって、ブレークスルーできたこともありましたが、そうでないときはただその壁にぶつかったまま前に進めないこともありました。そんなとき、自分の問題を先生にシェアすると、すぐに問題の本質を理解して突破方法を示してもらえたことも。自主学習でもチューターを頼んだり、自分でさまざまな情報にあたって壁を突破することは可能なのですが、身近にアドバイスを仰げる人がいるとその過程がより効率的になります。ポートフォリオが作れるブートキャンプでは、モジュールごとに一つ自分のゲームやアプリケーションを開発します。これらは、就職活動の際に自分のポートフォリオとして使うことができます。ポートフォリオを作るにあたって、先生やTAのフィードバックを得られるので、より自信を持って公開できます。ちなみに、私がブートキャンプ中につくったゲームとアプリケーションは以下になります。Meetups面接担当者が実際に私のゲームで遊んでくれて、ゲームの仕組みについて質問されたこともありました。キャリアサポートが得られる多くのブートキャンプは、卒業生の就職率を高く保つことを目標に置いています。Ironhackは、卒業後3ヶ月以内の就職率が確か90パーセントほどです(場所や時期によっても異なりますので、ご注意を)。ブートキャンプ側も生徒のキャリアサポートには熱心です。CV(こちらの履歴書)の書き方、LinkedInでプロフィールを整える方法、就活の際に使うべきプラットフォーム、インタビューの練習など、多くのアドバイスをしてくれます。9週間のブートキャンプが終わったあとの1週間はキャリアウィークとして、採用パートナーのスタートアップや企業の担当者を招いて、10分ほどのショートインタビューを受ける機会を提供してくれます。実際、この採用パートナーに就職していった生徒も何人かいます。ブートキャンプが終わったあとも、継続して就職情報を卒業生用のSlackのチャンネルに流してくれたり、フォローアップ面談をしてくれました。苦楽を仲間と共有できるプログラミングを学ぶというのは、特に初学者にとっては大変なエネルギーを伴うものです。分からない、何が分からないのかが分からない、こんなこともできないなんて自分はバカじゃないのか・・・などなど、マイナスの感情を抱くこともあります。いった負の感情やストレスというのは、プログラミングを学び始めた人にとってはいたって「普通のこと」だというのが、ブートキャンプに入って分かりました。大きなストレスの中で頑張り続けているクラスメートも少なくなかったです。自分に大きなプレッシャーをかけるあまりに泣き出してしまう人、勉強しすぎて感情を失ったゾンビのような状態になっている人、バーンアウトしてしまう人など、、色々な状態の人を見てきました。私も自分が感情を失ったロボットのようになってしまったと感じた時期がありました。辛いとき、ブートキャンプではその辛さを共有できる仲間がいます。やり遂げた達成感もまた分かち合うことができます。これは、本当にすばらしい経験になると思います。期待していたほどではなかった部分これまで良いことを中心に書いていたのですが、期待していたほどではなかったなと思う部分についても触れておきます。それはキャリアサポートの部分で、私が参加したバッチのキャリアウィークは、祝日が入ったり、採用パートナー企業のスケジュールの都合が合わなかったことなども重なって、それほど多くの企業が参加しませんでした。私もキャリアウィークに受けたショートインタビューは3回ほどに留まりました。私が参加した回の前の回のブートキャンプでは、ある採用パートナー企業1社が3人もの生徒をかなり良い条件で採用したこともあって、なんとなくキャリアウィークへの私の期待が上がっていたというのもあったと思います。採用パートナー企業の顔ぶれ自体も、私の興味と合う会社が少なくて、ちょっと残念に思いました。どんな採用パートナー企業がキャリアウィークに来てくれるかは確約されていないので、ブートキャンプ側が示す採用パートナー企業のリストや卒業生の進路にキラキラした企業が並んでいたとしても、参考程度に留め、そこにあまり惑わされない方がよいかと思います。私自身も、最終的にはブートキャンプ側のつながりとはまったく異なるチャンネルから、今の職場にたどり着いたので。就職については、最終的には本人の能力、モチベーション、そして運に左右される部分が大きいので、ブートキャンプに期待しすぎない方が良いかと思います。良いブートキャンプの選び方について。見るべきは、就職率、採用している言語と技術かと。就職率は、様々な場所で運営しているブートキャンプの場合、地域ごとの就職率や就職先を運営側に確認するのが良いと思います。Ironhackはスペインで創業していることもあって、スペインでの就職が特に強いのではないかという印象を受けます。採用している言語や技術が市場のニーズを反映されているかどうかも重要です。Ironhackはつい昨年まではフロントエンドのフレームワークとしてAngularを教えていたらしいですが、今年に入ってからReactに切り替えたのだそうです。私は言語はJavascriptで、MERNスタック(MongoDB、Express、React、Node.js)を学んだのですが、これはばっちり現在の市場のニーズを反映しており、就職活動の際も自分の学んだことを求めている企業をたくさん見つけることができました。あとは、気になるブートキャンプがあれば、実際にその卒業生やスタッフ、先生に話を聞いてみるのがよいかと思います。多くのブートキャンプは、実際のブートキャンプの他に、誰でも参加できるミートアップやイベントを開催していますので、そういった場所に行けば、簡単に関係者に話を聞くことができるはずです。必要な英語力ブートキャンプに入る際に必要な英語力についても書いておきます。私が参加したブートキャンプは、教材から授業まですべて英語で行われました。ベルリンのITスタートアップは、社内言語が英語であることがほとんどなので、就職活動も英語ができれば大丈夫です。公用語が英語ではない場所でも、ブートキャンプの言語が英語である場合があります。必要な英語力を具体的に示すのは難しいのですが、実際に私のクラスメート40名弱のうち、英語ネイティブの人は数名に過ぎませんでしたが、それ以外の生徒も英語は流暢で、言語が勉強や就活のハンデになることはないというレベルでした。学ぶ、質問する、クラスメートと協業する、面接を受ける上で必要な言語レベルとなれば、かなり高いレベルが要求されると考えてよいかと思います。私もブートキャンプに入る前から、プログラミングの勉強はすべて英語で進めていました。まとめなど色々な点に触れましたが、コーディングブートキャンプに60万近いお金を出して入ったことについて、まったく後悔はなく、良い投資だったと思っています。一方で、授業料が安くないことは確かなので、予算的に厳しい場合にはブートキャンプに行かずに自主学習でプログラミングの勉強を進めてキャリアチェンジすることも現実的な選択肢だと思います。その場合には、無料の勉強会やミートアップに参加するなどして、勉強仲間を作ることをおすすめします。以上、参考になりましたら幸いです。