中尾ゆうすけ『これだけ!OJT(2010)』

これだけ! OJT

これだけ! OJT

後輩の面倒をみることになったので読んだ。そこそこ面白かった。

以下は引用と適当なコメント

PDCA」を実行するだけで、OJTはほぼうまくいく

OJTのゴールとは?(中略)まずは「自立」が最初の目標になるでしょう。

(中略)「自立」というのは、現在の業務範囲においてOJTリーダーの指示のもと、部下や後輩が自身の判断で業務を支障なく遂行できる状態です。

(中略)成長させるには、どのような業務を通じて必要な能力を身に着けていくのかを、すくなくとも2年から3年という長期的な視点で計画する必要があります。

ひとつの目標に到達したら、その次を目指します。(中略)一段上のステップに目標を置くときが、その人にとってのステップアップのときであり、実際には決してゴールではないのです。 

⇒まったくもってごもっとも。 なのだが、関係ないところでSI業界はそれすらままならない業界なんだなあと思ってしまった。

手持ちの案件に合わせて仕事をすると、どうしても育成はおろそかになってしまうし、かといって全社的な教育が現場に出るにあたって十分かというと… そもそも仕事の内容すらギリギリまで決まらないことも多い。そして何の意味があるか分からないスクショ職人作業を強いられることもある。

OJT計画書をつくります。それによって(中略)共通認識をつくります。関係者が同じ目的・目標をもつということです。

OJT計画書に記載すべき項目を簡単にまとめると以下とのこと。

  1. OJT対象者*1
  2. OJT実施期間
  3. OJT目標*2
  4. 対象者に求める能力、および現状の能力*3
  5. 能力向上施策*4
  6. 研修計画(OFF-JT)*5
  7. 能力評価*6
  8. 長期目標(OJT期間よりも長いスパンの目標。将来像をイメージ)
  9. コメント*7

ビジネスパーソンに必須の3つの能力

⇒以下3点とのこと*8。かっこ書きの中は私の理解。 それぞれの能力に大雑把に計画を立てて、徐々にブラッシュアップしていけばよい。

  • 管理能力(≒マネジメント能力)
  • 対人能力(≒コミュニケーション能力)
  • 専門能力(≒技術力)

目標はレベルとランクを決めて、能力を細分化し段階的に計画すると指導しやすい。

ランク(例);指示のもと⇒独力⇒主体的に

レベル;課内⇒プロジェクト内⇒対顧客

その仕事はなぜあるのか? どうして必要なのか? それを行うことで何になるのか?

⇒上記が仕事の原理・原則であり、これを教えることでOJT対象者は自ら応用して自分で判断しやすくなる。

口頭指示だけでなくマニュアルも用意する。

⇒なかなかできなくて困っている。とりあえず作ってブラッシュアップすればよいと書いてあるが、そもそもその第一版が手間がかかかる。簡単にマニュアルを作る方法はないものか……

*1:誰のための計画書なのか

*2:OJT終了後に対象者が、何のために、どのような能力を、どんなレベルで身に着けるか、を記載する

*3:このギャップが身に着けるべき能力。対象者と指導者の双方が共通認識をもち、合意すること

*4:いつ、どのような業務を通して、誰が指導するかを明記する。OJT目標をより1レベル細分化して記載するとよい

*5:IT業界はこのOFF-JTも豊富なので、業務に必要な能力に応じて活用する

*6:研修の結果を対象者と指導者の双方が確認して次のPLANを立てる

*7:指導者が記載する

*8:ロバート・カッツが提唱

分かりやすい資料を作るために読む本:高橋佑磨・片山なつ『伝わるデザインの基本』

誰でもそうだとは思うが、私も学校や職場でいろいろな資料を読んだり、作ったりしてきた。

分かりやすい資料は、スっと頭に入ってくる。それに対して、同じような内容が書いてあっても、ひどい資料はどこまでもひどく、正確に読み解くのに非常に労力を割かざるを得なかった経験もある。

ひどい資料を作りたくない、分かりやすい資料を作りたい、と思ったとき、改善する点は構成、文章など色々と考えられるが、最大の問題はデザインだと思う。パッと情報が頭に入ってくるデザインでなければ、詳細な内容の検討に至るまでに時間を要してしまうからだ*1

こういった資料のデザインに関するガイドは世の中に多々ある。昔から『ノンデザイナーズ・デザインブック』といった名著もあるが、今なら 『伝わるデザインの基本 増補改訂版 よい資料を作るためのレイアウトのルール』が最も良い本だと思う*2

