目標管理をうまく運用することができなかった理由を考える

人事評価の一部として目標管理を取り入れたことがあるけど、正直なところうまく機能しなかった。しなかったというのは言い訳で、どちらかというとうまく運用することができなかったという表現が正しい。この理由について振り返り分析をしてみようとおもう。

目標管理を取り入れた理由

  • 人事評価っぽい何かに取り組みたかった
  • スキル向上を促したかった
  • 社内教育システムの不足を補いたかった

なんかもう答えが出てしまっている感がハンパない。評価する側の思惑が強すぎて、評価される側の意見を取り入れていない。当時は人事評価システムの再構築が最優先になっていたようにおもう。つまり評価ありきの目標管理だった。

目標設定について気を付けたポイント

  • 目標が定量的であること
  • ゴールが明確であること
  • 期間が明確であること

数値化することを最重要視していた。これは評価する側にとってもされる側にとってもメリットがあるとおもう。そしてゴールと期間。この3つが揃うことでゴールまでの助走期間なのか、折り返し地点なのか、ラストスパートすべきときなのかが把握できる。

どれかひとつでも不明瞭な点がある場合は、目標設定の見直しをした。最も頭を悩ませたのは定性的な目標をなんとか(無理やり)定量化すること。このときにうまく定量化できず、目標が歪んでしまったりすると、その後の進捗に悪影響を及ぼしてしまっていたようにおもう。

進捗管理について気を付けたポイント

  • 定期的に進捗をヒアリングする
  • 必要に応じて方向性の修正を指摘する
  • 必要に応じて加速度の修正を指摘する

ほとんどの人は数週間で自分の設定した目標を忘れてしまう。なので、ちょくちょくヒアリングすることで本人の目標を再認識させてあげる必要があった。そのときに、設定したはずのゴールに対して方向がずれていたり、期間に対して遅れがある場合は指摘して修正を促した。

目標を達成できた人の特徴

  • 目標設定が最初から明確だった
  • ヒアリングしなくても自分から報告してくれる
  • 自己分析が冷静

非常にありがたい。日頃の業務では目立ったりするところのない人がコツコツとゴールに向かって行く姿には、こちらが教わることのほうが多かった。人を見る目があるとかないとか言う表現があるけど、自身の「人を見る目」なんてまったく役に立たないことを思い知らされた。

目標を達成できなかった人の特徴

  • 目標設定に時間がかかる
  • 目標設定したときが達成感のピーク
  • 取り組めていない理由として「時間がない」と言う

こういった人に目標を達成させるのが目標管理の醍醐味なのかもしれないけど、はっきり言って無理ゲー。やる気のない人をやる気にさせるというのはとてもハードルの高い行為であって、カリスマとかネイティブコーチの資質を持つ人が社内に存在するならその人に任せるべきだろう。

やる気のない人をやる気にさせる必要があったのか、というのも気になっている。目標をシンプルにして、うまく誘導することで自信を付けさせることもできたのかもしれない。

まとめ

  • やる人は放っておいてもやる
  • やる気のない人をやる気にさせるのは時間の無駄
  • 目標管理には安易に手を出すな

管理する側の力量に左右される部分が大きいので、一握りの予備知識だけで導入すべきではなかった。自分自身で目標管理してみて、その成功体験を分析して他人に伝えられるようになってからでも遅くはなかったのかもしれない。

macOS上の仮想環境Windowsで英語配列HHKBがどのように認識されるか

VMware FusionでWindows10を起動して英語配列のHHKBを使うとどうなるのか。前提として、ディップスイッチの設定は↓↑↑↓↓↓としている。詳細は以下のエントリを参照。

mckuraw.hateblo.jp

[半角/全角]キーはどこ?

