プログラミングスクールのメンターを辞めました

概要

半年近くとあるプログラミングスクールでメンターをしていましたが、諸事情で辞めました。これは決してネガティブな理由でやめたわけではないのはお断りしておきます。半年間メンターをしてみて、SNSでの悪評なども踏まえた上でプログラミングスクールに通うという選択についてどう思うのか個人の意見として書きます。内容は鵜呑みにはせず参考程度に考えてもらえると幸いです。ちなみにこの記事はスクールの比較記事ではありません。なのでおすすめのスクール紹介等は一切ありません。

結論

最初に結論を述べておきますが、プログラミングスクールに通うという選択自体は悪くないです。ただし、どのスクールを選択するのか、スクールの利用の仕方、自身の考え方によってはお金の無駄になる場合があると思っています。ただ個人的にはスクールに通う必要性というものは全くなく、好きな時間に質問できる環境や転職保証としての利用であればアリ程度です。

スクールに通うメリット

箇条書きで書き出しますと、以下の通りです。

  • 学習の手順が明確なので手を動かしやすい
  • お金を払っているのでどんな内容でも堂々と質問できる
  • お金を払っているため自分を追い込んで学習ができる(継続しやすい)
  • 学習の過程で一応ポートフォリオが作成できる
  • 通うスクールによっては転職まで保証されている

以上です。特に最後の転職保証の面は大きいと思います。とはいえ、必ず優良な企業に入れるという話ではないと思いますし、入社後の話(例えば試用期間で切られる等)は保証外なのではないかなと予想してますので、必ずしも安心というわけではないと思っています。もし入社後の試用期間終了まで保証範囲なのであればとても大きなメリットですね。逆にお金を出しているという縛りがないと継続できないのであれば向いてないのでエンジニア転職はお勧めしません。

スクールに通うデメリット

デメリットは以下の通りです。

  • お金がかかる
  • 界隈でエンジニアスクール卒の評判が悪い

以上です。評判が悪いので書類にスクール卒と書いているだけで切られるみたいな話もたまに耳にしますが、それはごく少数の企業だと思うのであまり気にしなくてもいいかなと思います。だいたいはポートフォリオをさらっと眺めてから切ります。

通うべきかどうか

メリットとデメリットを挙げさせてもらいましたが、個人的にどうすべきかという事を述べさせていただきますと、お金に余裕があるならば通っても良いです。ただし、通ったからといって必ず技術が身につくわけではないですし、必ず転職に成功してエンジニアになれるというわけではないと思ってください。個人的には独学できちんとしたポートフォリオを作成している人の方が転職には成功しやすいと思っています。理由は後述します。

スクールに通っても転職に成功しない理由

必ずしも成功しないわけではないですし、エンジニアスクールの中にはとても素晴らしいサービスを提供しているところもいくつかあります。受講生の中でも素晴らしいなと思える人も何人かはいました。ただしエンジニアとして転職に成功する、ひいてはエンジニアとしてキャリアを積み上げていく上で、エンジニアスクールに通うことは必ずしも良い選択ではないという話です。

スクールのサービス

前述の通りサービスの内容は悪くないです。カリキュラムも一通りマスターすればエンジニアとして仕事はある程度できるでしょう。ただ、僕の経験したスクールは一つしかないので全てのスクールのサービスについて断言はできません。あくまで僕がメンターとしてお手伝いしていたところのカリキュラムの内容としては悪くありませんでした。

メンターガチャと評価

お金を払ってサービスを享受するわけですが、必ずしも料金に見合ったものを受けられるわけではないと思っています。メンターと一括りに言ってもその教え方はメンターそれぞれで違ったりします。例えば...

  • 教え方

    • 答えをすぐに教えてくれる
    • 答えをすぐに教えてくれない、質問を質問で返される
  • 教えてくれた内容のソース

    • ソースはQiitaの記事
    • ソースは公式ドキュメントやGithubのREADMEやソースコード

と言った具合です。ちなみに受講生さんからの評価が高いのはそれぞれ前者のメンターです。

答えをすぐに教えてくれる

受講生さんからすれば、自身の抱えている課題を素早く解決してくれる良いメンターに映ると思います。メンターも素早く問題が解決できてさぞ気持ちの良い事でしょう。僕もそうしろと言われれば喜んで素早く解決します。win-winで誰もが幸せに見えます。ただし、ここで受講生さんには、なんのためにスクールに高いお金を払って通っているのか一度冷静に考え直していただきたいですね。ちなみに受講生さんからのフィードバックでは素早く解決してもらう事で手が止まらないので高評価です。課題の提出期限が迫っている場合も多いみたいですしね。

