IDEの使用を開発者に納得させる[終了]


8

開発者がいるので、ジョン(現在試用期間中)を彼と呼びましょう(かなり小さな会社、約10人、開発者3人、そのうちの1人はこの会社で長く働いており、ビジネスプロセスを知っており、チームリーダーと見なすことができます)。 IDEをまったく使用したくありませんでした(テキストエディターを使用しています)。

このチームが取り組んでいるアプリケーションは、Spring Hibernateテクノロジースタックを備えた中規模のJavaアプリケーションであり、近い将来にそのアプリケーションの新しいバージョンを起動するための新しい機能をリファクタリング/追加します。

JohnがIDEを使用していないため、このアプリケーションでのIDEなしでのJohnのパフォーマンスは望ましくなく、チームリーダー(Billと呼ぶことにします)の想定によるものです。

ビルはジョンにIDEを使用するように説得しようとしますが、このアイデアは多くの抵抗を満たし、主な理由は「自分がしていることを完全に制御したいので、すべてのコードを自分で書く必要がある」です。

ビルはどのようにジョンにIDEを使用するように説得できますか?(ビルがジョンを会社の所有者からジョンのパフォーマンスに関するいくつかの不満からすでに保護しているという事実を考慮してください)

更新:ビルは、その試みが失敗した場合、もう一度ジョンを説得して説得することを決定し、ジョンにIDEの使用を強制せず、ジョンによって約束された機能が時間内に提供されているかどうかを調べます。


5
おかしい。彼は痛みを感じたいと思う。テキストエディターでCOBOLをコーディングするのに使用したことを覚えています。最初のIDEを体験したとき、私は浮気していると思いました。多分彼は同じように感じていますか?
TeaDrinkingGeek

53
彼の生産性が低下していることをどうやって知っていますか?生産性をどのように測定しましたか。また。テキストエディター(メモ帳など)を信じるのは難しいと思います。viやemacsのようなエディターですか。これらは両方とも、熟練したユーザーの手に委ねられた環境です。
マーティンヨーク

23
「一部のテキストエディタ」は、あなたが思っているよりもはるかに強力かもしれません。

6
vi / emacsを使用しているユーザーが、抽出メソッド、名前変更メソッド、インラインメソッド、ローカル変数の導入、フィールド/メソッドの移動などをどれだけ速く実行できるのか知りたいです。
artjom 2011年

6
@artjomka:思ったよりずっと速い。すべてスクリプト化できます。これらすべての自動化されたタスクは、IDEが導入された後にのみ発明されたと思います。
マーティンヨーク

回答:


46

あなたは多かれ少なかれすでに質問に答えました:

  1. 彼は保護観察中です
  2. 彼は十分に生産的ではありません

したがって、彼は次のことを明確に認識させる必要があります。

  1. 彼はもっと生産的である必要があり、さもなければ彼は試用期間を生き残ることができません。
  2. 適切なIDEを使用すると、優れたテキストエディターを使用するよりも生産性が高くなる傾向があります。
  3. 優れたIDEは、IDE内で使用可能なコード生成およびテンプレート機能を使用するかどうかに関係なく、作成したコードの制御を放棄することではなく、作業コードをより速く生成できるツールを提供することです。

彼の環境に適応する意欲の欠如も懸念されるかもしれません。


25
「彼の環境に適応する意欲の欠如も懸念かもしれない」。これは私にとっても危険信号であり、彼だけがここで試用期間を続けることはありません。
Binary Worrier

9
問題は、企業が好むほとんどのIDEが悪いものであり、コスト(つまり、無料...)のみに基づいて選択されていることです。これは通常、NetbeansまたはJDeveloper、あるいはEclipseのフレーバーを意味します。最初の2つは悲惨で、最後の多くは特に大規模なチームで発生します。これは、設定やプラグインなどの調整がEclipseで地獄になっているためです。
2011年

4
@jwenting私はあなたが何を意味するのかわかりませんが、Eclipseがそれを切り取らないほど大きなチームはまだ見たことがありません。もちろん、設定とプラグインは標準化する必要があります。これは簡単です。
biziclop 2011年

46
+1問題は、「ジョンは十分に生産的ではない」ということです。問題としてIDEに集中しないでください。
Andres Jaan Tack

1
「彼の環境に適応する意欲の欠如も懸念かもしれない」-IMOのほとんどの場合、経営陣は、通常の群れのメンタリティが批判的思考を持つ個人が疑問を投げかけるようなところを気にしない愚かなルールを施行します。経営陣は彼らの選択に疑問を投げかける人々を好まないので、ジョンは協力的ではないと主張して赤旗を掲げるかもしれません。
東僧侶

