こんなこと書いたら「クッソスクールワロタwww」と言われるかもしれないが、僕らはプログラミングとプログラミングをする人が好きなのであって教えること自体が好きなわけじゃない。
もちろんプログラミングをする人とプログラミングを通じたコミュニケーションである「教えること」も嫌いじゃないが一番やりたいのはプログラミングなのだ。
野球が好きで「おーい、磯野、野球やろうぜ」と誘うのだが野球のルールもバットの振り方も知らないというのではメンツにならない。だから教えるという感じ。
教育関係の人がキッチリやっているところの方が教え方は上手いかもしれない。
そういうところに僕らが勝っているところがあるとすれば、隣でめちゃくちゃ楽しそうに野球をやるという点だけだ。
僕らのカリキュラムの終盤に「僕らと一緒にRailsアプリでスクラム(20ポイント分)を回す」というのがある。
みんなで使っているEラーニングアプリ自体をみんなで開発する。もちろん僕も必死こいてIssueをこなす。
これは草野球でいったら試合であって非常に楽しい。早くみんなもルール覚えて試合できるようになって欲しいしサッサと一緒にやりたい。「おーい、磯野、野球やろうぜ」である。
「スクールでプログラミングを教えている」というときの気恥ずかしさ、傲慢ではないかという気持ち、プログラミングをビジネスとして教える罪悪感。役に立つからやるのか、就職に有利だからやるのかなどの気持ちについてわかりやすく文章にしようとすると違和感がある。
分かりづらくかつ正確に書こうとしたら上記のようなものになった。
奥さんがRubyRubyShopで買い物したといってこういうカードを見せてきた。

「さすが、伊達に広島・仙台と経費でRubyKaigiについてきてないな?」
と思ったんですがただの韓国のコスメショップだった。
ブートキャンプのアプリをDEPRECATEDなpaperclipからactive_storageに移行した。
GCSのcredential関係ってPrivate keyがそのまま入ってて改行のせいでうまく行かなかったりとかいつもハマる。エラーメッセージの内容も原因解明にあまり役に立たなくて結局ガッツリデバッグすることになって時間がかかる。
ActiveStorage + GCS + Herokuでの自分的ポイントはGCSからダウンロードできるJSONをそのまま環境変数に入れること。
storage.ymlはこんな風にするのがよい。
config/storage.yml:
google:
service: GCS
project: "bootcamp-224405"
credentials: <%= ENV["GOOGLE_CREDENTIALS"] %>
bucket: "bootcamp-fjord-jp"
こういう感じで入れておく。
$ heroku config:set GOOGLE_CREDENTIALS="$(< /path/to/bootcamp.json)"
実際にちゃんとconfigの各値が読めてるかどうかはActiveStorage::Service#configあたりをデバッグすればよい。
フィヨルドブートキャンプでも草が生えるようにしました。
最初は色も全く同じだったんですが、実装したことに満足して冷静になってみると、
「Githubと同じ色だと紛らわしいな」
とか
「Gtihubと違って一年も勉強してたらやばいから3ヶ月表示ぐらいがいいな」
などあり、もうちょっと変更していきたいと思います。
おはようございます。最近流行りのロタウィルスとやらにやられて体調とテンションがダダ下がりのkomagataです。
12月18日(火)に行われたBootstrap Night! vol.4でプログラミングスクールの作り方という題名でお話させてもらいました。
プログラミングスクールの作り方 - Speaker Deck
Bootstrap Night!は自己資金(出資無し)の少人数でSaaSをやってる会社の話を聞くイベントです。
第2回にも聞きに行ったことがあり、価値観が近い会社の方々の話が聞けてとても励みになるイベントです。
でもこういうのって成功している(自社サービスで食べて行けてる)人が話すべきで、まだ受託開発で糊口を凌いでいる僕なんかが話すのはおこがましいんですが、せっかくブートキャンプのお話をさせて頂ける機会なので行ってきました。
特にPaulさんのDookeeperの話は僕らのようなサービスを作るのは得意だけどマネタイズが不得意な人間にとっては涙無しには聞けない内容でしたね。
明日18日にブートストラップ企業(自己資金でやってる会社)の話を聞くBootstrap Night! vol.4にてフィヨルドブートキャンプのお話をさせていただくことになりました。
Bootstrap Night! vol.4 - connpass
若干名の空きがあるようなのでぜひ!
他にもrubyistにはおなじみのDoorkeeperのPaulさんがDoorkeeperのビジネス面の話をしてくださるようで僕も興味津々です。
最近考えてること。
業務経験アリの壁
スクールでコードを書けるようになっても業務経験アリ・ナシの壁がある。もう全然書けるようになってるしプロジェクトに入ったら役に立つよーって状態なのに業務経験ナシってだけで入れない場合が多くてもったいない。
企業からみたら業務経験ナシの人がどれだけ書けるか判断するのが難しいので怖いのはとっても理解できます。
一緒に仕事やれるプログラマーかどうかの判断
では何をやったら一緒に働けるプログラマーだと判断が付くのか。
@dandaso にも聞いたし、自分としても納得なのが、
「自社のプロダクトを2イテレーションぐらい一緒にやればわかる」
ってこと。
一緒に働けば、プログラミング力だけでなく、コミュニケーションや仕事のレポーティングの頻度・質などについても誤魔化しようがない。それは現場の人の実感としてあると思う。
でも自社のプロダクトを採用のために使えないし、その環境を整えたりレビューする手間はなかなかかけられない。
プログラミング面接代行サービス
そこで、2イテレーションやってみる部分を肩代わりしてくれるサービスはどうかと思った。
フィヨルドブートキャンプではそのEラーニングシステム自体を簡易スクラムで作っていて、僕も生徒も混ざってイテレーションを回している。開発に入るためのドキュメントも(生徒用に)そろっているし、オープンソースなので議事録もPRのやり取りも全部見れる。
一次面接的なものを通った人がこれにリモートから参加して2イテレーションやる。そしてその人のPRや、コメントのやり取りを含めた評価レポートみたいなものを提出する。
あくまで一次面接と最終面接の間のプログラミング面接部分を代行するみたいな形はどうだろうか。
別にこれで儲けたいわけじゃなくて、業務経験ナシだけどコード書けるプログラマーが就職しやすくなり、企業側もある程度安心して未経験者を取れる環境になってほしいがためのサービス。
とかどうだろう。
動かなくてハマっていた自作PC問題。
クッソいろいろあったんですが、要はCPUが悪かったようです。(VGA異常のLEDと見せかけて・・・)
返品して新しいCPU(全く同じやつ)にしたら動きました。
3DMark Vantageベンチマーク:
- 昔
- CPU: Athlon II X2 220
- GPU: RADEON HD 4250(オンボード)
- スコア:257
- こないだまでのPC
- CPU: Athlon II X2 220
- GPU: RADEON HD 7750
- スコア:7361
- 新PC
- CPU: Ryzen 5 2600
- GPU: GeForce GTX 1050 Ti
- スコア:33039
だいぶ上がりました。しかしこのベンチ自体古臭いですね。
m.2になってディスクも糞速。カクカクでできなかったPUBGもやっとできるようになりました。
しかし、結局一ヶ月くらい試行錯誤して、部品もいろいろ買い替えて疲れました。
もう今後マザーボードを買い換えるレベルの時はショップのゲーミングPCを買おうと思います・・・。
@igaiga555さんからゼロからわかる Ruby 超入門を献本いただきました。ありがとうございます!
プログラミングスクールをやっている人として感想を書きたいと思います。
チェリー本の前に読んでほしい本
ここのところ「チェリー本がちょっと難しい」という生徒の方がちょこちょこいて、確かにチェリー本は正に「プロを目指す人のための」なのでプログラミング自体初めてという人にとってはちょっと厳しいようです。(弊社にはチェリー本が何冊もあります😁)
弊社のカリキュラム的にもそこは抜けてるので「Progateやったらいいかも」とか言ってたんですが、ゼロからわかるRuby超入門を読んで、「あ、これを教科書にしよう」と思いました。
スクールとして涙がでるほど嬉しいのが、「練習問題の回答集が取り外せるようになっている」ことです。
これ外して生徒の人に上げればいいじゃん、マジ助かるぅ〜!
ありがたい内容の部分
Visual Studio Codeの使い方やキーボードの記号の場所が書いてあるのは助かりますね。この辺も結構質問出るところなので。
また、プログラミング初学者が躓きがちなループの処理、条件分岐についてしっかり書かれてあって、配列とハッシュについても詳しいのがありがたいです。
質問を受けてると「あ〜ループについてそもそもわかってないな。これ説明すんの大変だなぁ・・・」ってことがよくあるので。
どの入門書でもクラスやオブジェクトについての説明は難しいと思うので僕はそれ以外の部分がどれだけ手厚いかが気になります。
デバッグについても大抵は高度なツールの説明になってるところが多いですが、「pで確認しろ」って書いてあるのが嬉しいです。
スクールで質問を受けるときも
Q:「こうなるはずなんですが上手くでなくて」
A:「まずpで確認しよ?」
ってことが非常に多いです。プログラマーにとっては息をすることぐらい自然なことなので教えなきゃいけないってことに気づきづらいです。
しかもこれだけ絶妙な厚さにsinatraのことまで載ってるのは素晴らしいですね。
sinatraもWebプログラマーにとっては「こんなにシンプルなものに何か説明いる?」とか思ってしまうんですが、生徒の方には「公式ドキュメントだけじゃ全然わからない」と言われてたところでした。書籍も意外と無いです。
教科書
弊社としては教科書に決定です。練習問題をやってもらって僕らがチェックする形でカリキュラムに取り入れたいと思います。