受講生さんのゴールは「カリキュラムの完遂」や「ポートフォリオの完成」ではなく、「カリキュラムの理解」であったり「ポートフォリオ作成を通しての知見の習得問題解決能力の向上」であるべきなのです。これを上記のようにわからない事をメンターに質問してすぐに答えをもらうようではこれらは何も身に付かないのです。

僕は性格が悪いので何がわからないのかをしつこく受講生さんに確認するようにしていました。例えば「エラーが出ていてそれを解決したい」という内容であれば...

  1. エラーメッセージがどこに表示されているのかがわかるか?
  2. エラーメッセージに書かれている英語は読めるか?
  3. エラーメッセージの言っている意味はだいたいはわかるか?
  4. エラーがどこで起こっているかわかるか?
  5. エラーの種類(原因)はなんとなくわかるか?
  6. エラーを解消するためにどういったアプローチが必要かなんとなくでもわかるか?
  7. エラーを解消するための具体的なコードの記述がわかるか?

だいたいこれくらいの粒度で確認します。

受講生さんからいただく質問の内容的には「エラーの解消」なので4か5くらいの理解度を想定して対応しますが、実際には1にも達していないそもそも「エラーメッセージを読んでいない」という場合がほとんどです。話になりません。

上記の1~7は解決までの大まかなプロセスでもあります。エラーメッセージを読んでエラー内容を理解しないことにはいつまで経っても解決は無理です。

このような状態で僕がすぐに解決のための修正コードを示し、解決したとして受講生さんは何か得るものがあるのでしょうか?きっとまた同じ質問を繰り返すことでしょう。それではなんの意味もないと思いませんか?

ちなみにこのような対応をし続けた結果、受講生さんからは「時間がかかりすぎる」「無意味な質問を繰り返される」といったフィードバックをいただいておりました。

ソースはQiitaの記事

これに関しては論外です。もちろん参考になる素晴らしい記事はたくさんありますが、それをソースに誰かにものを教える、しかもそれでお金をいただくというのはあってはならない事です。必ず一次情報をソースに物事を教えるべきですね。ちなみに受講生さんからのフィードバックでは、Qiitaの記事をソースに教える方が理解しやすかったりコピペで機能を実現できるので高評価です。

なぜQiitaの記事等をソースにするべきでないかは、簡潔に言うと信用できないからです。ライブラリの作成者が作っている公式のドキュメントや実際のソースコードをベースに教わる情報の方が明らかに信用できるというのは明白な事だと思います。それとQiitaの記事は内容が間違えているものが多々あります。理由は簡単で受講生さんと同じような初心者が「使ってみた」という内容のものが多いからですね。僕の今まで書いてきた記事もまさにそれです。初心者の「使ってみた」という記事を100%信用できますか?

僕は公式のドキュメントや実際のメソッドが定義されているソースコードを共有しながら、どういう使い方をするのか、レシーバのオブジェクトはなんであるのか、引数はどこに何が来るのか、中身の処理はどうなっているのか、といった話をしておりました。これに対するフィードバックはまぁまぁ好評でしたが、散々説明した挙句「とりあえずQiitaの記事を参考にやってみます」という方がほとんどだったので意図した結果にならず少し悔しい思いをしました。

メンターの見極め方(?)ですが、質問に答えてくれた後に「学習のために参考資料をください」とメンターに聞いてみてください。記事があれば流れは掴みやすいので、何かしらの記事を教えてくれるメンターが多数だとは思いますが、それと一緒に公式のドキュメントを教えてくれるメンターは当たりだと思っていいと思います。本当はそれが当然だと思うんですけどね...。

といった具合でメンターガチャというのはあります。これらはあくまで僕個人が思うメンターのあるべき姿とそうでない姿であり、僕のこの考えが自体が間違えている場合は僕自身が反面教師であったという話でもありますが...。

受講生さんの学習態度

一番の問題はやはりここです。お金を払っているのは受講生さんなので是非ともそれに見合った結果を手に入れて欲しいと思っているのですが、受講生さん自身が目的を持って学習しているのか疑問に思う瞬間が多々ありましたので意見を述べたいと思います。

受講の目的

受講生の皆さんはなんのためにプログラミングスクールに通っているのでしょうか?それは転職のためですよね?なぜプログラマーになりたいのでしょうか?お給料がいいから?何か作りたいサービスがある?なんとなく?

この辺りの動機がきちんと定まっていない方はプログラミングスクールの受講はお勧めしませんし、ひいてはエンジニア転職自体をお勧めしません。エンジニアはキラキラして見えるのかもしれませんが、プライベートを犠牲にしてでも進化し続ける技術について勉強し続ける必要がありますし、この勉強を「プライベートを犠牲にしている」と思ってやっているようでは続きません。そういう業界です。

