isyumi_netブログ

isyumi_netがプログラミングのこととかを書くブログ

2023のBest本

少女事案

 

 

高校生の男女が、最近起こっている連続殺人事件と対峙しながら、過去に自分たちが巻き込まれた誘拐事件の清算を目指す話。

主人公である幸路君とその幼馴染である月子の二人は、過去の事件のトラウマにより難しい境遇にある。そんな二人は殺人犯に狙われている文香という幼女を保護することになる。どうやら過去と現在の二つの事件は深く関係しているようだ。同一犯か、あるいは模倣犯か。幸路と月子は文香を匿いつつ、もう一度過去の事件に向き合うことになる。

話の筋としては『嘘つきみーくんと壊れたまーちゃん』に近い。しかしどちらかといえば全盛期の富士見ミステリのノリに近いとも思う。暴力と性の生臭さ。そんな世界をドライブする軽薄な男の子。さよならトロイメライとかね。僕はだいぶ好きな感じ。

世界の果てのランダム・ウォーカーの作者の新作という意味でも安定感抜群。今年の最面白小説だと思う。

 

 

 

 

でぃすぺる

 

 

小学生3人からなる少年探偵団的な組織が、町の七不思議の解明を目指す中で、巨大な陰謀に巻き込まれる話。

探偵団メンバーのサツキは、前年に殺人事件で従姉であるマリを亡くしていた。マリのダイイングメッセージ的なモノによると、七不思議がこの事件に関係しているようだ。マリの死はオカルトなのか人為的事件なのか、という観点から調査を始める3人。

この話の面白さは、七不思議と殺人事件の真相が気になるという事が半分、3人の関係が成熟していく様を共に喜びたくなるという事が半分。

それにしても、小学生リーダー的女子というキャラクターっていいよな。類例を挙げるなら雨を告げる漂流団地の夏芽などが好キャラクターだろう。大人が主人公の物語には出せない面白さがある。中学生にもなったら男女が本気でケンカしなくなるからかな。

 

 

十戒

 

 

絶海の孤島で殺人事件が起こるという、クローズドサークル物のミステリ。最初の殺人事件の直後に犯人から「決して犯人を捜さないように」とお告げがある。曰く、この殺人は皆を守るために必要なことであり、犯人探しをしなければこれ以上は手出しをしないので大人しくしているように、とのこと。

そこから始まる「突っ込んだら負け」の生活。犯人が特定できないように全員で協力しつつ救助を待つ。誰かが疑われ始めたらさりげなく庇いあう。かなり滑稽。でも確実にこの中に犯人がいるという人狼的不気味さ。

面白かったのは、犯人を明かさずに犯人の証拠隠滅に協力し合うアルゴリズムを駆使するところ。世界でもっとも強力な9のアルゴリズムを読んだ時の興奮を思い出した。

今年のベストミステリー小説だと思う。

 

 

「若者の読書離れ」というウソ

 

 

小説ではなく新書。

ライトノベルは若者の読み物とは言えなくなっている。その分、児童書が充実している。最近の中高生は児童書を読んでいる。という話。

ヨモツイクサ

 

 

いわゆる動物パニックモノ。熊退治に向かったハンターが、熊より恐ろしい謎の生き物に襲われる。

ラスト一気の伏線回収で真相が明らかになるところが凄い。ミステリ小説として優れている。ただ、動物パニックものにありがちな、作者が話を盛り上げ得るためにあえて登場させる無能キャラはかなり気になったので何とかしてほしい。

 

【自作PC】ファンコントローラーを買え

君はファンコントローラーを知っているかい?
僕は知りませんでした。

ファンコントローラーとは

電源ユニットとファンの間に接続し、ファンの回転速度を調整するPCパーツ。
ツマミが付いていて、これで回転数を変更できる。

背景

僕は最近グラボの発熱に悩まされていた。特定の重い作業をしている時だけ90℃に達するのだ。これは良くない。

そこで、僕はPCケースファンを数個買ってきて取り付けた。これだけで40℃に下がった。ファンの力は偉大だ。

ところが、また新たなる問題が発生した。ファンがあまりにもうるさいのだ。

パソコンをつけっぱなしで寝る僕にとっては重大な問題だ。