英語配列キーボードの最初の壁は間違いなく[半角/全角]キーだとおもう。これは[Opt(Alt) + `]でIMEのオンオフを切り替えられる。きっとHHKBだけに限った問題ではないはず。

[Win]キーはどこ?

Windowsを使うとなるとさすがに[Win]キーのショットカットが必要になる。いろいろ試してみるとどうやら左右の[⌘]キーが[Win]キーとして動作するようだ。でもふたつもいらない。

[F1]~[F12]キーはどこ?

Visual Studioを使うにはファンクションキーが必須。[Fn]キーとのセットで[F1]~[F12]として使うには別のエントリで書いたような設定が必要になっている。

mckuraw.hateblo.jp

この設定をしておかないと[Fn]キーと最上段キーのセットがボリュームの上げ下げなどの制御キーとして動作してしまう。

まとめ

基本的にはWindows英語配列HHKBを接続したときと同じなんだとおもう。違いがあるとすれば、ディップスイッチをmacOS向けに設定したままWindowsで使わなければいけないというところ。改善したいのは[半角/全角]キーをmacOSのようにそれぞれ独立させたいことだろうか。

macOSでHHKBのファンクションキー(F1~F12)の動作があやしいとき

macOSでHHKBのファンクションキー(F1~F12)を使おうとすると、ボリュームの上げ下げなどの制御キーとして認識されてしまったときの解決方法メモ。

HHKBのドライバを再インストールしてみた

最初にHHKBを接続したときに間違いなくドライバはインストールしていた。念のためにアンインストールしてから再インストールしたが、それでも問題は解決しなかった。

https://www.pfu.fujitsu.com/hhkeyboard/macdownload.html

キーボードをカスタマイズするユーティリティーを使っていないか思い出してみた

MacBook AirのキーボードもHHKBも英語配列を使用している。つまり「かな」キーと「英数」キーが存在しない。ショートカットで切り替えることはできるが、独立キー一発で切り替えたかったのでユーティリティー系のソフトを使用していた。

HHKB購入以前に導入していたのは「⌘英かな」

⌘英かな

これで左⌘キーを「英数」キーに。右⌘キーを「かな」キーとして使用できるように設定していた。

その後、HHKB購入とほぼ時を同じくしてKarabiner-ElementsがHigh Sierraに対応したことを知り導入。

github.com

「⌘英かな」とはおさらばして、Karabiner-Elementsで左⌘キーと右⌘キーをそれぞれ「英数」キーと「かな」キーとして設定していた。

解決

さすがにこのあたりまで振り返ったときにKarabiner-Elementsが邪魔をしているのかもしれないということは何となく分かった。Preferences画面の[Functions Keys]を眺めると、すぐにそれっぽい項目を発見した。

f:id:mckuraw:20180101212716p:plain

Use all F1, F2, etc. keys as standard funciton keysという項目のチェックをONにして無事に解決。HHKBの一列目を標準のファンクションキーとして動作させることができた。この設定は変更した覚えがないので、おそらく初期値がOFFだったのだろう。

制御文字かどうかを判定する

文字コードが制御文字かどうかをサクッと判定する方法があることを今更ながらに知った。

Char.IsControl メソッド (Char) (System)

Char.IsControlメソッドというのがそれ。

ちなみにサンプルコードの

for (int ctr = 0x00; ctr <= 0xFFFF; ctr++)

この部分を

for (char ch = char.MinValue; ch <= char.MaxValue; ch++)

でいいんじゃないの?とコンパイルして実行したら落とし穴にハマってしまったのはここだけの話。

HHKB Professional Type-Sのディップスイッチ設定メモ

このほど英語配列のType-Sを買い増ししたのでディップスイッチの設定をメモっておく。

↑↓↑↑↑↓

こちらは職場での設定。Windowsオンリーでの使用を前提としている。IMEの切り替えが1アクションでできないのが悩みどころ。

↓↑↑↓↓↓

こちらは自宅での設定。macOSでの使用を前提としているが、仮想環境でWindowsを使うときもある。macOSでプログラミングをバリバリされているみなさんがControlキーと⌘キーを入れ替えているのかどうかが知りたいところ。

IMEの切り替えは Karabiner-Elements で左⌘キーで英数入力、右⌘キーでひらがな入力できるように設定しているのでWindowsよりも快適。

github.com

問題は仮想環境Windowsを使うとき。コレについてはあらためてエントリを書いてみたい。

C#の言語バージョンを変更する方法

Visual Studio 2017 で C# 7.2 の新機能を試そうとして次のコードを書きました。

var b = 0b_0000_1111;

ところがビルドすると次のエラーが発生しました。

CS8107 機能'先頭の桁区切り記号'は C# 7.0 では使用できません。7.2 以上の言語バージョンを使用ください。

そのままエラー解決してしまうと C# 7.2 に変更できるようですが、任意のバージョンに変更する方法が分かりません。

プロジェクトをアンロードしてプロジェクトファイル開いてみると<LangVersion>というエレメントが言語バージョンであることがなんとなく推測できます。しかし、直接編集せずになんとかする方法が何処かにあるはず。

なんとなくプロジェクトのプロパティ画面を眺めていると発見しました。[ビルド]タブの[詳細設定]ボタンでビルドの詳細設定画面を開くことができます。そこで言語バージョンを変更することができます。

f:id:mckuraw:20171217001314p:plain

Visual Studio for Mac の場合

では Visual Studio for Mac の場合はどうするのか。これもほぼ同じようにプロジェクトのオプション画面を開いて[ビルド][全般]のところに[C# 言語バージョン]がありました。

f:id:mckuraw:20171217000956p:plain

macOSのFinderでフォルダやファイルのパスをコピーする方法

Finderの「表示」メニューから「パスバーを表示」にすればパスを表示することができます。ただし、そのパスバーからパスをコピーすることができません。直感的にはパスバーからパスをコピーできるのがベストだとおもうんですけどね。

コンテキストメニューからパスをコピー

Finderフォルダやファイルを選択した状態でコンテキストメニュー(右クリックメニュー?)を開くと「xxxxをコピー」というメニューが表示されます。この状態でoptionキーを押すと「xxxxのパスをコピー」というメニューにグレードアップします。optionキーやればできる子。ただしoptionキーを押しながらコンテキストメニューを表示してもダメなようです。

ショートカット一発でパスをコピー

コンテキストメニューからだと手数が多いので、最短ルートを探求してみましょう。なんとoptionキーはコンテキストメニューだけでなくアプリケーションメニュー(画面最上部のメニュー)もグレードアップしてくれます。Finderフォルダやファイルを選択した状態で「表示」メニューを選んでからoptionキーを押してみると、グレードアップの内容が確認できます。頻繁に使う「command + C」をoptionキーと併用することで、アイテムコピーからパスコピーにグレードアップします。

というわけで、フォルダやファイルを選択した状態で「option + command + C」のショートカット一発でパスをコピーすることができてしまいました。

まとめ

optionキーすごい!