Murga

個人的に言いたいコト・主張・気持ち。

オレオレ環境・オレオレ設定を極めすぎない

Webアプリエンジニア養成読本[しくみ、開発、環境構築・運用…全体像を最新知識で最初から! ] (Software Design plus)

Webアプリエンジニア養成読本[しくみ、開発、環境構築・運用…全体像を最新知識で最初から! ] (Software Design plus)

「キーボードは HHKB が使えないと仕事にならない!」とか、「Vim にこの設定入れておかないと使い物にならない!」とか、そういうの、個人的にはクッソダサいなと思っている。

勿論、「支給品のキーボードより自分の好みに合うキーボードの方が仕事がしやすい」とか、「その環境設定をしておくと効率が上がる」とかっていうことはとても良いことだし、そういう取り組みはやらないよりやる方が良いとは思っている。ただ、そうした「オレオレ環境」「オレオレセッティング」に完全に依存しきるのは逆に不便だろうな、と思うのだ。

一般的な SE の場合、3〜5年単位とかで常駐先が変わったりする。相手先の会社のルールは様々で、自分の好きなキーボードを持ち込んだり、ネットから好きにフリーソフトを落としたりしても問題ない会社もあれば、私物持ち込み禁止・ネット環境もないような会社だってある。前者のような自由な職場ならいいが、後者のような職場に異動した時に「アレがない」「コレができない」といったことでイチイチストレスを溜めて、「能率が下がった」と自分で思うのは凄く苦痛だと思う。

オレオレ環境構築はプライベートに留め、仕事としてやる時は「仕事用の控えめな環境設定」を考えるべきだろう。

「控えめな環境設定」とは、こんなことが言える。

キーボードに関して

  • 英字配列が好きでも、英字配列キーボードにこだわりすぎない。職場によってはキーボードの配列は選べない。日本語配列でも打てるように両方覚えておく。
    • 僕は支給されているノート PC 本体は日本語配列で、持ち込みで自分の英字配列のキーボードを使っている。PC だけ持って会議に出る時は日本語配列で打つことになるので、どちらでも能率が下がらないようにしておく。
  • 持ち込みキーボードも、HHKB とか RealForce みたいな「コダワリ」キーボードや、左右分離型の変形キーボードは避ける。支給されるキーボードは大抵、109 JIS キーボードだろうから、普段から一般的な配列のキーボードしか使わないようにしておいた方が、移行する必要が出た時にストレスが少ない。
  • AutoHotKey や Karabiner のような「キーリマップツール」は、導入できないこともあるので、使える場合も多用はしない。OS 標準機能で出来ること以上の設定は、今後異動した時に再現できなくなることがあるので意識しておきたい。

ついでにマウスに関して言うと、ノート PC を支給される会社でも、マウスは別途支給されたりすることが多い。ただ、その場合も副ボタンがいくつもあるような特殊なマウスは手に入らないので、自分でマウスを用意する時も2ボタン・スクロールホイール程度の、一般的な形状のマウスだけを選ぶようにしておいた方が良いだろう。

導入ツールについて

  • Windows パソコンが支給される会社のルールは様々なので、フリーソフトや便利ツールに頼りすぎず、OS 標準でできる機能をまず最大限に利用する癖を付けておこう。
  • 安易にキーリマップツールに頼るより、OS 標準のキーリピート速度を速めて入力速度を高めたり、標準的なキーボードショートカットを沢山覚えて多用できるようになったりしておいた方が、汎用性の高いスキル・知識になる。
  • 他に、極端な例だとこんな感じ : Selenium をインストールさせてもらえないような職場でも、VBScript は Windows 上で何の設定もせずに動かせる。ということは、WSH と ActiveX を活用して自作で VBScript を組めば、IE の自動操作は実現できたりする、といった感じだ。
  • Mac を使わせてもらえるような職場は、ネットに繋がっていないようなことは少ないかなと思うが、セキュリティのために社内プロキシを通す必要があったりするかもしれない。そうなると Homebrew 経由でのツールのインストールが出来ないこともあり得るので、やはり普段から依存するフリーソフトは極力少なくしておき、そのソフトがない場合の代替案を用意しておきたい。
  • Windows 環境の場合、GitBash や Cygwin すら導入されない場合があり得る。PowerShell についても、管理者権限が与えられず、十分に利用できないことがある。そうなると、シェル環境として頼れるのは「Windows コマンドプロンプト (Windows バッチ)」か、VBScript あたりになる。枯れた言語のスキルはいつまでも使えるので、できれば覚えておきたい。
    • コマプロの場合、cmd.exe の起動が禁止されていたりするが、バッチファイルの実行は許容されているようなグループポリシー設定が多い気がする。そういう時は「コマンドプロンプトもどき」のバッチファイルを用意しておけば、ある程度利用できると思う。
    • PowerShell は、PowerShell.exe の起動が禁止されていることが多いが、PowerShellISE.exe の方は起動できたりするので、管理者権限が必要でない処理であれば PowerShell ISE を使うことで回避できるかも。
  • Mac の場合も、zsh とか凝ったターミナル環境の構築はあえてしないでおき、標準的な Bash に慣れておいた方が、CentOS のサーバ作業なんかがあっても戸惑わないだろう。
  • 贅沢な IDE を使えるとも限らないので、「メモ帳」や「テキストエディタ」、コマンドラインなら vi を使っても同じ作業ができるよう、基本的な使い方はマスターしておきたい。Vi・Vim はカスタマイズしすぎないこと。

全体的に、OS 標準で入っている機能を最大限に活用することがポイントといえる。サードパーティツールは導入できないモノも出てくるので、代替スクリプトを OS 標準で利用できる言語で自作できるスキルが身につくと望ましい。

「あのツール・環境じゃないと仕事が出来ない」といった発言は、本人はギークアピールのつもりなのかもしれないが、周りからすると独りよがりで面倒臭い人材としか思えない。どんな PC でも自分のスキルで何とかできる、そんなエキスパートになっていきたい。

[rakuten:book:16859489:detail]