というのも、マザーボードのファンソケットはすでに埋まっていたので電源ユニットから直接給電したのだ。当然、ファンは常時全力投球することになる。もうすこしこう何というか、手心というか。

仕様

そこで色々調べたところ、ファンコントローラーというものの存在を知り、即座に購入した。1,000円くらいだった。
僕が買ったファンコントローラーはペリフェラル4pinコネクタで入力し、2pinファンコネクタで出力するものだ。3.5インチベイ(フロッピードライブとかつけるところ)でPCケースの前面に装着できる。

PCIスロットに装着するモデルもあった。ケースに3.5インチベイが無い人はこっちを買うといいだろう。背面になるのでちょっと触り辛いけど。



普段は回転数を落として置き、重い作業をするときだけ耳栓をして風力最大にすればいい。

これで安眠が返ってきた。

買うに値するChromebookが無い

ノートPCが欲しい

僕は、普段の仕事と趣味プログラミングのPCとして、WindowsのデスクトップPCを使っている。

お出かけ用にノートPCを買い足そうと思い立った。

Chromebookを試してみた

自分の用途としてはChromebookが最善ではないかと思い、いくつか試してみた。

OSは大変素晴らしい。
自分の世界観にバッチリフィットしている。
お出かけ用PCとしては最高の体験だった。

Chromebookはハードウェアがダメだ

しかし、ハードウェアとしては全然だめだ。
どのChromebookPCも、共通してこのような問題があった。

まず、タッチパッドが滑りにくい。
また、タッチパッドの押し込みが固すぎて人差し指が慢性突き指のような状態になる。
(個人的な好みとして、押し込みではなくタップを左クリックとみなす設定は使いたくない)
さらに、ヒンジが固すぎる。
ノートPCを閉じた状態から、片手で画面だけを持って開こうとすると、底側もついてきてしまう。
その割に、ちょっとした振動で画面が揺れる。膝にのせて作業すると酔うのではないか。
画面がタッチパネルになっているものも多いのだが、画面に触れると画面がバインバイン揺れる。

ところで、ChrobebookというのはOSの名前だ。
↑に挙げた欠点はハードウェアとしての欠点である。
しかし、僕はあえてこれをChrobebookの問題点と主張したい。
Chromebookはハードウェアがダメ過ぎる。

僕は電気屋さんで触れるだけ触り、
友人の伝手で何台か実際に使ったうえでこの主張をしている。
本当にどの機種もハードウェアがダメなのだ。

MacBookはハードウェアが素晴らしい

半面、MacBookはOSとしてあまり好きではないが、
どの機種もハードウェアとしては素晴らしい。

タッチパネルはサラサラで、押し込みの反発もちょうどいい。
ヒンジの調節は絶妙である。
片手で開けることができるし、振動で画面がフラフラしたりしない。

なぜこうなるのか

MacBookの一番安いモデルであるMacBook Airが13万円だ。
Chromebookはほとんどが5~6万円である。
つまり、単純にお金の問題である。

Chromebookは安物PCのためのOSとしての立場しかなく、
10万円台のラインナップがほとんどない。

僕は安いからChromebookが使いたいのではなく、
Chromebookの世界観が好きだからChromebookを使いたいのだ。
そして、快適にChromebookを使うためには13万円出してもよい。

ちゃんとハードにお金をかけたChromebookの登場が望まれる。

PS

待てないからMacBook Air買った。

 

左右分離型イヤホンよりもSonyの『WI-C310』を熱烈にお勧めする。

この記事は、「私もそろそろ左右分離型イヤホンデビューしちゃおうかな〜」という方に向けて書いています。

左右分離型イヤホンよりも、SonyのWI-C310という商品をお勧めします。

www.sony.jp


こういう形をしています。

 




特徴は、見ての通り左右が線で繋がっていることです。

おすすめの理由

電池の持ちがいい


多くの左右分離型のイヤホンの連続稼働時間は、大体4時間くらいです。小さいですからね。仕方ないと思います。
それに対しWI-C310は15時間ということになっています。公式発表では。本当かどうかは知りません。僕は15時間も音楽を聴き続けたことがないので。10時間使い続けても電池は切れませんでした。

落とさない


左右分離型を使いたくない最大の理由は線路とかに落としそうだからですよね。WI-C310にはそういう心配がありません。

失くさない