受講生さんの多くは入学当初はエンジニア転職という崇高な目標を掲げて頑張っていますが、途中から課題を課せられ始めてからは課題の完了やスクールの卒業が目標になっています。質問自体も課題の提出日が近いからエラーを解決して欲しい、機能の実装方法を教えて欲しい、といった内容が増えてきます。僕たちは構いません、お金をもらっているので機能の実装方法でもなんでも教えてあげます。でもお金を払っている受講生さんはそれでいいのでしょうか?

ポートフォリオは完成すれば転職に有利なものというわけではありません。完成はなんならしてなくても良いのです。大事なのはRailsアプリならRailsの基本を押さえている事、自分の実装している内容を説明できる事、その上でアプリケーションの独自性をアピールできる事、ポートフォリオ作成を通しての工夫点など経験を話せる事です。人に実装してもらった機能を面接の場で説明できますか?ちなみにポートフォリオで自分で実装したはずの機能を説明できない時点で採用は基本的にないと思ってもらって良いと思います。

これから受講を考えている方、もしくは現在受講しているという方は今一度、転職の動機を含めたこの辺りを考え直してみてはいかがでしょうか?

メンターの話は絶対ではないし正解でもない

あんまりこういうことは言いたくないのですが、間違った知識、アンチパターンな実装を平然と教えるメンターは存在します。それは大学生のアルバイトであったり、現役エンジニア(笑)みたいな方もいますが、きちんと仕事のできる方でも間違えることがあったり、苦手な分野を一生懸命調べながら教えた結果間違えているというケースもあります。なので受講生の方は教えられた内容を鵜呑みにせず、きちんと後から自分で検証、裏取りをすることを徹底して欲しいです。何もこれはメンターが信用できないという話ではなく、技術が進化している過程で人の知識は劣化しています。当時は正しい知識であっても現在はアンチパターンであったり非推奨なケースは多く存在します。これは技術記事にも言える話であり、Qiitaなんかも1年過ぎていると記事の頭に注意書きが出ていたりすると思います。このように調べて得た知識が本当に正しいのか、Bestなのかどうか検証する必要があるのは仕事としてプログラムを書き始めてからも同じですので、早いうちからそういう癖をつけて欲しいと思っています。

現在の市場の話

エンジニアは現在人手不足です。Railsエンジニアも例外ではありません。では、未経験エンジニアは転職しやすい環境なのでしょうか?

答えは「否」です。理由は簡単で、未経験のエンジニアは入社後に育成のコストがかかります。その育成には社内のエンジニアのリソースを使います。わかりますか?未経験のエンジニアを採用すると、期間限定ではありますが、さらに人手不足になるということです。この育成にかかる期間が見通せない人材ほど、未経験としての採用は絶望的だと思ってください。

さらに現在は追い討ちをかけるようにコロナ禍です。コロナが流行っている中、多くの企業はリモートワークを採用しています。このリモートワーク中は未経験の育成がとても難しいです。近くで作業してれば細かく気を利かせて教育もできようもんですが、リモートだと相手から何かしらアピールされないと気づけなかったり、そもそも離席してて気づけなかったり、教わる側も相手の状況が分からないので質問しづらかったりと最悪の環境と言ってもいいです。 まぁ僕は育成係をしたことがないので今話したことは全部予想ですが。なので未経験の採用にはどの企業も消極的なのではないでしょうか。

ちなみにこれらは人材自体を商品としている会社には当てはまりません。そちらではやる気と体力次第で大歓迎されると思います。何がなんでもエンジニアになりたいという方は、待遇面や環境には一旦目を瞑って、まずはそういった会社に入って経験を積むという選択も悪くないと思います。

「独学できちんとしたポートフォリオを作成している人の方が転職には成功しやすい」について

最初の方で述べた話について触れておきますが、個人的にはそう思っています。これはエンジニア転職をするに当たって必要な「問題解決能力」に関わってきます。独学であれば勉強の方法やプログラムの書き方、問題にぶつかる度にその解決方法、全て自分で探して解決しなければなりません。このような過程を経てポートフォリオ完成までたどり着ける方は必然的に問題解決能力が高いです。一方スクール卒の方はわからないところを全てメンター任せにしている場合この問題解決能力は皆無です。企業の目線で考えるとどちらを採用したいと思うかは一目瞭然だと思います。

ぶっちゃけプログラミングの知識は後からの研修でどうとでもなるので、問題解決能力や自走力、あとはやる気と興味が未経験には求められます。これらがスクール卒の方には不足している傾向がある、環境がそうさせていると思っているため「独学できちんとしたポートフォリオを作成している人の方が転職には成功しやすい」と思っています。

まとめ

スクールの話からそれた内容もありましたが、だいたいここで述べた通りです。スクールはお金があれば通うメリットはそれなりに多くありますが、その恵まれすぎる環境が故に自分をダメにしてしまう可能性があります。スクールに通うのであればなんのために通うのか、そこでどんな対応を望むのか、これらを自分のエンジニア転職の動機と合わせてしっかり考え、きちんと定めた上で適切に利用してください。改めて言いますが、スクールを卒業してもエンジニアになれるとは限りませんし、ただスクールを卒業しただけの人材は誰も必要としていません。

