Rubyエンジニア採用が難しい3個の理由 https://note.com/takuya_stmn/n/n26508eae5244

XのタイムラインみてたらRubistの人たちが何らかの対象をぼかしたまましめやかにブチ切れていて(しめやかにブチ切れないでくれ)何の話なんだろうと調べていたらどうやらこのnoteの一節ぽかった

note.com

  1. オワコンである

Rubyが死んだ」「Ruby on Railsは死んだ」みたいな言葉は何度も聞きました。

産業界としても新規利用や継続利用希望率は残念ながら停滞気味であり、新規に若者がRubyRuby on Railsを勉強しよう、というケースの割合は一時期より減少していることは間違いないのは事実です。

著者のTakuyaさんはスタメンという会社のCTOで、スタメンはRails Girlsやtry! Swift の協賛企業なので、コミュニティ寄りの立場のところからネガティブな公式見解みたいなものが発信されたことにみんな驚いているようだった

prtimes.jp

prtimes.jp

1つ前のnoteにこれの背景となる話が出てくる

note.com

新言語の導入:

これまでサーバーサイド(バックエンド)としてはRubyのみ(新規事業漏洩チェッカーではTypeScriptを採用しています)をコア言語として利用してきました。新規採用面や若手エンジニアのモチベーション面で不利になる部分も出てきたため、2024年からはGo言語などの採用を進め、長期的なキャリア形成ができるような機会を提供します。

つまり組織運用の都合で利用する言語を変えたいという課題があるのだと思う

スタメンは会社紹介資料によると2016年の創業

業界的にはメルカリアッテがGoでローンチされてゴボだねと言われていた時代

mercan.mercari.com

この頃のRailsの扱いはもう結構成熟してて、ふつうのスタートアップなら安定なサーバーサイドの選択肢という状況だったと思う

一方フロントエンドはreact_on_railsのインテグレートなど、今のSPAやSSRから見たら黎明期っぽさがあった(Next/NuxtがGitHubで公開されたのもこの時期)

r7kamura.com

感想

前述のnoteからは「新規採用でRubyは不利」「若手エンジニアのモチベーションがない」という2つの論点があると思う。

新規(何を)採用なのかは自明ではないけど人材採用ということにしてこれは最近よく話題になる

先日は「海外でRuby on Railsの人気が再燃 」という記事を見かけた

techfeed.io

ただしこのDevOps.com記事は他所ではとくに話題になってないし、「書き手が減っても面接回数が増えるのでは?」とRedditでマジレスされてた

「新規採用でRubyは不利」はどういう人物像を採用をしたいのかによると思っていて、「技術トレンドへの追従を重視して会社選びするリードクラスのシニアエンジニアの転職」とか「趣味で自発的にプログラミング活動する教育コストの低い学生」とかいろんなパターンがある

趣味でコード書く学生は自分の観測範囲ではメガベンチャーやビックテックのインターンとかに行ってる印象がある(上澄の人たちかもしれない)

労働者人口も減っているし内製化の思惑のある大手企業や日本ブランチを拡大してる外資も競争相手に入っているし、どの程度2010年代の新卒採用のようにベンチャー流入してくるのか定かではないが

学生ではなく社会人に広げるとRubyでいうとプログラミング学習サイトが充実しているので取り組んでいる人が多い。本業で何か昼の仕事をしつつキャリアアップのためにプログラミング習得と転職を目指しているような勤勉な層。そういう層の取り込みを想定するのならRubyを使い続けるメリットは大きいと思う。

「若手エンジニアのモチベーションがない」はつまりRubyじゃなくてGoやTypeScriptを書かせないと転職されちゃうんじゃないかとマネージャー層は心配している思うんだけど、GoやTypeScriptを書いたらGoやTypeScriptを書く給与の高い会社に転職するのが健全な市場だと思うのでそこは売上を報酬に還元する方向でがんばってほしいところ

エンジニア側は需要の少ない技術を身につけて成長に繋がらないという思考から不安を持ってるのだと予想するんだけど無限にトレンドインする技術はないので、まずはハイプサイクルを理解してもらってその上で世間の評判ではなく自分自身の目でOSSを評価できるようになってもらうのが長期的な成長にはいいと思う