出先に左右分離型を持っていくとなると、右・左・ケースと、『失くすと困るもの』を三つ持っていくことになります。注意力散漫勢には厳しみがあります・
WI-C310なら、全部繋がっているので大丈夫です。

音質がそこそこいい


少なくとも第三世代AirPodsやBeats Studio Budsよりも良いです。
「私は音質とか拘らないし〜」っていう人いそうですが、聴き慣れた曲をBeats Studio Budsで聞くと明らかに低音が足りてないのがわかります。絶対気になると思います。音声通話での使用がメインの人なら止めませんが、音楽を楽しみたいならやめといた方がいいです。
WF-1000XM4よりは悪いです。
あと、若干ホワイトノイズが乗ってるのが気になります。

安い


4,000円のイヤホンを安いと思うかどうかは人それぞれだと思いますけども。
左右分離型のハイエンドの製品は2万円を超えています。
それに対して、繋がっててもいいなら4,000円だと思うとまあそれでもいいかなって気がしますよね。

外せる


外で音楽を聴いてると、とっさにイヤホンを外したいことは結構あります。
急に話しかけられた時とか。
もちろん、左右分離型でも音を止めたりノイズキャンセルをオフにすれば人の話は聞こえます。
ただ、絶対線を引っ張って外す方が速いです。
ちなみに僕は、コンビニのレジに並ぶ時は必ずイヤホンを外すことにしています。一応礼儀の問題として。
イヤホンを外すのは、相手に対しても『聞くよ』っていうサインになるので良いです。誰かに話しかけられた時に、左右分離型イヤホンのボタンを押して音楽を止めても、相手からしたらこちらが何をしていたのかわからないですね。その点、これ見よがしにイヤホンを引っ張って耳から外せば、『ごめん、今の話聞こえてなかったから最初からお願い』という意味だと伝わります。

物理ボタン


左右分離型は、操作が結構大変です。まず、多くの製品は物理ボタンではなくタッチセンサーです。タッチセンサーは結構押し間違えると思ってください。
操作は『・』で停止再生、『・・』で次の曲、『・・・』で前の曲、みたいなコマンドになっています。覚えるのも結構面倒です。
その点、WI-C310は大きな物理ボタンがついているので操作がしやすいです。

みんなの疑問点


線は邪魔なのか


まあ、左右分離型に比べれば邪魔ですね。デスクワークならほぼ気になりません。歩行も大丈夫です。走ったり運動したりすると完全に邪魔です。

線は絡まるのか


全く絡まらないです。僕はかなり乱雑にカバンの中に突っ込むのですが、絡まることはありません。
普通の有線イヤホンの形を表すと『Y』ですよね。WI-C310は『U』です。
YがUになるだけでこんなに絡まらなくなるのかと思いました。

カナル型は嫌だ


まあ、これの人はいると思います。耳に何か突っ込むのが嫌だって人ね。咀嚼音とか聞こえてくるし。そういう人には別の製品をお勧めします。

結論


僕はこうしています。
自宅の中:左右分離型
外出:WI-C310
二つも買いたくないということならWI-C310を買うのが一番良いと思います。

最近の面白いラノベを紹介する。

タタの魔法使い

2018年のラノベ。学校丸ごとファンタジー世界に飛ばされてしまった高校生たちが、みんなで協力する術を覚えて帰還を果たす話。

最大の特徴は、学校全員で飛ばされたという点だ。
一般的に言ってこのジャンルの王道は、『ゼロの使い魔』や『リゼロ』のように主人公だけが飛ばされるパターンだと思う。このパターンでは新しい世界での出会いが主軸になる。
それに対して『タタの魔法使い』では既存の人間関係を持ち込んでストーリが始まる。これにより彼らは、今までどれほど大事な仲間に囲まれていたか再確認することになる。

この小説は英雄譚ではない。冒険のカギは、ずばり組織力だ。
ファンタジー世界に飛ばされた学生・教員たちには様々な試練が襲い掛かる。その難易度も絶妙である。基本的に1,000人規模の集団として正しく対処すれば何とかなるような問題しか起きない。

しかし残念ながら、序盤では全員であたふたしている間に数百人の死傷者を出してしまう。
そこから組織として成長していくことに感動できる。
シン・ゴジラに近いかもしれない。