この本は、以前ホットエントリになった伝わるデザイン|研究発表のユニバーサルデザインを基に作られており、デザインの基本を丁寧に教えてくれる。 この本の最もよいところは、デザインを構成する要素一つ一つを分解してルール説明した上でよい例と悪い例を挙げてくれるため、体系的に分かりやすい資料の作り方を学ぶことができることだ。

デザインを構成する要素

資料のデザインを構成する要素を網羅的にもれなく解説してくれており、困ったときにひとまずこの本を開けば、何らかの改善策が見つかるのでとても重宝する。以下は目次から抜粋。

  • 第1章 書体と文字の法則
  • 第2章 文章と箇条書きの法則
  • 第3章 図形と図表の法則
  • 第4章 レイアウトと配色の法則
  • 第5章 実践

伝わるデザインの基本 よい資料を作るためのレイアウトのルール:書籍案内|技術評論社より

ルール

上記であげてくれた要素に対して、「どうすればよいのか」だけではなく「なぜこうしなければならないのか」を一つ一つ丁寧に説明してくれるので、とても理解しやすい*3

良い例と悪い例

上の2点を抑えたうえで、これでもかというほどに良い例と悪い例が具体的に示されるので、わかった気になっただけでなく、自分の資料を作るときにも参考にできる。また、他人の作った資料のレビューをする機会があるなら、そういったときにもこの本を示しながら説明すれば効果があるだろう。

少なくとも私は、この本を読んで、デザインの構成要素ごとのルールを理解したことで、資料のデザインで「何が悪いのかわからない」ということはなくなった*4

関連情報

この本の中で簡単に触れられている「図解」をより詳しく知りたいのであれば、「[カラー改訂版]頭がよくなる「図解思考」の技術」という本もあり、より詳細に図解の効果や型を学ぶことができる。

また、プレゼンテーションをどうやって構成するか、という点では「プレゼンがうまい人の「図解思考」の技術」を読むと、図解を使ってプレゼンテーションのシナリオを構成し、どうすればスライドに落としていけるか学ぶことができる。

加えて、色覚バリアフリー(端的に言えば色弱*5の方に配慮すること)を考慮した色使いについては東京大学カラーユニバーサルデザイン推奨配色セットが参考になるだろう。
   


(補足)デザインに関するその他の本

デザインに関連してこれまで読んだ他の本についても比較のため簡単に記載する。

(1) ノンデザイナーズ・デザインブック

私が読んだことがあるのは初版。現在は新装増補版(実質第5版)も出ている非常に有名な本。新装増補版ではスライドやWEBデザインについても記載があるようだ。ただこの本は翻訳書であるため、例がほぼ英語を使ったデザインであることや、文章が翻訳調ですんなりと頭に入ってこない、という欠点があるため、誰にでもおすすめできる本ではもうないと思う。

(2) 学生・研究者のための 使える!PowerPointスライドデザイン 伝わるプレゼン1つの原理と3つの技術

大学生の時に読んだ。スライドデザインの改善例が豊富なので、学生には役に立つと思う。だた、扱っている範囲がスライドのみと限定的で、実例重視で体形的にまとまっていない印象があり、役に立つ人には役に立つ本という印象。

*1:そもそも資料に記載すべき内容がある前提ではある

*2:私が読んだのは初版だが、今は増補改訂版が出ている

*3:ある程度、説明に納得感をもって読み進めることができる

*4:品質を上げるために細部にこだわるようになったので、それはそれで時間はかかるし、改善のために内容に手を入れることになるのでまた別のところで悩むのだけれど

*5:色弱については、NPO法人 カラーユニバーサルデザイン機構の色覚・呼称が詳しい

『しないことリスト』(Pha)

しないことリスト

しないことリスト