22

ビルはジョンに単純なテキストエディタを好むことは正しいことを伝える必要がありますが、残念ながら、Java + Hibernate + Springなどの言語+フレームワークでは、効率を上げるにはIDEを使用する必要があります。

私はジョンに少し似ています。IDEの使用は好きではありません。
ruby / python / bash / lispでコーディングするときは、IDEを使用しません。

しかし、Javaやフレームワークなどの低レベル/冗長言語を扱っているため、ヘルプなしではコードの閲覧が非常に難しくなっているので、IDEを使用しています。言語やフレームワークがよくわからない場合も同様です。

  • 使用する抽象化/パターン/フレームワークが多いほど、コード内を移動するのに役立つIDEが必要になります。
  • 言語が低レベル/冗長/不明であるほど、必要なコードの生成/検索に役立つIDEが必要になります。

使用するツールを効率的に使用するには、IDEを使用する必要があることを伝えます。ビルはまた、ジョンとペアプログラミングして、彼がIDEでいかに効率的かを示す必要があります。


2
ペアプログラミング用の++-IDEをあなたの前に表示するだけでは、誰かが何かをするのに便利なキーストロークを見せなければ役に立たない
Gary Rowe

6
Javaが低水準言語になったのはいつからですか。;-)
クレイジ

5
@Craige:「レベル」は相対的です。最新の動的言語と比較すると、Javaは高水準のライブラリーを備えた低水準言語です。
ハビエル

@Craige、必要に応じて「低レベル」を削除できますが、「詳細」は削除できません;)
David

それを除いて、十分に強力なエディターがあれば、あなたは間違っているかもしれません、そして彼はIDEでいるよりも彼のエディターでより生産的かもしれません。非生産的な開発者は間違ったことに大騒ぎしていることに気付くため、信念の主張(たとえば、ランダムIDEはviやemacsよりも生産的である)を主張しても問題はさらに悪化します。
David Thornley、2011年

12

IDEをプッシュするのは悪い考えです。私は、人々が使用できるツールのリストを用意し、彼に彼が使用するものを選択させるよりも、より尊重する解決策だと思います。

次に、実際の問題のパフォーマンスと生産性に焦点を当て、特定のプロジェクトが非常に時間がかかりすぎた実際の統計を示します。

目標が生産性の向上である限り、彼がコーディングに使用するツールに焦点を当てるのではなく、自分のソリューションを見つけさせるだけです。

私は多くの企業に入ってきましたが、90%がツールを購入する必要がなく、10%がツールを使用することを要求する限り、彼らは気にしません。

IDEをディスカッションの真の焦点にする場合は、IDEと彼のメソッドを完全に無視します。

本当の重要な問題に焦点を当てるのではなく、生産性、品質、パフォーマンス。

私自身、テキストエディターを6〜7年以上使用していますが、パフォーマンスに問題はありません。

IDEは役立ちますが、パフォーマンスに影響を与えない限り、それを使用することはプログラマーの選択でなければなりません。

私は個人的にIDEがemを使用しないのが嫌いで、より多くの人々が私にそれらを押し込むほど、私は失礼な気持ちになります。私は人々がどのようなツールを使用するかについて問題はありませんが、それは宗教や伝道のようなものです。

そしてそれは本当の問題である彼の生産性に対する非常に専門的でないアプローチです。

彼が質の高い仕事を彼の方法で提供する場合、彼はどのツールを使用するかを気にしますか?エラーがなく、品質が高く、タイムリーである限り。


11

IDEがジョンの問題であることを確認したかどうかはわかりません。ビルはジョンと少しの間協力し、彼を観察するべきだと思います。何が彼の生産性を低下させているのでしょう。彼がコードのフォーマットと関数の移動または関数の検索に何時間も費やしている場合、IDEが提供する種類のものを、必要な関数をどれだけ速く見つけてコードをフォーマットできるかを彼に示す必要があります。 IDE。これが欲求不満である場合、彼があなたにブロックを自動フォーマットするか、またはいくつかの不明瞭な機能をすぐに見つけたら、彼は喜んで屋根を飛び越えます。

ただし、効率が彼がグーグルをサーフィンしているため、または彼のアイデアをコーディング構造に定式化することに問題があるためである場合、IDEは彼を助けません。その場合、彼の分野を取り締まるか、彼が問題をより効率的に攻撃できるように、彼のアイデアをプログラムフローに図式化する方法を学ぶ必要があります。