ここでいう組織力とは、数人の仲良しグループの信頼関係のようなものではない。
1,000人規模の集団としての成長を描いた物語だ。

例えば、

  • 各自の個性をどのように把握できるか
  • 連絡をどのように取り合うべきか
  • もっとも戦闘力が強い人をどこに配置するか

など、様々なテーマで好奇心をそそってくる。

面白かったのは、校長先生の扱いだ。
この校長先生は、序盤に悪手を連発して大量の犠牲者を発生させてしまう。まあ、はっきり言って無能な人だ。そういう描かれ方をしている。
それでも、この集団は責任者に何をさせるべきかを学習することができた。そこで一気に潮目が変わり組織として安定し始める。

もし学校が丸ごとファンタジー世界に飛ばされたらというifを楽しめる素晴らしいラノベだ。

世界の果てのランダム・ウォーカー

2018年のラノベ強力な科学を持つ大国セントラルから、文明の劣る国々を調査するために派遣された二人の調査官が、さまざまな出来事を通じてセントラルの謎に迫る話だ。

キノの旅に似ているというレビューが多かった。確かに似ている。

奔放な上司の女性と、皮肉屋な部下の男性の二人組で、部下の男性のほうが語り部だ。
この男性、普段は上司の悪口ばかり言っているくせに、困ったら泣きつくところがかわいい。ナイスコンビだと思う。

面白いことに、強力な科学を持つ大国セントラルは、その存在自体を文明の劣る国々に秘密にしている。寝首をかかれるからという理由らしい。

なのでこの二人の調査官は、自分たちがどこから来たかを秘密にしなければいけないし、
すごく便利な科学道具を持っているが人前では使えないという縛りが生じている。

終盤、部下の男性は上司の女性と離れ離れになってしまう。
頼りの綱を失った状態で見せる彼の成長が見どころだ。

オーバーライト――ブリストルのゴースト

2020年のラノベイギリスのスプレーアート界隈を描いたラノベだ。スプレーアートというのはシャッターとかにに落書きするアレだ。珍しい舞台設定だと思う。表紙を見てもラノベとしてかなり異色の作品だとわかるだろう。

主人公は日本からの大学生で、そこで元伝説のスプレーアート師と出会い、行政との摩擦や派閥抗争に巻き込まれるなかで、界隈の歴史と掟を学んでいくというシナリオだ。

スプレーアート界というものに興味が沸く、面白い作品だった。著者の実体験をもとに書いたらしい。

インフルエンス・インシデント

2021年のラノベ

人気インスタグラマーなショタをストーカーから守るために、平凡な女子大生が頑張る中で、人々の心の闇を見つめていく話。

導き手になる白鷺玲華教授がエキセントリックでいいキャラしてる。

序盤では『無垢な男の子』として描かれるインスタグラマーが、徐々に『アブないヤツ』に思えてくるハラハラ感が良い。

最終的には女子大生が拳で解決。蘭姉ちゃんかよ。

オリンポスの郵便ポスト

2017年のラノベテラフォーミングが頓挫し、地球に見捨てられたた火星が舞台。そんな火星で郵便配達員として働く少女が、機械の体を持つおじさんをオリンポス山の頂上まで配達する話。

飄々として浮世離れしたおじさんと突込み役の常識人系少女のコンビは、まるでドラマ『相棒』の右京さんと亀山君のようだ。

郵便配達員が主人公の小説だけあって、所々で手紙ネタで泣かせに来るのが憎い。ヴァイオレット・エヴァーガーデンとか泣いちゃうもんね。

この火星は見捨てられた土地だ。ギャング組織などもはびこっているし、もちろん組織の中の人々も丁寧に描かれる。
正義側であれ悪役であれ、一人一人がこの地で生きる意味をひたむきに探している様子に胸を打たれる。

キネマ探偵カレイドミステリー

2017年のラノベ。天才的な頭脳を持つが絶対に部屋の外に出たくない映画ヲタクが、映画の知識をもとに町の事件を次々と解決する安楽椅子探偵モノ。ワトソン役である大学生が語り部

実在する様々な映画に言及されるが、見たことなくても大丈夫。

ラノベで大学生の男コンビが主人公というのはちょっと珍しいかな? この天才映画ヲタクはハウルのように超神経質な人なのだが、彼の挙動が面白い。

