Fanboysの取り扱い[終了]


14

私たちはおそらくこのような人に会ったでしょう。開発者は自分の言語が唯一の真の言語であり、それについて黙っていないこと知っているだけです。このような人のようにどのように対処しますか?私は誰かを怒らせたくありません(特に私の職場のファンボーイは上級開発者なので)。しかし、リポジトリに決して到達せず、他の誰も存在する必要がないというスローアウェイスクリプトを作成する必要がある場合は、自分で選択したスクリプト言語を使用できるようにしたいと考えています。

私はこれに対処しなければならなかったという考え:

  1. 笑って-「はい、たぶん言語Xが少し楽になりました。私はマゾだと思います!」
  2. それに合わせて-新しい言語を選択することに伴う生産性の低下に耐えられないので、私はこれを避けたいと思います。
  3. 言語を隠す-クローゼットプログラマになり、スクリプトを作成するときや何かを自動化するときにモニターを隠す。

この状況に対して何を提案しますか?


14
彼を無視するのが最も簡単ではなく、状況が発生するたびにわずかなプロフェッショナリズムさえ要求するでしょうか?
zxcdw

25
あなたは自分の選択を使用することを主張しているので、あなたは自分でファンボーイではないことを絶対に確信していますか?
ドックブラウン

11
@DocBrownイム公平ではないが、私はPerlの(私の選択)は、より良いそして、VB(彼の選択)テキストファイルを解析するのに適していることをかなり確信している
ダニエルGratzer

4
質問は、その男は本当にファンボーイ、別名、彼は1つのことしか知らず、それが「最高」だと思う理由に関して不十分な正当性を持っているのか、それとも彼は本当にとても良いのか、ほとんどの場合特定の何かを選択するのかそれは本当に最高の方法ですか?私は彼らが私よりもはるかに多くのことを知っていることに気づく前に、私は自分自身をファンボーイとしてラベル付けしたので、完全に非皮肉な方法でこれを求めています。
シヴァンドラゴン

8
@jozefg私は、非建設的で、おそらく意見のある主題をモデレーターとして残すことを嫌いますが、RubyからVBに大きく後退していませんか?
maple_shaft

回答:


14

問題から飛び出しているものはほとんどありません。

  • それは本当に使い捨てのスクリプトですか?もしそうなら、それが議論されているのは奇妙です。
  • 使い捨てスクリプトはそのままになりますか?制作の多くは、いつかは使い捨てのスクリプトになっています。
  • スクリプトが昇格され、システムへの統合が必要な場合は、スクリプトを書き直しますか?
  • 言語の選択は純粋に構文的なものですか、それとも別の分野の言語ですか?

私はファンボーイの部分を少し理解しています。なぜなら、私は一方から、選択したいくつかの言語を保護しながら、時々ファンボーイのように振舞っているからです。そして、私は新しいものを持ち込もうとする他のファンボーイにも対処しました。

この状況に関する私の見解は次のとおりです。

  • 新しい言語の場合は、ごみ箱に属します。
  • 業界で実証済みの言語である場合は、タスクに特化した言語を使用できます。
  • 非常に人気のない言語である場合、たとえそれが超クールで超高速であっても、ごみ箱に属します。

未知の言語で安全で高速なソフトウェアを作成する方法を誰も知らず、開発者が学ばなければならない落とし穴がすべてあるためです。愚かなスクリプトは20年以上サポートされるか、書き直される必要があります。20年以上にわたり、平均的なショップで少なくとも50人の開発者が変化しています。それぞれが新しい言語で少数の派手なスクリプトを書く場合、50の言語ランタイム、50の異なる専門知識がチームに必要であり、コードベースには50の言語でバグのあるコードがあります。また、一部の言語はWindowsまたはLinuxではサポートされなくなりました。また、24時間年中無休の予備部品を使用できない、パッチ未適用の10年前のカスタムサーバーが必要です。

また、VB、Silverlight、Dなどのデッド言語をサポートしたい人は誰もいません。コードベースがおそらく言語自体よりも長生きする場合です。


9
スクリプトの使い捨ての性質に疑問を呈するための+1。元同僚は、ほとんどの一時的な解決策は永続的であると指摘した。
マーマンズ

12
-1。すべての新しい言語を明確に拒否します。これは非常に間違っているため、残りのアドバイスを圧倒します。これはまさに、Cで巨大なレガシーコードベースを作成する方法です。競合他社はRuby(またはClojureなど)であなたの周りを走り回ります。不器用ではなく見事に成功するには、早く勝者選ぶ必要があります。
レックスカー

2
VB&Silverlightを「不人気」としてラベル付けする場合は-1。人気のない言語を長い間サポートしています... tiobe.com/index.php/content/paperinfo/tpci/index.html
deworde

3
Dは死んだ?特に、先週新しいバージョンがリリースされて以来、それは私にとってニュースです!-1 dlang.org/changelog.html
ゲイリーウィロビー

