最近考えてること。

業務経験アリの壁

スクールでコードを書けるようになっても業務経験アリ・ナシの壁がある。もう全然書けるようになってるしプロジェクトに入ったら役に立つよーって状態なのに業務経験ナシってだけで入れない場合が多くてもったいない。

企業からみたら業務経験ナシの人がどれだけ書けるか判断するのが難しいので怖いのはとっても理解できます。

一緒に仕事やれるプログラマーかどうかの判断

では何をやったら一緒に働けるプログラマーだと判断が付くのか。

@dandaso にも聞いたし、自分としても納得なのが、

「自社のプロダクトを2イテレーションぐらい一緒にやればわかる」

ってこと。

一緒に働けば、プログラミング力だけでなく、コミュニケーションや仕事のレポーティングの頻度・質などについても誤魔化しようがない。それは現場の人の実感としてあると思う。

でも自社のプロダクトを採用のために使えないし、その環境を整えたりレビューする手間はなかなかかけられない。

プログラミング面接代行サービス

そこで、2イテレーションやってみる部分を肩代わりしてくれるサービスはどうかと思った。

フィヨルドブートキャンプではそのEラーニングシステム自体を簡易スクラムで作っていて、僕も生徒も混ざってイテレーションを回している。開発に入るためのドキュメントも(生徒用に)そろっているし、オープンソースなので議事録もPRのやり取りも全部見れる。

一次面接的なものを通った人がこれにリモートから参加して2イテレーションやる。そしてその人のPRや、コメントのやり取りを含めた評価レポートみたいなものを提出する。

あくまで一次面接と最終面接の間のプログラミング面接部分を代行するみたいな形はどうだろうか。

別にこれで儲けたいわけじゃなくて、業務経験ナシだけどコード書けるプログラマーが就職しやすくなり、企業側もある程度安心して未経験者を取れる環境になってほしいがためのサービス。

とかどうだろう。

動かなくてハマっていた自作PC問題。

動かない自作PC - komagataのブログ

クッソいろいろあったんですが、要はCPUが悪かったようです。(VGA異常のLEDと見せかけて・・・)

返品して新しいCPU(全く同じやつ)にしたら動きました。

Image from Gyazo

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 超入門を献本いただきました。ありがとうございます!

プログラミングスクールをやっている人として感想を書きたいと思います。

ss

FJORD BOOT CAMP(フィヨルドブートキャンプ)

チェリー本の前に読んでほしい本

ここのところ「チェリー本がちょっと難しい」という生徒の方がちょこちょこいて、確かにチェリー本は正に「プロを目指す人のための」なのでプログラミング自体初めてという人にとってはちょっと厳しいようです。(弊社にはチェリー本が何冊もあります😁)

弊社のカリキュラム的にもそこは抜けてるので「Progateやったらいいかも」とか言ってたんですが、ゼロからわかるRuby超入門を読んで、「あ、これを教科書にしよう」と思いました。

スクールとして涙がでるほど嬉しいのが、「練習問題の回答集が取り外せるようになっている」ことです。

Image from Gyazo

これ外して生徒の人に上げればいいじゃん、マジ助かるぅ〜!

ありがたい内容の部分

Visual Studio Codeの使い方やキーボードの記号の場所が書いてあるのは助かりますね。この辺も結構質問出るところなので。

また、プログラミング初学者が躓きがちなループの処理、条件分岐についてしっかり書かれてあって、配列とハッシュについても詳しいのがありがたいです。

質問を受けてると「あ〜ループについてそもそもわかってないな。これ説明すんの大変だなぁ・・・」ってことがよくあるので。

どの入門書でもクラスやオブジェクトについての説明は難しいと思うので僕はそれ以外の部分がどれだけ手厚いかが気になります。

デバッグについても大抵は高度なツールの説明になってるところが多いですが、「pで確認しろ」って書いてあるのが嬉しいです。

スクールで質問を受けるときも

Q:「こうなるはずなんですが上手くでなくて」

A:「まずpで確認しよ?」

ってことが非常に多いです。プログラマーにとっては息をすることぐらい自然なことなので教えなきゃいけないってことに気づきづらいです。

しかもこれだけ絶妙な厚さにsinatraのことまで載ってるのは素晴らしいですね。

sinatraもWebプログラマーにとっては「こんなにシンプルなものに何か説明いる?」とか思ってしまうんですが、生徒の方には「公式ドキュメントだけじゃ全然わからない」と言われてたところでした。書籍も意外と無いです。

教科書

弊社としては教科書に決定です。練習問題をやってもらって僕らがチェックする形でカリキュラムに取り入れたいと思います。