君と僕との世界再変

2018年のラノベ。原題が『オーウェルによろしく』だったらしい。典型的なディストピア小説のフォーマットをとっている。人間の価値が数値化された世界で、ただ一人数値がゼロである主人公が、生活のために町の汚れ仕事を請け負う中でこの世界の真相に迫る話。

世界観設定が上手いね。

葡萄大陸物語 野良猫姫と言葉渡しの王

2019年のラノベ。放浪の身になった主人公が、王家に雇われ、その家のお姫様に好かれる話。

お転婆を通り越して野生児味があるお姫様と、そのお世話役の女性の絆が美しい。
お姫様、いつもわがままばかり言っているのに、お世話役の女性が侮辱されたらキレて暴れ散らかすんだよ。
そしてそんな二人と主人公のかかわりも面白い。
そういえばこの座組、ハヤテのごとくと一緒だな。

ただのラブコメかと思いきや、「大国に囲まれた弱小なこの国をどうやって存続させるか」をかけた頭脳バトルが本当にアツい。

豚のレバーは加熱しろ

2020年のラノベ。まあ、僕がお勧めしなくてもすでに人気だけど。アニメ化されるらしいね。

ファンタジー世界に転生したらブタだったっという設定。
この時点で出落ちじゃないかと思ったが、そこからのストーリ展開がしっかりしていた。

主人公は、全く人を疑わなない無垢な少女と出会う。
彼女をとある場所まで旅させることができれば元の世界に戻れるかもしれない、という流れ。

純粋な少女の代わりにひたすら目に映るすべてを疑い、手を尽くして旅を成功させるシナリオは秀逸。

文章も非常に読みやすい。

ユア・フォルマ 電索官エチカと機械仕掛けの相棒

2021年のラノベ。これも大人気だね。本屋さんで面陳列されてるもんね。

電索官という刑事みたいな職業の女性が、相棒であるロボットとともに難事件を解決する話。女性の方が語り部になっている。

高慢チキな女性と、彼女を掌の上で転がすロボットの相性が抜群で面白い。

かなりSF色が強く、ストーリーにあんまり関係ないところまで設定を練りこんでいる点も好感。

2010年くらいの世界が技術的に楽しかった頃

要約

今現在プログラマーがかっこいい職業ということになったのは、
2010年頃に必要な技術が出揃ったからだと思います。

それまでは、例えプログラミングができたとしても、
それを使って社会に貢献するのは難しいことでした。
ソフトウェアで何かをするには、
プログラミングスキルだけでなく、それなりの予算と大きな組織が必要でした。

それに対し、2010年以降はプログラミングさえできれば社会に貢献しやすくなりました。

その頃に何があったのかについて話したいです。

きっかけ

自己紹介記事を書いていた時に思い出したのですが、
2010年頃って本当に技術的に楽しかったよなーって思いました。

主にAndroidとかが出てきた時期です。

一般的には1990年代の後半がITの転換期とされていると思いますが、
僕はこの2010年前後が一番のターニングポイントだったと思っています。

プログラミングというものの持つ意味が大きく変わったなと総括できると思います。

この文章の狙い

僕と同世代の方には、そんな時代もあったな〜と当時を懐かしく思っていただければと思います。

僕よりちょっと年下だったりプログラミングを後から始めた方におかれましては、
今現在のプログラミング界隈の当たり前というのは、
比較的最近形成されたものなのだと知っていただければと思います。

それまでのプログラミング

僕は昔からプログラミングができたのですが、
自分が作ったものを他の人に使ってもらう手段はほぼなかったです*1

だから、基本的にはプログラミングは個人の趣味でした。
プログラミングができるということとそれが社会との関わりになるということは全然別の問題でした。

今プログラミング能力が100の人が社会に与えられる影響が100だとしたら、
当時その能力値でできることは5くらいだったと思います。

そこからどのように個人のプログラマーにできることが広がっていったのか話します。 

この頃に登場・普及した技術

HTML5/CSS3とGoogle Chrome登場

Chromeが登場したのは、ウィキペディアによると2008年だそうです。
僕が使い始めたのは2009年頃だと記憶しています。

ここで初めて自分が作ったものを気軽に人に使ってもらえるようになりました。