Rubyの場合コア開発に日本語話者がたくさんいるし実際にコミッターたちがどういう活動をしているのか観察しやすいのが良いと思う

オワコンという言葉

Googleのサジェストに出てくるぐらいよくある連想語なので気軽に使っているのだと思う

PerlPHP関係者だったらふーんと流しそうなのでRubyが成熟期のいい塩梅のナイーブな時期にいるということだと思う

パラノマサイト FILE 23 本所七不思議 https://www.jp.square-enix.com/paranormasight/

スクエニが今年発売したノベルゲーム。

www.jp.square-enix.com

複数の主人公始点で時空間を行き来してマルチシナリオを進めるオーソドックスなシステムだけど、音楽やイラストの質が良かったりで評価が高い。

昭和の墨田区を舞台に「条件を満すと相手を呪い殺せる」という人狼x特殊能力バトルが行われる。

「たくさん呪い殺すと死者を生き返らせることができる」という設定なのでダンガンロンパよろしくさくさくバトロワが進行してゆく。

プレイヤーは「こいつが能力者だったのか」「発動条件はこれだったのか」などの意外性を楽しみ、「前回これで殺されたからこうやって回避できるんじゃない?」とか「この時間でこいつがこの行動したら別の奴が生き残れるんじゃない?」等を思考する。

操作キャラクターも呪いの使い手になっているのでストーリーを読んでると画面上にいきなり「殺す」ボタンが出てきて、押すとドォーーンっていって相手が死ぬ。逆に初見のとおりすがりの奴にいきなり殺されて???? となることもある。

キャラ名の元ネタがおニャン子クラブというのをこの動画で語っていた。そのへんの時代感らしい

www.youtube.com

Video Editing in the Browser https://www.youtube.com/watch?v=-d6q4yb57F8

www.youtube.com

RN作者などで知られるChristopher Chedeauの講演。全然関心を持ったことない分野なので見てみた。

  • ビデオをエンコード/デコードするときに必ずしも時間は前に進むわけではない
    • 特定のフレームの前後のフレームを先にデコードすることがある
  • フレームをエンコードすると必ずしも同数のフレームが返ってくるわけではない
    • フレームが過去または未来のフレームを参照するためエンコードが遅延される
  • ビデオのデコードにはJavaScriptよりもWasmが高速という誤解
    • JavaScriptからWasmを通して大量のバイナリ処理計算をするとCPUのオーバーヘッドが増大
    • 解決策としてWebコーデックはJavaScript APIを通じてハードウェアのアクセラレーション機能を活用できる

developer.mozilla.org

The shape of future builders: from design to deploy - Guillermo Rauch (Config 2023) https://www.youtube.com/watch?v=Q20HfSyqm78

www.youtube.com

VercelのCEO Guillermo RauchがFigmaのイベントに登壇して「デザインとエンジニアリングが融合したフロントエンドファーストな将来のソフトウェア開発像」を語り、Vecerl/Next使ってくれよなと締める内容の動画

ザワつきがちな図

背景

Figmaとフロントエンド技術のかかわりは深く、デスクトップのデザインツールをWasmなどの様々な手段を用いて同時利用できるWebアプリケーション化させた先がけでもあるし創業者の1人のEvan Wallaceはesbuildの作者

フロントエンドファースト

  • ユーザーへの直接的価値提供の鍵はフロントエンドに有り、その為のインフラストラクチャに彼は全振りしているということらしい
  • AmazonGoogleが登場した時代はオンラインでサービスが提供されることに価値があったが現在はオンラインのサービスをどう差別化するかという点にフォーカスがある
  • Reactの登場は転機だったUIがコンポーネント化され抽象度の高い語彙になった
  • FigmaGoogle Docsのようなアーキテクチャで先ずデザインやUXの価値を効率的に検証してバックエンドは後回しにできる
  • Vercel Previewsなどを活用する
  • デザイナはエンジニアの成果物にフレーバーをかける存在ではなくて開発プロセスに直接参加する

mozaic.fm Monthly Ecosystem 202306 https://mozaic.fm/episodes/124/monthly-ecosystem-202306.html

mozaic.fm

以下関心のあったトピック