僕のイメージ(というか願望)としてはUIでComponentというからには下記ができて複数プロジェクトで使い回せてほしい。

  • コメント投稿
  • コメント編集
  • コメント削除

Image from Gyazo

昨今のWebアプリのUIに対しての要求は上がっているので

「今どきページ遷移しないで投稿・編集・削除したい」

という意見は最もだと思う。

vue.jsでいつも作ってるけど、いつもは以前のプロジェクトからcomments.vueなどのファイル一式(下記のようなやつ)をコピーしてきて編集する。

comments component

そこそこ工数かかる。こんなに編集とテストが必要ではComponentとは言えない(ように思う)。

外部からAPIのURLを渡すぐらいで上記が全部できるようになりたい。comments componentに関してはnpmでインストールしたい。

今のやり方ではAPIが違うだけでかなり変更が入る。APIやcommentが付く対象(postとか)が変わることに対応しようとすると、comment取得やコメント更新のXHR処理自体を外から注入する必要が出てくる。使いまわしたいJSコードの大半がそこなので、それを毎回書いて外から注入しなきゃいけないのでは全然楽になってない。

「今どきテキストエリアはMarkdownで書きたい」

という要求に対しては下記のようにnpmにできたので気軽に

「いいっすよ」

と言えるようになった。

textareaを画像アップ可能なmarkdown editorにするnpmモジュール - komagataのブログ

しかしコメント機能に関しては、

「できますが・・・ちょっとだけかかるかも・・・しれませんねぇ・・・」

という状態。vueだろうがreactだろうが同じだと思う。

何かいい方法は無いものかなぁ。

フィヨルドブートキャンプという主にネット経由メインのプログラミングスクールをやっているのですが、オフィスにあいている席が2席しかないのが厳しいので明大前に引越しました。

Image from Gyazo

古いオフィスの荷造りの様子。

あまりお金は無いのでトリッキーな(何故か入り口の扉が2つある)古め目の物件を契約して改装工事をしました。

主な変えた場所

  • 天井の壁紙
  • 壁紙
  • 部屋を隔てる壁破壊
  • 照明をレール化

工事前の様子

Image from Gyazo

Image from Gyazo

クソボロナメクジ。

工事後の様子

Image from Gyazo

Image from Gyazo

Image from Gyazo

まだいろいろ途中ですが、何とか仕事は開始できるようになりました。

これで以前よりはだいぶ座れるようになりました。 ブートキャンプに来ている方もリモートからより実際に通う方の方が圧倒的に就職率が高いのでお近くの方はぜひ!

Image from Gyazo

個人的な欲望でキッズスターさんのオフィスでみてほしかったコレを買っちゃいました。冷蔵ショーケースというらしいです。テンションがクッソ上がるのでおすすめです。

これからのこと

これからはカッチリとしたスクールというよりも、

  • プログラミングに興味のある人
  • プログラミングを勉強中の人
  • プログラマーの人

などが混ざって勉強したり仕事したり酒のんだりゲームしたりするゆるやかなコミュニティーが形成できるといいなと思っています。

その方が勉強中の人にとっても楽しいし勉強になると思うんですよね。

今回は小規模なミートアップがしやすいことを念頭にオフィスを作ったので、ぜひミートアップの場所提供・自主開催・スポンサードを積極的にやっていきたいと思います。

ガッツリ作業できる席としては12席。立食飲み会だったら20〜30人は入れる感じです。イベント場所を探している方はぜひ @komagata までメンションいただければありがたいです。

自主開催として「Rails男」 or 「CGI Girls(仮)」を構想していますが怒られるかも。

Amazon乞食

祝ってやっても良いという方がいらっしゃったらぜひ下記のリストより送っていただけますとありがたいです。感謝の印としてお名前を僕の左腕に入れ墨として入れさせていただきます(嘘)

フィヨルドのほしいものリスト - Amazon

謝辞

引越し・改装プロジェクトを中心となり、何週間も業者と掛け合いながら進めてくれた東郷さん、何度も足を運んで計測や窓フィルム張りをしてくださった東郷さんのお父さん、インテリアコーディネーターとして照明や壁紙などアドバイスしてくださった東郷さんのお母さん、低予算・短納期にもかかわらず無理を聞いていただいた業者の方々、本当にありがとうございました!!

例えばUsers::CommentsControllerが担ってるページのSystemTestUsers::CommentsTestにしたい。

でもUsersってクラスは無いのでこう書く必要がある。

# tests/system/users/comments_test.rb:
module Users
  class CommentsTest < ApplicationSystemTestCase
    # ...
  end
end

インデントが深くなるのでちょっと嫌。

単数形のUserだとModelに存在するのでこう書ける。

# tests/system/user/comments_test.rb:
class User::CommentsTest <  ApplicationSystemTestCase
  # ...