あとは別にスクールを利用しなくても、色々教わることのできる環境は多数存在します。それは無料のプログラミング学習サービスであったり、地域の技術系コミュニティーであったりします。Rubyの地域コミュニティーも都会から地方までたくさん存在しますので、お金を払ってメンターに教わるよりも、地元のコミュニティーに参加して色々質問して教わる方がお金もかからないですし質も良かったり赤裸々に色々な事情を知れたり、なんならそこの参加者経由で採用の話まで漕ぎ着けるかもしれません。おすすめです。なのでちょっときつい言い方になるかもしれませんが、スクールに通わないとまともに勉強できないと思ってしまう時点で自分に必要な情報を調べる能力が足りてませんのであまりプログラマーに向いてないかもしれません。

rhiroe
一応Rubyist。 Twitter: @buta_botti
ユーザー登録して、Qiitaをもっと便利に使ってみませんか。
  1. あなたにマッチした記事をお届けします
    ユーザーやタグをフォローすることで、あなたが興味を持つ技術分野の情報をまとめてキャッチアップできます
  2. 便利な情報をあとで効率的に読み返せます
    気に入った記事を「ストック」することで、あとからすぐに検索できます
コメント

頸椎が折れそうなほど頷きながら拝読しました。
そのうえで考えたことを書きます。

メンターが答えをすぐに教えるべきかというところで,解決方法をすぐに提示しちゃう,という態度と

  1. エラーメッセージがどこに表示されているのかがわかるか?
  2. エラーメッセージに書かれている英語は読めるか?
  3. エラーメッセージの言っている意味はだいたいはわかるか?
  4. エラーがどこで起こっているかわかるか?
  5. エラーの種類(原因)はなんとなくわかるか?
  6. エラーを解消するためにどういったアプローチが必要かなんとなくでもわかるか?
  7. エラーを解消するための具体的なコードの記述がわかるか?

のように順に確認していくやり方との間に,いろいろな中間の段階があるんではないかな,と思いました。

スクールはやはり問題解決能力を身に付けさせることを重視すべきなので,解決方法をパッと提示しちゃうのは良くないと思いますね。
一方,うまくいかなくて困って質問しているのに,逆質問ばかりされて,いつになったら教えてくれるのか分からない,というのもなかなかストレスフルかもしれません。

実際には1にも達していないそもそも「エラーメッセージを読んでいない」という場合がほとんどです。話になりません。

というのは,本当にそのとおりだと思うものの,そもそも「エラーメッセージを読んで解決した」という成功体験をしていなければ自然なことかもしれない,とも思います(私自身がそういうヘタレでした)。

ここは相手によって持っていき方を変え(一種の待機説法),1 すらおぼつかないと見れば「エラーメッセージを読み解くのが早道」と諭したうえで読み解き方も教えちゃう。このとき,9 割を教えて残りの 1 割をクイズ形式にして答えてもらってもいいかもしれません。ジグソーパズルの最後の 5 ピースを自分ではめさせることで少しは能動的態度を引き出せるかも。
てな感じで,どこまで提示するかはいろいろなレベルがあるかもと思いました。

次に

ソースはQiitaの記事
これに関しては論外です。

について。
Qiita の記事には,(私が書いたものも含め)間違いが山のようにあるわけですが,メンターが受講生に教えるわけですから,内容が正しいものを選べばいいのではないでしょうか。
いや,誤った内容の記事を平気で受講生に伝えるメンターが現実にいるから上のようにお書きになっているのだろうと思いますが,それは吟味を怠ったことが悪いのであって,Qiita の記事を出してくるのが一律に「論外」とまでは言えないのではないかなーと思いました。

散々説明した挙句「とりあえずQiitaの記事を参考にやってみます」という方がほとんどだったので意図した結果にならず少し悔しい思いをしました。

コレ,マジでがっくりきますよね。
やっぱりみんな,概念や仕組みを理解することよりも手順をなぞるほうを選んでしまうのだなあ,と思います。
分数同士の加減乗除で,意味も分からずに計算法を覚えようとするのに似ています1

間違った知識、アンチパターンな実装を平然と教えるメンターは存在します。

これに関連して,ここ数年気になっているのが,スクールが公開している技術記事に初歩的な誤りが散見されることです。
誤りを書かないことは難しく,私も他人の批判をする資格はないのですが,ビジネスの手段として(マーケティング目的で)やっているのに,これはウーム,と唸ってしまいます。

スクールには一切関わったことがないので判らないのですが,スクールには同じ技術分野を得意とする講師やメンターが複数いらっしゃるんでしょう? ピアレビューすればすぐに誤りに気づけるんじゃないんでしょうか。