4
言語に明示的に言及する:悪い考え。
ナディールサンパオリ

16

彼は会社の方針に基づいてあなたが使用するものを決定しますか?彼にあなたのケースをアピールしてください。それでも彼がそれを決定しない場合は、黙って上司が使用すべきツールを使用して作業を行います。

あなたはそこでプレーするのではなく、そこで働きます。最終的にそれはあなたの手にありません。


彼があなたの上司でなくても、ここですべての角度を検討します。彼がFortranを知っていて、いつの日か彼のコードをすべて継承してくれたら、それを望みますか。まったく新しい言語をその場で一から学ぶ必要がありますが、それは非常にストレスの多い作業です。彼の側を想像してください。あなたはCobolを使用してスクリプトを書くかもしれません、そして彼はCobolを知らないかもしれません。

チームの大半が知っているものを使用してください。


6
「そこで遊ぶのではなく、そこで働く」+1
ファンキーブロ

1
ただし、必要な変更を行うための最初のステップは、それらが安全な環境で効果的であることを証明することです。
-deworde

9

「2.それで行く」

これが唯一の合理的な答えです。ここには素晴らしい機会があります。

  • 上級プログラマーのコメントを使用して、新しい言語を習得するために時間やコース、認定資格を支払うことを会社に奨励してください。最悪の場合のシナリオ:認定資格と言語の両方が履歴書を改善し、チームプレーヤーになるための良い推奨事項を得ることができ、どこかでより良い仕事に至るまで笑うことができます。

  • 学んだすべての言語からプログラミングに関する貴重な洞察を得ました。実用性の最も低い言語( XSLT )でもスイートスポットがあり、興味深い学習機会がぎっしり詰まっていた(そして、数年間私の請求書を支払った)。継続的な学習は、プログラマーであることの大きな利点の1つです。

  • すべてのクールなプロジェクトは、おそらく上級開発者のお気に入りの言語を使用しています。その言語を知っていると、それらのプロジェクトに取り組むことができる才能のプールにあなたを置きます。

  • おそらく誰かが特定の仕事を特定の方法で行うためにあなたにお金を払っています。他の応答はおそらく不服従であり、ひどく終了する可能性があります。

シニア開発者/アーキテクトは通常、ショップで使用される主要言語を選択し、全員がその言語を使用するようにします。このようにして、会社は特定のテクノロジーでナレッジベースを構築し、1人の従業員(あなた)が休暇を取り、他の誰かがあなたのコードを拾い、あなたがいなくなっている間にそれを修正できるようにします。また、会社は関連するトレーニングの才能を持ち込むことができ、人事部は履歴書でどの流行語を探すべきかを知ることができます。

彼の言語を学び、仕事に使うことでお気に入りの言語を効果的に擁護するために必要な政治的資本を蓄積します。多くの企業には、公式インフラストラクチャ言語とレポート用の公式スクリプト言語があります。彼の言語が優れているところと、あなたの言語が優れているところ、それぞれが不足しているところを示す長所と短所のリストを準備します。作成しているレポートなど、特定のアプリケーションのコンテキストでこのリストを保持する必要があります。彼と時間を計画し、個人的に、そして敬意を表して彼にリストを見せ、彼とそれについて議論する。彼の異議を書き留め、会議の後にそれらを調査し、あなたが良い反論を持っているなら、フォローアップ会議を計画してください。

幸運を!


4
しかし、本当にVBを学びたいのは誰ですか?
マイケルブラウン

ファンボーイはVBが好きですか?VBで良いお金を稼ぐことができると確信していますが、私のキャリアの中でそれから叫びました。私はまだオプション1または3が好きではありません。オプション4を追加します。履歴書を更新し、新しい仕事を見つけます。オプション5:Fanboyの履歴書を更新し、HIMに新しい仕事を見つけましょう!それがオプションではない場合、オプション2に関する以前のアドバイスが引き続き適用されます。
グレンペターソン

7

特定のコンテキストでは、別の言語がより実用的な選択であることを示します。

その人がC ++に情熱を傾けており、Webアプリケーションプロジェクトに取り組んでいるのであれば、それほど難しいことではありません。同様に、一部のコンテキストは関数型プログラミングに非常に傾いており、非関数型言語を使用することはあまり賢明ではありません。

ノート:

  • あなたと彼の好みの言語が非常に似ている状況を避けてください。

    たとえば、JavaがC#よりも「優れている」、またはC#がJavaよりも「優れている」コンテキストを想像することはほとんどありません。

  • 言語の選択は多くの場合主観的であり、いくつかの証拠に基づいた要素ではなく、開発者の以前の経験によってより多く説明されることを忘れないでください。

    たとえば、金融セクターに関連するアプリケーションを実行するように求められた場合、Haskellがより適切で本当にエキサイティングだと思っても、HaskellではなくC#を使用します。この選択の理由は、私がC#で長年の経験を持っているからですが、Haskellに関しては、いくつかのチュートリアルを読んだだけで、専門的に使用したことはありません。