end

といってもこれもたまたまこうなってるだけだから気持ち悪い。

チケットをもらったので初宝塚見に行ってきました。

月組公演 『エリザベート-愛と死の輪舞(ロンド)-』 | 宝塚歌劇公式ホームページ

Image from Gyazo

(宝塚ファン風のオフィスのデスク)

演目がオーストリア皇后エリザベートのお話でした。偶然にもつい最近EuRuKoのためにウィーンにいってシェーンブルン宮殿とか見てきたばっかりだったのでタイムリーで興味深く見ました。

しかし冒頭からいきなり「死」を象徴する謎のホスト風男性(役)が颯爽と登場。その男とエリザベートの恋愛物語風に話は進みます。

え、誰この人?

皇后エリザベートって絶世の美女と呼ばれてるしヨーロッパ貴族要素もあって宝塚向きかと思いきやあまり浮いた話がないし旦那のフランツ・ヨーゼフ1世は糞真面目なのでたぶん恋愛物語にし辛いんですよね。

「なるほど、史実の人物では恋愛要素が入れづらいから、この謎の人が現れて耽美な雰囲気を出すのね。三国志演義でいう兀突骨(ゴツトツコツ)みたいなもんか。」

と一応納得。

後半はストーリー関係無く男役の人が踊るのを見てる。

やはり一般的なミュージカルとは違う、宝塚としか言いようがないもので良い経験になりました。

10年ぶりぐらいにゲーム用パソコンのパーツを買いました・・・が動かず!

不動っ・・・動かざること山の如しっ・・・!!??

構成

動かなさ

マザーボード、CPU、メモリだけの最小構成で動かそうとすると、MSIのEz Debug LEDとやらがCPU、メモリと一瞬点灯して消えて、VGAのところが点灯しっぱなし。この状態が終わらず、内蔵グラフィックでディスプレイに何も映らない状態。

VGA don’t work - YouTube

マザーボードが怪しいと思い、交換してもらったんですが・・・駄目っ・・・!

古い電源とスイッチ類も怪しいと思い、電源とケースも新しく買いました。後はCPUとメモリぐらいですが、Ez Debug LEDではきちんと光ったし、怪しげなところはないので行き詰まってます。

こういうとき最終的にはどうするのがいいんですかね・・・😭

Image from Gyazo

(こんな画像しかなかった・・・)

RailsGirls Tokyo 10thにまたスポンサー兼コーチとして参加させていただきました。

オーガナイザーのねこさん、スタッフ・コーチのみなさんお疲れ様でした。

僕もまだ2回目ですが、「回を重ねるごとに運営がスムーズになってる感」がありました。

前回課題に感じた点について

RailsGirls Tokyo 9th - komagataのブログ

前回、個人的に、「プログラミングの楽しさって何?」「わからない人への道筋の提示」の二点について課題に感じていました。

ずっと気になっていたのですが、それぞれ自分なりの回答を作りました。

プログラミングの楽しさって何?

ブログを書きました。

なぜプログラミングは楽しいのか? - komagataのブログ

わからないストレス

Q. Terminalがわからない

A. 本当は怖くない黒い画面入門 - FJORD,LLC(合同会社フィヨルド)

Q. プログラミングがわからない

A. (教材として準備中)

Q. Webアプリがわからない

A. (教材として準備中)

Q. Railsがわからない

A. (教材として準備中)

プログラマーにとっては自明だけど一般の人には説明し辛いこの件について、名著「人月の神話」にしっかりと書かれています。

『なぜ、プログラミングは楽しいのか?』に対する素晴らしい答え - 涙目で仕事しないSE

RailsGirlsのメンターやプログラミングスクールを通して、プログラミングを始めようという人に向けてもっと端的にまとめられないかなと思い、まとめてみました。

プログラミングの楽しさ

  1. 自分の思い通りのモノを作る楽しさ
    (子供が砂場でお城を作る楽しさ)
  2. 人の役に立つモノを作る楽しさ
    (子供がパパのために粘土で鉛筆立てを作ってあげる楽しさ)
  3. ピタゴラスイッチを作る楽しさ
    (複雑なツールを組み合わせて大きな別のツールを作る楽しさ)
  4. 新しいものを学ぶ楽しさ
    (新型iPhoneより頻繁に生まれてくる最新ツールを追っかける楽しさ)
  5. もっとも柔軟な媒体でものを作る楽しさ
    (材料費無料、サイズほぼ無限、やり直しは一瞬の媒体を使ってモノを作る楽しさ)

プログラミングを始めた人に向けて

これらの楽しさの1つでも感じたのなら、ベテランプログラマーの感じている楽しさもあなたと同じです。あなた向いてるのかもしれませんね!