スクールで教えている内容の信頼性は全く知りませんが,公開記事の質を鑑みると「このガッコ大丈夫かいな?」と思ってしまいます。
そういう記事を見た方が,その誤った内容を Qiita に書かれます。同じ間違いが何度も何度も書かれます2
気づいたらコメントで指摘しているのですが,スクールはビジネスで誤りを広め,こちらはボランティアで火を消して回る,ということに,ふと割り切れなさを感じることも無いではありません。元を断つことはできないものでしょうかね。

蛇足

岡山は都会のつらさと田舎の不便さがどちらも少ない住みやすい街ですよね(知らんけど)。
Ruby の聖地まで電車でも車でも 3 時間かかりませんし(いや意外に遠いな,地図で見るとチョイ斜め上なんだが)。


  1. 計算法に馴れたあとで改めて原理に立ち返って理解するという学習方法もアリなので一概に悪いとは言えないと思うけれど。 

  2. ここで批判しているのはスクールです。Qiita の記事を書く初心者さんではありません。「初心者は記事を書いてはいけないのか?」などと思わず,初心者さんにも記事の投稿に挑戦してもらいたい。そもそも Qiita の記事は信頼性を疑って読むべきもの。 

教え方に関してはおっしゃる通りいろいろな手法や段階があります。僕の教え方をとっても色々と穴はあるでしょう。

そもそも「エラーメッセージを読んで解決した」という成功体験をしていなければ自然なことかもしれない

これもまさにその通りです。僕含めこれができて当然と思っているとそこまで考えが及ばなかったりします。僕もまだまだ思慮が足りてなかったということですね...。

僕のお手伝いしていたところは、基本的に実装手段(言語やライブラリの選択やバージョン)等はカリキュラムに沿った内容でとの決まりがあったのですが、教え方については各メンターにお任せという状態でしたので、教え方についてもある程度の指標が必要だったのではないかなと思っています。(こちらは退職時の面談でお話ししましたので良い方向に改善されることを期待しています。)


内容が正しいものを選べばいいのではないでしょうか。

これもその通りだと思います。ただ、メンターの仕事の性質上、実は質問に回答するのにかけられる時間にある程度制限があります。僕の場合はだいたい20分でした。僕のやり方だと当然時間内には収まらないのでいつも少しオーバーしていたのですが、その上検索で出てくる記事の中身を吟味するという時間はありませんでした。もちろん過去に見たことのある吟味済みの記事であればそれを参考に教えることもできるのですが...。となると取れる手段は大まかに「検索で出てきた記事を参考に内容を吟味せず素早く回答する」か「記事はハナから見ない、使っているライブラリのドキュメントやソースコードをベースにメンターが必要なコードを脳内で構築して説明する」くらいになってしまいます。実はこのような背景があっての「記事ベースの説明は論外」ということでした。背景を端折っていたため誤解を生んでしまった表現になってしまったことをお詫びします。


スクールには同じ技術分野を得意とする講師やメンターが複数いらっしゃるんでしょう? ピアレビューすればすぐに誤りに気づけるんじゃないんでしょうか。

これはスクールによります。僕がいたところでは個別にZoomで対応するので、他の方がどんな指導をしたかまでは把握できません。 またピアレビューを行う場も設けられていません。受講生さんが酷いコードを書いていた際にどういう経緯でこうなったのか聞くと他のメンターさんの名前が出てくるということがあって初めて認識する程度です。

この現状に対して運営側に意見をすることはできますが、メンターに直接物申すことはできません。厳密には勝手に意見することはできますが、基本無視されて他のメンターからも疎まれ居場所を失います。以前「jsがうまく動かない時はとりあえずturbolinksを無効化しなさい」と教えている場に遭遇した際に、理由も説明せず無効化するのはおかしい、必要だからturbolinksが元々備わっている、無効化しなくとも解決する手段はあるといった話をしたのですが、その時には「ではあとはお任せしてもいいですか」と一言告げられ退出された経験もあります。

さらにカリキュラムは日に日に更新されていきますがメンターのキャッチアップが間に合っていない現実もあります。メンター同士でやりとりをする部屋で平然と「カリキュラムのキャッチアップがまだなので」という文章を見かけることがあります。

上記のようなメンターはごく少数ではありますが、プログラミングスクールの需要が増えている昨今、メンターが不足していますので、数合わせで投入されたかのような方が多くこの状態に当てはまっています。僕も含め経験も技術も未熟でも比較的簡単に採用してもらえるのでどうしても質は悪くなってしまうのでしょう...。

メンター同士の交流会もありますが、あまり技術の話は出ません。むしろ避けられる傾向にあります。なので僕は最初以外参加していませんが、そういった背景も力不足なメンターが野放しになっている原因かもしれません。個人が人を変えていくのは難しいので運営側になんとかしてもらいたいものですが、それも難しそうなのが現実です...。