1
Linqは一言お願いします。;)
sergserg

@ MainMa、C#がJavaよりも優れているとは限りません。ずっと速く動作し、多くの組み込み機能を備えています)))
superM

14
それはずっとファンボーイです!
フルーム

2
@superM:「高速」は主観的であるため、この議論には答えさえしません。組み込みの機能に関しては、Javaの組み込みの機能は私にとって非常に大きく見えます。
アルセニムルゼンコ

3
「[言語の選択]は、開発者の以前の経験によってさらに説明されます」-また、開発者の現在の職業上の目標、つまり「Xでスキルアップしたい(会社のドルで)」。
-funkybro

3

答えは2)そのままです。

  1. ファンボーイを黙らせる唯一の方法は、選択した言語に(ある程度)流fluentになることです。
  2. 生産性の低下は問題ではありません。あなたは先輩の要求どおりにやっているので、プロジェクトは生産性の変化に対応しなければなりません。
  3. 新しい言語を学習すると、脳の機能が向上します。
  4. 新しい言語を学ぶことについてオープンであることを学ぶことは、あなたにとってさらに良いことです。

それは、Win-Win-Win-Winです。楽しい!


3
これは、新しい言語がVBであっても有効ですか?
ナディールサンパオリ

Visual Basicを学ぶことで、その時点で選択した言語に固執していたら習得できなかった多くの有用なことを教えてくれました(正しく覚えていればCとPL1)
ドミニククローニン

2

答えは、あなたはそれに対処しないことです。彼らと議論することは、議論を彼らのレベル(彼らが経験であなたを打ち負かす場所)に引き下げるだけであり、彼らは心が近いので最終的には建設的ではありません。

彼らが彼らの言語に対して賛成または反対している議論を無視し、あなた自身の心を決めます。アイコンタクトを避け、単音節的に答え、沈黙が確保されたら新しい被写体に移動するなどの通常のテクニックを使用します。代わりにあなたの隣の人を困らせるためにそれらを訓練します。

ここでの課題は、ファンボーイが言語を自分のアイデンティティに関連付け、その言語に関連付けられた否定性が個人的なものになることです。攻撃または防御しないでください。無視してください。


永遠に無視することはできません。特に、その人があなたの選択した言語を使用するようにあなたを説得している場合
-superM

2

仕事で非常に少数のものは、本当に使い捨てのスクリプトです。どうしても必要な場合に備えて、このような多くのものをwikiまたはリポジトリに配置します。

私が共有のレベルより下にあると思うものでさえ、私のチームメイトはしばしば異なった感じがします。たとえば、.profileにrgrepエイリアスがあります。私はそのサーバー上の実際のrgrepにアクセスできないため、これは単にパラメーターを指定した検索ステートメントです。チームメイトが風に乗ってwikiでそれを望んでいました。はい、1行のステートメント。明らかに、実装言語についての議論はありませんでした-それはUNIXでなければなりませんでした。しかし、チームの他のメンバーが理解できることを行う必要があることを強調しています。

もう1つのスピンは、上級開発者がその言語を使用することについてあなたが知らない理由を持っている可能性があるということです。聞いたことがありますか?

両方の言語で同じスクリプトを一度作成して、なぜあなたの方が優れているのかを示してみてください。


1

あなたは試してみてください、カブリ。これは、ファンボーイが言うすべて(一部または全体)に同意することを意味しますが、特に指示がない限り、自分のことを行います。


1
あなたは正しい(原則として;)。
ヤニス

3
受動的で積極的ですか?
ゲイリーウィロビー

受動的攻撃的であることと、積極的な人々に対処するためのテクニックを使用することとの間には違いがあります。確かに、自己主張が教義に下がった場合、これは受動的-攻撃的行動に下ることができます。その場合、状況はとにかくひどいです...ので、最善の選択肢は去ることです。;
ピーターK.

0

受動的で攻撃的なオプション1,3は、より多くの感情的苦痛につながるので、2)あごに乗せてください。

道路に関するいくつかの一般的なアドバイス:4)上級者の話をよりスマートに聞き取れない場合は、言語/コンパイラの設計について独自の研究を行ってください。言語を選択して、考えがどのようになったかを学びます。機能、パフォーマンス、表現力の間のトレードオフは何ですか。他にどんなオプションがありますか。これだけで、非人間的なプログラミングの超大国が得られます。NBLを学びましょう、それは巨大になるでしょう。

他の人に意見を押して自分を表明すると、生産性とコミュニケーションが阻害されます。人々は感情的な衝動に屈することは役立つと思うかもしれませんが、それは彼らの不安に対する単なるバンドエイドです。

謙虚で親切に助言をし、自分自身を改善することは、技術的なレベルであなたの腸の気持ちを表現するのに驚くべきことです。気分が良くなり、物事が何であるかを見ることができます。批判を技術的な文脈に外部化するとき、怒るのは難しい。

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