それまで、Windows向けのデスクトップアプリとWebアプリでは表現力と性能に雲泥の差がありました。
しかしながら、デスクトップアプリを他人にインストールしてもらうのはハードルが高かったです。
だから、複雑なものはデスクトップアプリで作り、チープなものをWebアプリとして作っていました。

そこから、Ajaxやブラウザ戦争やHTML5/CSS3などの流れがあり、徐々にWebで本格的なアプリを作れるようになりました。
そして、Chromeの性能と普及率により、ついに何でもWebアプリで作ればいいということになりました。

僕はAudio APIを使ってみたときのことを覚えています。
iTunes的なものをWeb技術で作ろうと思ったのです。
出来たものを高校のクラスのみんなに使ってもらいました。
こんなに簡単におしゃれで便利なものを作ってみんなに使ってもらえるのかと興奮しました。

公平に言えば、それ以前にOperaFirefoxといったデキのいいブラウザは存在しました。
しかし、あまり普及していなかったので、それを前提にWebアプリを作るわけにはいきませんでした。
また、別の要素として、当時はPCの他にガラケーPSPのブラウザの利用率が高かったので、
Webアプリを作る時はそれらでも動くようにするべきということもありました。

Chromeの性能と普及率で初めてWebで本格的なアプリを作るという世界の扉が開いたと思います。

iPhone/Android

いくらプログラミングができても使ってもらう方法がないという問題のもう一個の決定的な解決がスマートフォンでした。

みんなが持ち歩く端末向けに自由にアプリを作って公開できるなんて革命でした。
しかも、カメラやマイクなど様々な機能にアクセスできました。

 

加速度がホントにJavaのコードから取れてびっくりしたのを覚えている。

この感覚、凄くわかります。

fushiroyama.hatenablog.com

 

なかでもAndroid

  • 開発にMacがいらない
  • マーケットの審査がゆるい
  • 野良アプリも配れる
  • 端末が安い

という点でiPhoneよりも大きな役割を果たしたと言える気がします。

Google App Engine

それまで、サーバーを借りることに大きな制約がありました。

サーバーホスティングサービスなどもありましたがお値段が高かったです。

なので基本的には共有サーバーを使っていました。
多くの共有サーバーでは、CGIは許可されていました。
プロセス常駐型のサーバーサイドアプリは使えませんでした。
そのため、言語の選択やアーキテクチャなどでとても不自由しました。

VPSという選択肢もありました。
しかし、アプリやOSやApacheなどのミドルウェアが落ちることもあり、
監視・復帰メカニズムを作ろうと思うとまた大変でした。

その点、GAEは安くてJavaが使えてサーバー運用が不要だったので、
簡単にアプリを公開しやすくなったと思います。

Wi-Fi/4G*2

ユーザーの端末が当たり前に高速ネット回線に繋がっていることが期待できるようになり、
ソフトウェア開発の幅がグッと広がりました。

PIC/Arduino/Raspberry Pi

PICなんて結構昔からあったらしいですね。
だから普及とは言わないと思います。

まあそれはさておき、この時期にちょっとしたハードウェアなら自力で作れるようになりました。

身の回りにタッチパネル製品が増えだした頃だったので、
逆にロータリーエンコーダーやトグルスイッチのような手触りがある入力デバイスのほうが親切な局面がありました。

例えば、僕が昔作った業務管理システムでは、

  • 画面上の特定の箇所をスクロールするためだけのロターリー
  • ある事件が起こると光って点滅するボタン(押すとそのページが開く)
  • あるボタンを押しながら喋ると、別室のスピーカーで音が出る

のような左手デバイスを作ったら喜ばれました。

NFC/Bluetooth

上と同じような話ですが、NFCBluetoothを積んだスマホが安価に手に入るようになったり、
NFCタグがどんどん安くなったことで、
物質世界と絡めたようなシステムを作りやすくなりました。

Dart/TypeScript/Kotlin/Swift/Go...

プログラム言語周りの発展も重要でした。

昔はWeb系ではサーバーでもフロントエンドでも動的型付け言語が主流でした。
それで困らなかったのかなって思うでしょ?
困ってました。

他にも、

  • まともなimport機構
  • 公式フォーマッター
  • 公式ライブラリリポジトリ
  • 依存管理機構