自分用のメモ

  • 自分の生活に必要十分なものが把握できるようになってくると、特に物欲が湧かなくなってきてモノをあんまり買わなくなってきた。
  • 「たまにパーッと散財すると楽しい」というのは、その金額が高額かどうかよりも、普段とどれくらいギャップがあるか、という部分が重要だ。
  • 自分に必要なものを把握してそこにお金を使っておけばよいのでは。
  • 人間の記憶や認識というのは、頼りにならないものだ。気が付かないうちに現実を歪めて認識してしまっていることも多い。(略)認識や考えが偏らないようにするためには、思考を頭の中でグルグル回すだけじゃないくて、時々外にアウトプットするようにするといい。
  • 間違った方向に進み続けるよりは、早めに方針転換をしたほうが傷は浅くて済む
  • 現実を正しく認識して、取るべき対処を取りましょう、ということ?

  • 「だるい」⇒精神の未病的ななにか。

  • 自慢をしないほうが、人に反感や妬みを持たれないので得だ。
  • 自慢をするのがめんどくさい
  • ゆっくり十分眠れない生活は、どこか生き物として間違っているんじゃないかと思う。(略)寝不足で仕事をするなんてことは非人道的な拷問のようなものだと思う。
  • 総労働時間の規制とかできないんですかねー

  • 嫌な事、つらいことに耐えて頑張ることに意味がある⇒ただのマゾで個人の性癖。付き合うのは無駄。

  • なにかを変えたいときは環境を変えてしまったほうが良い。いくら気合を入れても、普段の環境のままではいつもの習慣に引きずられる。

  • 人間は気力や体力さえ十分にあれば、じっと何もしていない無為な状態に飽きてきて、自然と何か前向きなことをやろうという気持ちが湧いてくる生き物だからだ。
  • まずは休め、話はそれからだ。

  • 仕事に依存するのはよくない。不健全な状態が日常になるべきでない。

  • たまには何も考えずぼーっとする

  • 原理主義のように突き詰めると失敗することも多い

Powershellでいろいろな形式の設定ファイルを読み込む(*.properties, *.xml, *.json, *.csv)

主題の通り、Powershellを使用した設定ファイルの読み込んで変数に格納して使う方法のメモ。 日本語でググってもまとまった情報がないのでまとめる。

環境

PS C:\> #OSのVersion
PS C:\> "$((get-wmiobject win32_operatingsystem).caption) ($((get-wmiobject win32_operatingsystem).version))"
Microsoft Windows 10 Pro (10.0.10586)

PS C:\> #Powershellのバージョン
PS C:\> $PSVersionTable.PSVersion

Major  Minor  Build  Revision
-----  -----  -----  --------
5      0      10586  122   

設定ファイルの読み込み方

propertiesファイル

key=valueな形式のファイルから値を読み取る場合にはConvertFrom-StringDataコマンドレットを利用する*1

PS C:\> #設定ファイル($confPath)のファイルを読み込み、連想配列に変換する
PS C:\> $conf = Get-Content $confPath -Raw | ConvertFrom-StringData

PS C:\> #設定ファイル($confPath)の内容が連想配列(Hashtable)に格納されていることを確認する
PS C:\> $conf.GetType()

IsPublic IsSerial Name                                     BaseType                               
-------- -------- ----                                     --------                               
True     True     Hashtable                                System.Object                          



PS C:\> #keyに対応する値の取り出し
PS C:\> $conf.key
value

PS C:\> #key名に'.'が入っているときはエスケープする
PS C:\> $conf.'hoge.key'
value

XMLファイル

XMLファイルから値を読み取る場合にはxml型にキャストする。*2 *3

PS C:\> #変数をxml型に指定してファイルを読み込む
PS C:\> [xml]$conf = Get-Content $confPath

PS C:\> #型を確認するとXmlDocument型に格納されている
PS C:\> $conf.GetType()

IsPublic IsSerial Name                                     BaseType                               
-------- -------- ----                                     --------                               
True     False    XmlDocument                              System.Xml.XmlNode   

PS C:\> #読んでみる
PS C:\> $conf.catalog

book                       
----                       
{book, book, book, book...}


PS C:\> #配列要素は以下のようにアクセス可能
PS C:\> $conf.catalog.book[0].id
bk101

PS C:\> #こんな書き方でも読み込める
PS C:\> $conf = [xml](Get-Content $confPath)

参考

JSONファイル

JSON形式のファイルから値を読み取る場合にはConvertFrom-Jsonコマンドレットを利用する*4

以下のような設定ファイルがあったとする。

{ "Address": 0, "AddressFamily": 2, "ScopeId": null, "IsIPv6Multicast": false, "IsIPv6LinkLocal": false, "IsIPv6SiteLocal": false, "IsIPv6Teredo": false, "IsIPv4MappedToIPv6": false, "IPAddressToString": "0.0.0.0" }

PowerShell で JSON をファイル入出力 する - tech.guitarrapc.cóm

上記の読み込みは以下のように書ける

PS C:\> #ConvertFrom-JsonでJsonを変数に格納する
PS C:\> $conf = Get-Content $confPath | ConvertFrom-Json