元を断つことはできないものでしょうかね

スクールが利益を得るまでの構造上、メンターの質はあまり関係がないので難しいと思います。指導内容が誤っていたりアンチパターンであったりしても受講生さんは気づきませんし、中身はどうあれ動くポートフォリオが出来上がってしまえば、内容の理解度にかかわらずエンジニアになれると思っているので問題にもなりにくいです。受講生さんにとって評判のいいメンターが必ずしもエンジニア転職をするにあたって有益なメンターではないというところが悲しいところですね。

スクール卒の人材の評判が下がることでスクール側も被害を被ることになるので、その点メンターの教育に力を入れなければならなくなってくるのではないだろうかと考えていた時期もありましたが、そもそもスクールに通うという選択をしてしまう生徒さんはそのような評判を目にすることがないことに気付いてしまって以来諦めてしまっています。受講の決め手はだいたいアフィリエイトブログに書かれていた内容が良さそうだったからです。これが年々増加傾向にあるというのが恐ろしいところです。


岡山は車の運転を除けばいいところなのでもっと賑わって欲しい...。
Rubyコミュニティーの運営も頑張っているものの参加者が少ないので寂しいところです...。

(編集済み)

@rhiroe さん
おお,なるほど,メンターさんのお仕事の様子を全く知らずに書いていましたが,少し誤解していたことが分かりました。
上のコメントでかなり腑に落ちました(とくに Qiita などの記事で回答するのがダメという理由は納得です)。

ところで,「ピアレビューで誤りに気づけるんじゃない?」と書いたのは,公開記事についてでした。
ただ,「他のメンターが間違ったことを教えているということに気づいたということはメンターの仕事ぶりについて互いに知る機会があるのだろう。そうしたら,公開記事と同じことがメンターの仕事についてもいえるのではないかな」という気持ちはありました。
でも,そうじゃないんですね。他のメンターの誤りに気づいたのは受講生を通して間接的にってことだったんですね。

岡山 Ruby コミュニティーって,桃のマークなんですね。かわいい。
https://okaruby.connpass.com/

@rhiroeさん
初めまして、とある大手のスクールに通っていて最近卒業したての者です。

「jsがうまく動かない時はとりあえずturbolinksを無効化しなさい」

私のスクールでもまさに同じことを言われました。
当時、なんで動かないのか理由について聞いた際に”カリキュラム通りやれば間違いない”と言われ、色々腑に落ちないまま作業してた当時のことを思い出しました笑

ちなみに記事の蛇足にありました”現在Railsエンジニアを絶賛募集中”っていうのは未経験も募集してたりしますか?

(編集済み)

@everyday_sunday さん

未経験も募集してたりしますか?

会社としては即戦力の中途採用枠で募集しているようですが、未経験でも応募できます。
これまでも何人か未経験での応募はあり、採用の検討はしていたので狭き門かもしれないですがチャンスはあると思います。

現役開発職の者です。プログラミングスクール、
目を向けたことがなかったなあという気持ちで感想文にしました。
https://qiita.com/e99h2121/items/623e3f791ee361e5bf90

お仕事お疲れさまです。

社内教育ならペアプログラミングとかで対応もできるのですが、一般のスクールだとその辺は難しいのでしょうね。
例えば何らかのエラーが出ている時にもペアでやっていれば二人の目でメッセージやコードを読んで原因の切り分けをしたり、見慣れないメッセージなら手分けして調べたりが出来たりします。
これらの作業は経験量がそこまで影響しないので場合によっては「あの人より先に答えに辿り着けた」という密かな喜びも得られたり。(出し抜かれる方にとっては悲喜こもごも)

(編集済み)

プログラミングスクール経験者が入ったチームで仕事をしたときのことを思い出しました。
結局彼はあまりにも実力不足で、担当として割り振られたシステム中のごく単純な1機能すら満足に実装できず、諦めて退職していきました。

プログラミングスクールで学べるのはごく限られた言語、フレームワーク、アーキテクチャのものに過ぎず、実際の開発現場で実施されるマルチ言語、複雑な仕様、アーキテクチャにはまるで対処できません。

では何が必要なのかというと、まずプログラムを書く以前に大量のソースコードを読んで理解する能力が必要です。

具体的に言えば

  • C/C++ならLinuxカーネル、chromium、firefox
  • PHPならMediaWikiなど
  • RailsならRedmineなど
  • JavaScriptならちょっと古いけどjQuery

巨大なソースツリーをざっと読みながら自分でビルドしてそのプログラムを動かしてみることです。できれば少し改造してみて挙動の変化を調べて理解するところまで行けばベストですね。