編集:私の担当者はコメントするには低すぎるので、ここに投稿する必要があります。「彼を解雇させれば、彼は学ぶだろう」と言う人々には同意しません。一部の人にとってはこれでうまくいきます。彼らの仕事を失うことは彼らにショックを与え、彼らは本当に目を覚まして形を整えます。他の人は、通常は治療または福祉で終わる自己破壊的なスパイラルにスパイラルします。ビルは明らかにジョンのことを気にかけているか、ジョンは彼を助ける方法を尋ねるつもりはないので、彼を解雇させるだけのコメントと答えは、ビルが探しているものとは全く違うと思います。


1
同意する。JohnがIDEを使用していないために生産性が低下していることは証明されていません。なじみのない環境に移動すると、おそらく彼は生産性が低くなり、起動に不満を感じるでしょう。彼のパフォーマンスに焦点を当てます。IDEを使用しているプログラムと彼のペアリングプログラムを作成します(またはテキストエディターで彼とペアリングします、おそらくあなたも何かを学びます)。生産性の欠如の根本的な原因を見つけてください。彼のツールチェーンが故障して。
karmajunkie

3
雇用主がジョンに非現実的な期待を抱いていて、彼の業績が十分に妥当であることも完全に可能です。
Joe Internet

3人の開発者しかいない場合、他の2人がプレミアム燃料の高出力口径であれば、それも完全に可能です
Avatar_Squadron

8

失敗は素晴らしい先生です。ビルはジョンの保護をやめ、彼の決断を任せることができます。ジョンがそのために解雇された場合、うまくいけば、彼を雇う次の会社のより良い従業員になるでしょう。


3
失敗は素晴らしい教師かもしれませんが、確かに悪いビジネス戦略です-なぜこの会社は次の会社の従業員の教育にお金を払う必要があるのですか?
Ekkehard.Horner、2011年

5
@ Ekkehard.Horner:(a)生産性が低く、(b)非協力的な人を排除することは、悪いビジネス戦略でしょうか?
S.Lott

2
@ S.Lott:artjomkaの質問は、Johnを生産的にすることができる(会社にとって利益がある)ことを意味しています。解雇されるまでジョンを続けることを許可する以外に何もしないというポールブッチャーの提案は、お金を失う確実な方法です。
Ekkehard.Horner、2011年

4
@S ロット:人を訓練する(ジョン)にはお金がかかるからです。新しい人を見つけるにはお金がかかるからです。仕事をするために新しい人を訓練することはお金がかかるからです。人の解雇には費用がかかります。
pyvi

2
ビルはさらに一歩進んでジョンを解雇すべきだと思います。それ自体が起こるのを待ってはいけません...また、これがインタビュー中に発見されなかった方法に興味がありますか?
AviD 2011年

6

彼がIDEとそれが何をするかを理解していれば、彼は完全に制御されていると彼に納得させることができます。

これはにんじんです。

棒は彼が保護観察にいるということです。


6

私はIDE(javascriptのaptana)を使用していたと言わなければなりませんが、それは嫌でした。たくさんのコマンドラインツールを使ってgvimに切り替えて、とても幸せになりました。

もちろん、私は楽しみのためにelispでコードジェネレータを書くような人です。


4

ジョンのパフォーマンスは彼が使用しているエディターと関係があるとは信じがたい。私の職場ではほぼ全員が異なるコードエディター(Visual Studio、Source Insight、vim、SlickEdit ...)を使用しており、エディター/ IDEと作業パフォーマンスの間に目に見える相関関係はありません。


4

会社の標準IDEがある場合は、「このIDEは会社の標準です、それを使用してください」と一言で説明してください。

会社の標準IDEがなく、彼がIDEを使用したいという欲求が単にパフォーマンスを向上させるためである場合、それは次のとおりです。

  1. 開発環境の選択を行うという誤った仮定は、パフォーマンスの要因の多くになります
  2. IDEを使用するように彼に教えるための間違ったアプローチ

本当にIDEを使用して欲しい場合は、彼のパフォーマンスが標準に達していないことを伝え、次にIDEの使用がそのパフォーマンスの向上にどのように役立つかを彼に示すのが最善のアプローチだと思います。例で示すことは、私の意見でははるかに良い動機です。