PS C:\> #型を調べてみると、PSCustomObject型で格納される。
PS C:\> $conf.GetType()

IsPublic IsSerial Name                                     BaseType                                                          
-------- -------- ----                                     --------                                                          
True     False    PSCustomObject                           System.Object                                                     



PS C:\> #値へのアクセスはPowershellでよくある感じでOK
PS C:\> $conf.Address
0

CSVファイル

CSV形式のファイルから値を読み取る場合にはConvertFrom-Csvコマンドレットを利用する*5 以下のような設定ファイルがあったとする

value1-1,value2-1,value3-1
value1-2,value2-2,value3-2

上記の読み込みは以下のように書ける

PS C:\> #値の読み込み
PS C:\> $conf = Get-Content $confPath | ConvertFrom-Csv -Header "name1","name2","name3"

PS C:\> #Objectの配列に値が格納される。
PS C:\> $conf.GetType()

IsPublic IsSerial Name                                     BaseType                               
-------- -------- ----                                     --------                               
True     True     Object[]                                 System.Array  

PS C:\> #特定列のみ取り出す。
PS C:\> $conf.name1
value1-1
value1-2

PS C:\> #特定行のみ取り出す。
PS C:\> $conf[0]

name1    name2    name3   
-----    -----    -----   
value1-1 value2-1 value3-1


PS C:\> #特定の値へのアクセス
PS C:\> $conf[0].name1
value1-1

Delimiterパラメーターで区切り記号を指定したりできる また、Headerパラメーターを指定しない場合は一行目がヘッダとして扱われる。

※Import-Csvというコマンドもあるが、個人的にConvertFrom*でそろえたほうがシェルが読みやすいと思うのでこちらを推奨。

その他

整理してみた感想は以下の通り。

  • シェルの設定ファイル程度であればPropetiesファイルが直感的にかけて楽そう*6

  • JSONCSVXMLは、内容を構造化できるので、設定ファイルというよりはデータを扱うために使うとよさそう。

*1:互換性確認はしていないがpowershell -v 1 でもコマンドは存在する

*2:powershell -v 1 しても動く

*3:使用したxmlはMSのサンプル サンプル XML ファイル (books.xml)

*4:互換性確認はしていないがpowershell -v 3 以降でコマンドは存在する

*5:互換性確認はしていないがpowershell -v 1 以降でコマンドは存在する

*6:複雑な設定が必要ならXMLという手もあるが、そんな複雑なシェルは作るべきではないと思う。JSONCSVはコメントが入れられないのでダメ

Amazonビデオが‘7031エラーで再生できない with カスペルスキー

上記の方がおっしゃる通り、カスペルスキーのネット決済保護と競合していると思われ、一時開放すると使用できるようになる。

マネー・ショート 華麗なる大逆転

公開終了が近いレイトショーで鑑賞。

とても興味深い映画だったが、おもしいか、と言われると少し悩む。何とも言えない気分になる映画。

2007年のサブプライムローン住宅ローン危機をいち早く予見して、経済が崩壊する方に賭け、でかい空売り*1を仕掛けた人々の話。

ストーリー自体は周りが誰も信じない中、苦しみながらも自分の判断を信じて最後に勝利を掴むというもの。

劇中で描かれているモブの投資家、銀行家は最初は鼻で笑っていたが、最後には自身がしこんだMBS(Mortgage-backed securities 不動産担保証券)とCDO(Collateralized Debt Obligation 債務担保証券)というクソのせいで火だるまになる。自分の間違いを全く信じておらず、金しか見ないで、さも立派な仕事をしている面をしている彼らを見ると、観ていると金融屋が嫌いになると思う。

また、主役達もCDS(Credit default swap)を使って賭けには勝ったものの、単純に喜べるようなことでもなく、起こった事の大きさに圧倒されてしまう。この描かれ方は確かにそうなるだろうとは思うのだが、映画として2時間積み上げてきたものをどこにやってよいのか、私には正直わからなかった。 ただ、ベン・リカードが言ったように、もうけが出ている裏では国民の生活が犠牲になっている、ということなのだろうとは思う。

下記が原作らしいので、暇があれば読んでみるのも面白いかもしれない。

余談ではあるが、この邦題をつけた方は本当に映画を観たのだろうか。「華麗なる大逆転」はどこにもないと思うのだが……

関連

*1:原題はまさにそのまま「The Big Short」