僕もとあるプログラミングスクールでメンターしてるので、わかりみが深いですね。
高額プログラミングスクールに通う生徒さんは「お客様」感覚で来てる人が一定数いる印象があって、それ故に「考え方」よりも「答え」を知りたがる人が多い傾向にあるんでしょうね。そういう人が「無意味な質問を繰り返される」みたいなフィードバックするのかなーと思ったりしました。

今の時代、プログラミングスキルだけでは良いエンジニアにはなれません。
英語などの語学力、機械学習に必要な確率統計学、仮想通貨なと金融、経済学、これらの知識、センス、好奇心が無ければこの業界の進化のスピードにはついていけないでしょう。

受講生のことをいちばんに考えているメンターが、受講者に理解されず低評価・・・泣ける。最初に「私はこういう方針で教えます」と説明が必要したほうがよかったのかもしれません(すでにしていたらすいません)。

スクールに通わないとまともに勉強できないと思ってしまう時点で自分に必要な情報を調べる能力が足りてませんのであまりプログラマーに向いてないかもしれません。

言っちゃった!今の学校教育では教えてもらわないと何もできない人が量産されているから仕方ないのでしょう。

エラーメッセージの読み方については、拙作で申し訳ありませんが『Rubyのエラーメッセージが読み解けるようになる本』が参考になるはずです。リンクは貼らないのでぐぐってください。

記事は大変おもしろかったです。おもしろいといってはいけない内容かもしれないですけど。心がキリキリしました。

問題解決能力や自走力、あとはやる気と興味が未経験には求められます。これらがスクール卒の方には不足している傾向がある、環境がそうさせていると思っているため「独学できちんとしたポートフォリオを作成している人の方が転職には成功しやすい」と思っています。

同感です。
プログラマーという職業が技術職であるということを理解してほしいなと思います。

何でもそうなんだけど、質問するときは、「回答者が簡単に答えられないくらい、質問を練り上げないとダメ」なんだよなぁ。

ベストは、
選択肢が極限まで狭められていて、YES、NOで答えられるはずなんだけど、しかしながら簡単には答えられないレベル。

たいていは質問を練り上げる過程で聞く前に解決する。

何かしらの問題に出会ったとき、それを探究し、最も確からしい解を見つけようとする過程が現代的な意味のエンジニアリングかなと思う。

探究過程で身に付けたモノは、一見無駄と思えるが、最終的に得られた解そのものよりも役立つことが多い。解は与えられた問題のためだけのモノだから、逆にその問題にしか役にたたない。

カンニングをすれば、試験の点数は取れる。しかし、本当の実力にはなってない、、、というのと似ている。

探究過程を評価できたらいいんだけど、そういうわけにもいかず、教える方も結果を評価するしかない課題設定をする(数学と違って、過程の評価をすること自体が非常に難しい)。
だから教えを受けるほうも、結果を早くgetできる方向に進んでしまう。

その一方で、「何かしらの問題に出会ったとき、それを探究し、最も確からしい解を見つけようとする心」が実際の現場では一番大事。そういう精神的な面って育てにくい。大人になってからは特に。

スクールに通う方は、少し指導したくらいで公式のドキュメントなどの一次資料を理解できるものなのでしょうか?ハードルが高い感じを受けました。

@rdonster さん

メンターの仕事として「教える」というのは、ドキュメントをはいどうぞと渡して終わりではないので、受講生一人で一次資料を理解しろと言っているわけではありません。そこはあくまでメンターがわかりやすく説明してあげる必要があると思っています。ただその説明のベースは公式ドキュメントであるべきだよねということを記事内では述べています。

つまり、一時資料を理解するべきなのは受講生側ではなくメンター側なので、いきなり受講生さんに一時資料を理解しろということは求めていません。もちろん受講生さんにドキュメントを見せたら自分で理解してくれるというのが理想ではありますが...。

とても興味深く読ませていただきました。
氷河期世代で、職業訓練やポリテクにお世話になりながら職を転々とし、現在やっとコピペプログラマですが、正社員として働けている私には身につまされる内容でした。PHPのエラーが出た時のデバッグの仕方が知らなくて、かなり怒られた事とか。年齢がいっているので、恥をかいたことも多々あります。

プログラミングをまったく知らない0の状態から1に持って行くには、プログラミングスクールなどの環境が必要ですけど、1を10や100に持って行くには本人の不断の努力が必要になってしまうと改めて思いました。

(編集済み)

70万払って英会話スクールに1日だけしか通って行かなかったなぁ:joy:
「スクール」って時点でモチベーション維持が無理なんだと思った。

強制力があり、対価が得られ、達成感がある。学習にはこれが必要

「問題解決能力」とはわからないことがわからない状態を何とかする能力のことでしょうか。
それともわからないことがわからない状態をなるべく回避する能力のことでしょうか。