こういったものがちゃんと用意され始めたのもこの頃からでした。

更に、CI/CDサービスやSwaggerなどの開発効率系ツールも充実してきました。

単純にプログラミングの生産性も10倍くらいになった気がします。

何ができるようになったのか

これまでは、大きな業者に高いお金を払わなければ実現できなかったようなことが、
一人のプログラマーの力で実現できるようになりました。

例えば、飲食店のホールさんが持っているような端末についてです。
あるいは、倉庫や配達の現場で使うようなハンディターミナルでもいいです。

あのようなものを導入するにはすごくコストがかかります。
もちろん業者さんも意地悪をしているわけではありません。
ハードウェアが高いしSDKも高いのでどうしてもリース価格が高くなるのです。

しかし、Androidなら安くて簡単です。
端末は、Nexus 4なら5万弱、Nexus 7なら2万円弱で市販品を買うことができました。
アプリも自由に作れます。
その気になれば情シスさんが一人で必要な装備一式を作ることができました。
僕もよくそういうことをしていました。

このように、それまでは例えプログラミングができたとしても、それを使って会社の業務を良くしようと思えば大きな予算を獲得しなければいけなかった時代から、担当者一人でどんどん会社を改善していける時代になりました。

結論

あの時の、自分がだんだん強くなっていく感覚が楽しかったなーと思い出しました。

*1:ふりーむにゲームを投稿していました

*2:正確な普及時期とはちょっと違うようです

「フロントエンドエンジニアですか? サーバーサイドエンジニアですか?」と聞かれても困る

転職活動をしているとよく聞かれます。
果たしてこの質問にどの程度の意味があるのでしょうか。

前置き

もちろん、本人が好きでそう名乗っている場合は否定しません。
あるいは、特定のことがあまりにも得意すぎてしまう人が周りからそう呼ばれてしまうのはしょうがないと思います。

また、雇用の透明性の問題として、事前に求人する役割を明確にしておくべきだという流れはあり、
それに準じようとした結果そうなったのかもしれません。

とある求職者の気持ち

知らんがなって思います。

今までいくつかの会社で働きましたが、そんな役割分担はありませんでした。
また、『どちらをやりたいか』といった願望も特にありません。

確かに、その時によって主にサーバーを触っていた時期やフロントエンドを触っていた時期というのはあります。
しかし、それというのはその場にいる人や状況で決まったことであって、
特に僕のアイデンティティとは関係がありません。

そして、御社ではどのような人が働いていて、どんな技術的課題があるのかわからないので、僕が入った場合僕がどちらをやるべきなのか、こちらでは判断がつかないです。

正直言って、そういうのは出たとこ勝負で何とかなると思っています。
どうしても分類する必要があるということなら、そちらで好きに決めていただければいいのではないかと思います。

求人側の意見

実は、先日転職活動をしていた時にいろんな会社に聞きました。
ほとんどの会社が、「実はそんなに○○エンジニアをはっきり分けているわけではない」と言っていました。

いらないんじゃん。

先方が言うには、「求人サイトのフォームの都合でそうなっちゃう」ということでした。

他には「そこを明示しておかないと人が集まらない」という声もありました。
なるほど。
ということはそこを重要視するソフトウェアエンジニアも一定数いるということでしょう。

技術的な意見

まず、だいたい色んなことで共用できるスキルと、
特定のジャンルの技術というのはあります。

例えば、応用情報技術者試験の勉強をしましたとかは共用のスキルだと思います。
Reactが得意とかは特定の技術だと思います。

そして、そのどちらに投資しているか個人差はあると思います。

なので、


「ゼネラリストタイプですか? スペシャリストタイプですか?」
 スペシャリストです→「一番得意なのはなんですか?」

みたいな話の流れならいいかなと思います。

ただ傾向として、基礎を重視している人は特定の技術にも素早く対応できるし、
逆に特定のことに尖った経験がなければ基礎が積み上がっていかないということもあるでしょう。
だから、必ずしも対立軸でもないと思います。

また、例えば僕は競技プログラミングをしています。
僕はこれを基礎力の訓練だと思っています。
しかし、競プロを一芸だと思って練習している人もいます。
このように、何を持って基礎とするかが曖昧なので明快な話ではないかな〜という気がします。

組織論として