そうは言っても、ここでの仮定は間違っていると思います。ほとんどのまともな開発者は、ほとんどすべての開発環境で生産性を発揮できます。彼が期待どおりに機能していない場合、根本的な原因はIDEではなく開発者にある可能性があります。


3

ビルは、チームリーダーとしての地位にもかかわらず、ビルにすべての人にIDEを使用させたいときにIDEを使用させることができない場合、チームリーダーに十分な権限がないという点で会社に問題があります。

そして、いいえ、人に与えられた仕事に応じて、その人は、使用中のツール、それらのツールに関する人の経験、および彼の全体的な能力(および全体的な環境、 Johnがアプリケーションサーバーから各ソースをプルし、IDEにロードし、編集し、再度アップロードするなどする必要がある場合、彼はsay VIを使用してアプリケーションサーバー上で直接編集するだけではるかに高速になります(そのエディターをよく知っていると仮定します)。 。


4
あらゆる種類のリファクタリングは、プレーンテキストエディタでは、リファクタリングを実行するように設計されたIDEよりも数桁遅い(エラーの発生は言うまでもありません)。
biziclop 2011年

3
@biziclop IDEは単なるツールのコレクションです。ツールのコレクションがそれ自体のツールよりも強力である必要がある理由はありません。リファクタリングツールはIDEの外部にも存在します。ツールを知ることで生産性が向上します。独自のツールを選択できるようになれば、いくつかのツールを喉に押し込むよりも生産性が高くなります。
daramarak

1
@daramarak IDEはそうですが、テキストエディタはリファクタリングツールではないということは、誰でも安全に同意できると思います。
biziclop 2011年

3
@biziclopは、単純なテキストエディターだけではリファクタリングツールではないことを確認してください。私のポイントは、単純なテキストエディターはリファクタリングの障害にはならないということです。好きなツールを自由に選択できます。
daramarak

@biziclop:いつからリファクタリング(そしてそれを行うためのヘルプを得る)が生産性の主なものになるのですか?月に1回程度、名前を変更したいときに本当に役立ちますが、私の生産性はそのせいではありません。
Mike Dunlavey、2011年

2

IDEを使用しないことは、彼がたくさん学ぶことになるので、とても良いことです。しかし、それはプロジェクトのコストにあるべきではありません。彼は、タイムラインに影響を与えずに仕事を終えることができると思ったときにそれを使うべきです。

私は彼が両方を行うことをお勧めします。それにより、彼は速く学ぶことができ、同時に問題に陥らないようにすることができます。

結局のところ、生き残るためにはパンが必要ですし、あなただけがボディビルダーになることを考えることができます。


IDEを効果的に学習しようとすることは、同様にフラストレーションの課題であり、多くの時間と労力を要します。IDEを使用すると、テキストエディターを使用しているときよりも数週間遅くなる可能性があり(彼が書いている言語に関する彼のコアコンピテンスに依存します)、その後数週間は(それがあったとしても)速くなりません。
2011

0

IDEの主な価値は、それがエディタであることではなく、デバッガであることです。デバッガの概念を理解していない人もいます。それらは印刷ステートメントでデバッグします。

Intellisenseやバージョン管理フックアップなど、他の機能がIDEの生産性を高めると思われる場合、さまざまな理由から、私はJohnに同意することができます。

しかし、printステートメントを使用したデバッグでは、(以前はそうでしたが)理解するのが難しいと感じます。


1
少なくともいくつかの目的で非常にうまく機能するスタンドアロンデバッガがあります。ここでそうであるかどうかを言うのに十分なJavaツールについては知りません。
David Thornley、2011年

printfを使用してデバッグを行う有名な開発者がいます。それが少し気難しい人であったとしても、なぜ他のものを使うように彼を説得するのに迷惑をかけるのですか?
jokoon

0

聞いてください、何かを使用している人がいます。他の人が他のものを使用しています。私はIDEとテキストエディターの両方が好きです。これらは2種類のアプリケーションにすぎませんが、結局のところ、実行されるタスクはまったく同じです。

「彼はテキストエディターを使用している」または「遅すぎる、彼はテキストエディターを使用しているため」と主張して彼を解雇したい場合は、続行しますが、本当に共謀する必要がありますか?あなたが彼をどのように説得できるかの戦略については?

ご存知のように、自由は「適者のみが勝つ」ではなく、「私がやりたいことをする」ことです。

あなたが民主主義に住んでいるからといって、大多数の人々の慣習を課すべきではありません。それはある種の迫害のように見えます

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.