私も独学で学ぶとわからないことがわからない状態によく陥り、人に質問するにしても検索するにしても適切な言葉も出てこず闇雲に調べては天啓のように理解や言葉が宇宙から降りてくるか、言葉にならない疑問の答えに運よく当たるまで粘ることが私の場合では多々あり心が折れました。

独学で成功し何とかなった人は先天的なのか過去の教育の影響なのかわかりませんが疑問を類推して言語化する天性のセンスに恵まれていたとしか思えず、元々の個々個人の適性で結果は決まっている為スクールによる環境の違いは関係ないと思います。

問題解決能力というのは原因と結果の想像力であると考えます

ある現象に対して考えうる原因を想像できること
ある行動に対して起こりうる結果を想像できること

物事を目的と手段という見方ばかりしていると
原因と結果という見方が抜け落ちてしまうことがあります

何かについて知るときに
それはどういう目的で使うものかというだけではなく
どういう現象の原因になりうるものであるかを
伴って知ることを普段から心がけることで
この想像力は養われるものと思います

@mun2taro さん

「問題解決能力」とはわからないことがわからない状態を何とかする能力のことでしょうか。
それともわからないことがわからない状態をなるべく回避する能力のことでしょうか。

「問題解決能力」とは「問題」を認知し、その対応を考え対処する力を指しています。
わかるわからないの話で例えると「わからないこと」を認識し、それを「わかる」ために行動し、解決する力といったところでしょうか。

独学で成功し何とかなった人は...

現在のスクールのメンターの対応はカスタマーセンターかのような問題を解決して"あげる"対応が多いです。これでは上で述べたような 「わからないこと」を認識し、それを「わかる」ために行動する 力は身につきません。独学であればここは嫌でも実践しなければならないのでその力が身につくと考えています。これは環境の違いとは思いませんでしょうか?

これはスクールを利用する受講生がきちんと自分で考えるための質問をすることやメンターがきちんとこの力を伸ばしてあげられるような対応をすることで解決しますし、それが理想です。ですが現状はそのようになっておりません。

個人が独学で成功するかどうかはここでは関知していません。あくまでそれを乗り越えることができれば転職競争で有利だと思うと述べたまでです。プログラマーは技術職なので才能や努力で結果に差が出てくるのは至極当然のように思います。

@rhiroe さん
環境の違いすなわちふるいにかけられるかどうかと言い換えてみれば実態と合うのでまったくその通りですね。
技術職なので自分も才能などの適性がほぼ全てと思っていました。

「カスタマーセンターかのような問題を解決して"あげる"対応が多いです」
自分もメンターさんに教えてもらう機会がありましたが、本当にこの通りの対応ばかりです。

私が習っていたとこはある意味もっとひどく意図的に専門用語とその意味の解説を避けてひたすらコードを書いて覚えさせる「自分で考えさせない」教え方に徹していました。
さすがに自分もこれはおかしいと思い講師に聞いてみると「専門用語を出すだけで受講生が嫌がるから」「自分で考えることが出来ない人が多く結局やめてしまうから」と答えられました。
これを聞いてスクールやメンターが全部悪いとは思えなくなったのも事実です。

こんな極端なスクールやメンターは少ないと思いますが、どこも似たような構造だと思います。
環境がそうさしているものその通りだと思います。

ただ個人的な体験ですが、こういう環境でも自分で考えて結果を出せる人がいたのも事実なので、結局適正やセンスが全てなのではないかと私は思い込んでいたと思います。

指摘通り個人が出来るか出来ないかはっきり言っている趣旨ではないことを読み違えておりました。

@mun2taro さん

私が習っていたとこはある意味もっとひどく意図的に専門用語とその意味の解説を避けてひたすらコードを書いて覚えさせる「自分で考えさせない」教え方に徹していました。
さすがに自分もこれはおかしいと思い講師に聞いてみると「専門用語を出すだけで受講生が嫌がるから」「自分で考えることが出来ない人が多く結局やめてしまうから」と答えられました。

いやー,それとソックリな話をプログラミング以外のスクールでも聞きますよ。
よくあることなのでしょうね。
「学校が悪い」「生徒が悪い」と一概に言えないと思います。
こういう話が出るとすぐに「そんなヤツどうせ向いてないんだから辞めちまえばいい」という人がいますが,私はそうは思いたくない(偽善者なので:smile:)。中間がいくらでもいますしね1
なんとか,専門用語や原理なんかも持ち出しつつ逃げられないようなやり方が無いものかと考えちゃいます2


  1. それに,これまでの人生でいくつかの仕事をしてきたけど,向いているかと言えばどれも向いてはいなかった気がするしな。 

  2. もちろん,そう簡単にできるものなら誰も苦労はしないわな。 

あなたもコメントしてみませんか :)
すでにアカウントを持っている方は
ユーザーは見つかりませんでした