その組織が成し遂げられることの最大値は、最もそれが得意な人の得意さに依存すると思います。
なので、その分野のスペシャリストがほしい時は必ずあると思います。
そういう人を募集して厚遇するのは悪いことではないと思います。
エースです。一番手です。旗手。マタドール。

逆に色んなことができないとできない判断というのもあったりします。

総合的に言えば、『スペシャリストが数人でその他がゼネラリスト』みたいな組織が一番いいのではないでしょうか。

特定の分野のスペシャリストばかり揃えたり、『全員が何かしらのスペシャリストであれ』みたいな考え方はあんまり好ましいとは思っていません。
まあ、その辺りは各社の経営戦略なので口出してもあれなのですが……

個人的には、

  • 言語不問でちょっと複雑な問題を出してコードを書く速さと正確さを見る
  • 散らかってるコードを渡してリファクタリングしてもらう
  • こういう障害が起きたらどういう順番で対応しますかって聞く

などのほうがいい人を採れるのではないかと思っています。

類例:就活における個人的体験の話

ちょっと横道にそれまして、自分が転職活動で体験したことの話をします。

フロントエンドフレームワークを例に出します。
僕の実務経験量としてはReact>Angular>Vueです。

さて、内定をもらえる割合ははっきりとその会社が主に使っているフレームワークに相関していました。
同じくReact>Angular>Vueの順です。
多分20%ずつぐらい違っていたと思います。

もちろん、各社がどういう理由で合否を出したのかはわかりません。
なので、フロントエンドフレームワークの実務経験だけが理由ではないでしょう。

ただ、現にこれだけはっきり相関しているので、
「React経験多いから内定を出そう」「Vueは実務経験なさそうだから落とそう」という判断をした会社は必ず一定数いたはずです。

僕はちょっと微妙なお気持ちになりました。

Vueってそんなに難しいフレームワークなのでしょうか……
ReactやAngularをいっぱい触っている人でもキャッチアップできないようなものということでしょうか。
もし本当にそうなら、多分いまVueを使っているということ自体が巨大な経営リスクだと思うのですが……

正直『僕ならさらっとドキュメント読めばすぐ使えるようになるでしょ』と思っています。
やったことないけど。

同じように、似たような技術で片方しかやったことないとか両方やったことあるけど業務経験としては片方のみとかのケースで合格率が大きく変わることはが結構ありました。

気にし過ぎでは……

主張

始めに戻ると、僕の主張は

  • 特定のスペシャリストが必要な時はある
  • スペシャリティ以外の尺度もいっぱいあるはず
  • 本人が特定のスペシャリストを名乗るのは別にいい
  • 実質「〇〇の専門家」と思われても仕方ない人もいる
  • 自分のスペシャリティとか気にしてない人も結構いるはず

ということです。

それに対して

  • ソフトウェアエンジニアは、その人の持ち技術で分類できる
  • より細かくソフトウェアエンジニアを分類することで上手にマッチングできる可能性が高まる
  • その人の最も強い点の強さがその人の技術の総合力

というような考え方の人が多いなと思ったという話です。

残念だった点

事情をよくしらない人事の方がそういう勘違いで落としてしまったならまだわかります。
でも、落ちたタイミング的に、どちらかといえばソフトウェアエンジニアの人たち方が強くそういう価値観に染まっているような気がします。

残念だなーとおもいます。

疑問

ちょっと同業者に聞いてみたいな〜と思いました。
Twitterにリプでもしてください。

  • 自分は何かの分野のスペシャリストだと思うか?
  • スペシャリストだと思う場合、他の技術の仕事をすることにどの程度ポジティブか
  • 特定の分野に強くなれるなら似たような別の分野も上手にできるはずという考えをどう思うか
  • 逆に基礎がしっかりしていればだいたいのことには対応できるはずという考えをどう思うか
  • それ以外にこの記事を見て思ったこと

自分は何かの分野のスペシャリストだと思うかというのは、
「自分なんて○○さんと比べてorz」という話ではなく、
あくまでアイデンティティとして「自分は○○方面の人だ」みたいな意識があるかということです。

他の技術の仕事をすることにどの程度ポジティブかというのは、
もちろん合意の上という話です。
また、「本人がその分野に取り組んでみたいと思っていた」みたいな話でもないとします。