✌️

手が痺れるエンジニアを支える技術

2023/02/04に公開
3

こちらに触発されて「そういや俺も手が痺れて色々やってたしな、共有したろ!」と思い筆を取りました。
https://zenn.dev/ryo_kawamata/articles/a596e3325ba865

過去形っぽく書いていますが今でも油断して悪い姿勢で作業し続けると痺れが再現します。
ひどい時は無理せず休みましょう。

手の痺れの原因

手の痺れと一口に言っても原因は実に様々ですが、痺れている部位でどの神経が痛めつけられているかわかるので、それである程度特定することができます。
私の場合は主に手の外側、小指と薬指が痺れる範囲でした。

この範囲の場合、圧迫されているのは尺骨神経という神経のため、考えられる疾患としては肘部管症候群、胸郭出口症候群、頚椎ヘルニアのあたりでした。

引用: 尺骨神経とは?解剖・支配筋・感覚枝 https://www.doctor-1.com/archives/2110

色々MRIやらCT取っても確定診断は出なかったのですが、後述する分離型キーボードを導入してかなり楽になったこともあり、そこで解放される部分としては胸郭出口症候群な可能性が高そうです。
という感じでどこが原因となっているか、によって対処方法は色々変わってくるので、ちゃんと病院行って診断してもらったり、どこの圧迫で痺れが発生しているのかの検証をしていきましょう。正に障害の原因切り分けみたいな感じなので楽しいですね(?)

手を痺れから解放するための物理的なアイテム

まずは私の作業環境ですがこんな感じの仕上がりになりました。

肝は分離型キーボードです。肩が開きます。
私が使っているやつはもう生産終了しているみたいですが、こちらの Mistel BAROCCO というシリーズを愛用しています。

https://www.amazon.co.jp/MiSTEL-BAROCCO-メカニカルキーボード-PBTキーキャップ-MD600-BUSPLGAA1/dp/B07FK74QY5?th=1

あと以前はトラックパッドを使っていたのですが、痺れが出ながらの操作が辛かったのでトラックボールに変えました。手を全く動かさずに操作できるので非常に快適です。
ただ Figma のような無限領域を持ったツールを操作する時には若干面倒なのでそこが主戦場の方は要検討かもしれません。

ちなみに私が使っているのはこちらの MX Ergo というものです。

https://www.amazon.co.jp/Logicool-ロジクール-MXTB1s-bluetooth-筋緊張20-軽減/dp/B074Z71C2M/ref=sr_1_9?__mk_ja_JP=カタカナ&crid=2D9AWJ3V7IP3K&keywords=logicool+トラックボール+ergo&qid=1675512787&s=electronics&sprefix=logicool+トラックボール+ergo%2Celectronics%2C184&sr=1-9

肘サポーター

今では全く使ってないですが、肘サポーターを使ってました。
もはやスポーツ選手さながらです。

https://www.amazon.co.jp/Goosom-サポーター-スポーツ用-滑り止め-野球ゴルフなどスポーツに左右兼用/dp/B0BDVPS6DL/ref=sr_1_47?keywords=肘+サポーター&qid=1675512866&sr=8-47

ストレッチバンド

商品名はもはやわからないですがこんな感じのバンドを使って胸を開く運動をよくやってます。

手を動かさずともプログラミングできるようにする

そしてやはり有効なのはそもそも手を酷使しないこと、つまり手以外の方法で入力することやそもそもの打鍵量を減らす方向で模索しました。

Alfred 今なら Raycast か

言わずとしれたランチャーアプリたちです。
最小限の動きで操作しましょう。

https://www.alfredapp.com/

https://www.raycast.com/

ショートカットをいっぱい覚える

私の場合は主に VSCode や Figma 辺りでしたでしょうか。
手の動きを最小限にしましょう。

なるべく他のものから生成できるものはそうする

例えば デザイン -> コード だったり、API スキーマ -> コードみたいなところです。

特に API スキーマからコード生成は信頼性も高く便利なので、未導入の場合是非検討してみてください。

REST で OpenAPI を使っているなら openapi-generator、aspida、autorest などがあります。私は aspida がお気に入りです。

https://github.com/OpenAPITools/openapi-generator

https://github.com/aspida/aspida

https://github.com/Azure/autorest

GraphQL の場合は graphql-codegen という神ツールがあるので絶対に使ってください。

https://the-guild.dev/graphql/codegen

あとは自分の職場だけで使えればいい、汎用性の低いものなら割と時間がかからず自作もできます。私も過去記事を書いてみたので興味が湧いたら参考にしてみてください。

https://zenn.dev/seya/articles/070a375a5de62c
https://zenn.dev/seya/articles/105ab3e2864178

音声入力でプログラミング

まず試したことない方はやってみてほしいですが、現代の音声入力は中々優秀で、ほぼほぼ修正の必要のない文字列を出力してくれます。このため日本語の文章を書くときなどは積極的に採用してみるといいと思います。

Mac なら設定 > キーボード -> 音声入力 から実行の仕方が確認・変更できます。

ただプログラミングとなると話は別です。英語な上に途中から編集したり、記号も多数あります。
結論から言うと無理だったので諦めましたが、今では下記のようなサービスもあるみたいです。本当に困っている場合は修行してみると助けてくれそうです。

https://serenade.ai/

Eye Tracking で操作

また、フロント界隈では有名な Josh Comeau さんという方も昔肘部管症候群で手を動かさずにプログラミングする方法を模索していたようで、その時の記事がこちらなのですが、音声入力と Eye Tracking による操作を試していたようです。
https://www.joshwcomeau.com/blog/hands-free-coding/

Tobii 5 という視線がどこに注がれているかを検知できるデバイスを用意し、口で「ポッ」という音を鳴らしたらクリックを実行するようにしたみたいです。詳細は上記の記事内の動画を是非見てみてください。
https://gaming.tobii.com/product/eye-tracker-5/

ちょっとお高めなので私は購入には至らなかったのですが、普通に操作も速くて便利そうなのでいつか試してはみたいです。

おわりに

以上、私が手が痺れた時にやったこと・調べたことでした。
我々デスクワーカーは手が生命線感あり、ここが痺れるのは中々のストレスです。
ただ、これを機に楽をするために色々模索して今も役立っている部分はあるので、多少はポジティブな側面もありました。

脅すつもりはないのですが、私も発症してから4年くらい経っており今でもたま〜に気になるので、結構根本解決は長丁場になる可能性があります。悪化しない程度に仕事して無理せず付き合っていきましょう。
あと急性期などは場合によっては完全休養が必要なので、とりあえず病院にはしっかり行ってください!!

それでは健康なエンジニアライフを!

Discussion