Bunの方向性

  • JSランタイムなのか標準ライブラリなのか周辺ツールなのかというレイヤーを全部実装してくる
  • 個人プロジェクトっぽいカオスでなんかいい
  • マネタイズなどのゴールはどこなのか
  • DenoDeployのようなクラウドサービスにするつもり?

日米の開発者コミュニティ文化の違い

  • Stack Overflow Developer Survey
  • 日本人は全然答えてなさそう
  • 前から思っていたけど日本のコミュニティだとカンファレンスの発表者のスライドをみんなでシェアしてコメントする文化があるなぁと思っていた
    • 欧米のカンファレンスだと動画、作者ブログにスライドのリンクがあるとかをよく見る、コメントはHNとか
    • USのLTイベント周辺までチェックしてないので地域性があるのかは不明。日本語だから細部まで見えているだけかもしれない

Rust製ツールチェインの覇権

指名(オファー)情報の第三者による閲覧の可能性に関するお詫びとお知らせ|転職ドラフトReport https://job-draft.jp/articles/580

job-draft.jp

xxxxxxxxxxxxx の部分がHTMLに入っていたらしい。

コンテンツはレジュメに対するスカウトのWHYの部分のフィードバックを採用担当者が作文する場所で、ユーザー個人の指名や経歴などが含まれる個所なので運営元も深刻に受け止めているようだ。

当該ページはログインなしでも閲覧できるのでクローラーに何か残ってるか一応調べてみたけど見当たらなかった。

DBから取得したモデルをJSから扱うようにJSONにして埋め込んでおくというケースで似た事故がたまにニュースになるけど、発生時にどういうアーキテクチャになっていたかは不明。

現在のサイトはサーバーサイドのみのレンダリングになっていた。

結果だけ見ると生データを受け取り、「秘密の情報である」いう理由でフロントエンドでJSかCSSでコーディングしてxxxxxxxxxxxxxでマスクしていたわけで不思議な状況だと思った。

背景

転職ドラフトはなるべく情報を公開できるよう意図してデザインされていると思う。

転職ドラフトでは可能な限り情報を公開し、市場の透明性を高めることが「実力が正当に評価される世界」の実現に不可欠だと考えております。 https://job-draft.jp/articles/461

このxxxxxxxxxxxxxだらけのページを閲覧することに何の意味がと思ったが、ユーザーはレジュメを公開設定に自由にできるし、指名金額もウィザード級などの謎の用語を使って可視化してくるし一貫性は感じる。

本件のページも他のプラットフォームなら本人ログイン以外はリダイレクトする設計にすると思っていて、転職ドラフトならではでのトラブルだなと思った。

余談

ソースコードの中に情報があるのをユーザーが発見」というケースはまだわかりやすいけど(といっても1年間発生していたらしい)、内部APIのレスポンスのみに機密情報入っている→HTML側には描画してないというパターンになるとさらに発覚が遅れそうだなと思っている。]

JAPANESE FAST FOOD TIER LIST https://www.youtube.com/watch?v=DrYLxXkrz-k

www.youtube.com

  • 日本の飲食チェーンのティアーリストを作成してる動画
  • YouTubeチャンネルは日本のサブカルチャーなどを扱っている
  • ゲストはオーストラリア人。ホストは不明

S

  • ホストはトリキをひいきしているようだ。ゲストは安くて酒飲みにはいいかもねと評価している
  • ココイチやよい軒は単によく行ってるし好きぐらいの言及しかない

F

  • ミスドが低評価なのは彼等はドーナツといえばもっと甘〜いものを想像しているらしい
  • シェーキーズのピザが一番評価低いらしい。日本人が欧米ナイズドされた寿司を不味いと思うような感覚か。

コンビニ

  • ホストはファミチキが好き
  • ローソンだけ下げているのはノリ

ティアーリスト

はてなブックマークではなぜかティアーリストのフォーマット自体が話題になっていた

https://b.hatena.ne.jp/entry/www.all-nationz.com/archives/1081358006.html

これらはゲーマー界隈でアイテムやキャラクターをランク付けして、俺的最強ランキングを発表する時によく取られる。

https://en.wikipedia.org/wiki/Tier_list

僕はアーケードゲーム雑誌か攻略サイトではじめて見かけた。

近年はランキングにしてもしょうがないものまで含めてランクにするっていうノリがある。