プログラマーにうまくアドバイスする心理的テクニック【後編】
プライドの高いプログラマーに穏便に助言するための“心を操る”方法
直接的な要望や文句を提示せず、穏便に問題を解決するためには、プログラマーにどのような形で自分の考えを伝えればよいのか。具体例とともにテクニックを紹介する。
私の友人から「不備のあるソースコード群の結合に悩んでいる」という話を聞いた。私も過去に同じような体験として、テスト未実施のソースコードを結合しなければいけなかったことがある。このとき私は「テストコード(テスト用プログラムのソースコード)はどこにあるのか」と、そのソースコードを記述した同僚プログラマーに尋ねることで、遠回しにテストの必要性を伝えることに成功した。
実は私の勘違いで「テストコードは存在する」という答えが返ってくる場合もある。このときは私の思った通り、テストコードは存在しなかった。だがテストコードが実際に存在するかどうかよりも重要なのは、テストの必要性を同僚プログラマーに考えてもらうことだ。テストコードが存在しないことに同僚プログラマーが気付けば、引き継ぎのために必要な要素としてテストコードを作成してくれる可能性がある。
テストを想定せずに書いたソースコードをテストするのは難しいが、その問題はソースコードを受け取るまでは考えなくてよい。これをきっかけに、私が持論を提示することなく、同僚プログラマーは自分のプログラミングに対する認識を見直すことができた。
同僚プログラマーにテストを要求する権限が、自分にないこともある。その場合はソースコード引き継ぎの担当者に協力を求め、テストが完了していないソースコードを他のソースコードに組み込むと信頼性が欠けることを担当者に伝えよう。そうすることで、テストの要求に必要な権限を得た上で、あらためて構造とテストについて同僚プログラマーと話し合うことができるようになる。
プライドを傷つけずにアドバイスできる“心理的テクニック”
同僚プログラマーとの話し合いでは、逆の言い方をするとよい。解読困難な「スパゲティコード」(複雑で内容が整理されていないソースコード)を書いて悦に入っているプログラマーには、「あまり理解力のない私にも分かりやすいように、プロジェクトの基準に従って書いてほしい」と頼もう。例えば次のようなイメージだ。
「この243行目の関数は素晴らしいけれど、私には理解するのが難しい。これを分解して複数の小さな関数に分けるとどうなるか、教えてもらえないだろうか。この『j』はインデックス? 何か具体的な名前に変更できるだろうか。これはウィンドウハンドル(『Windows』でウィンドウを操作するボタン類に割り振られた番号)? よく分からないから教えてくれ」
これは職場での初歩的な心理テクニックだ。“人を操る”方法とも言える。私たちは日々のやりとりにおいて、可能な限り優しく、そして相手にとって親切な方法で人を操っている。例えば笑顔であいさつすることで、相手に幸福感をもたらす。良いニュースを先に伝える、あるいは伝えないことで、相手の心を目的に適した状態にする。自分の目的のために人の考え方や受け止め方を利用するのは、結果の差し引きがプラスになるなら、異常な行為や悪い行為ではない。
より良いプログラミングのために人を動かす心理テクニックを利用するのをためらう必要はない。正直なところ、怒鳴りつけたい相手にそうできないとつらいときもある。だがたいていの場合、怒鳴っても逆効果に終わる。建設的な結果を生み出したければ、気が済むまで相手をやり込めるよりも、目的を果たすことができる状況をどうすれば作り出せるのかを考える方が賢明だ。
TechTarget発 先取りITトレンド
米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
TechTarget発 先取りITトレンド
米国TechTargetの豊富な記事の中から、最新技術解説や注目分野の製品比較、海外企業のIT製品導入事例などを厳選してお届けします。
この記事の著者
関連記事
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Excel至上主義」の終わらせ方 丸2日の手作業地獄から情シスと現場を救うには
-
2
「Microsoft 365のセキュリティ運用」に関するアンケート
-
3
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
4
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
5
221人調査で分かった「情シス最大のストレス」は?
-
6
「Salesforceのテスト自動化ツール」に関するアンケート
-
7
IT製品の導入に関するアンケート「サーバ&ストレージ」編
-
8
「データストレージの活用方法」に関するアンケート
-
9
「AI時代の統合基盤・エンタープライズAI管理」に関するアンケート
-
10
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
ホワイトペーパーランキング PR
-
1
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
2
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
3
Windows Updateの通信集中で回線が逼迫、ネットワーク刷新事例に学ぶ解決策
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
標的型攻撃メールを見破るには? サンプル文面を例に傾向を解説
-
8
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
9
マンガで解説、1日で生成AI環境を構築できるワークショップの中身とは?
-
10
Dark AIが台頭する時代の新発想、「より高度なAIで対抗する」具体的方法とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー