「プログラミングの困難」に対処する方法は?[閉まっている]


18

だから、誰もがいつかこの人に出会ったと思います。誰かがあなたのプロジェクトやアイデアの風をつかみ、最初にいくらかの興味を示します。メソッドのいくつかについて話をするようになり、通常はこの頃にメソッドXの代わりに使用する方法、またはライブラリYを使用する方法を挿入します。熱心なオウムのように何度も何度も同じアドバイスを繰り返します。

個人的には、学習中に車輪を再発明したり、以前よりも悪化したとしても、単に楽しみのためにしたいです。しかし、この人は明らかに、そのような目的のためにユーティリティを再作成することを推測することはできませんし、伝統的なOOP慣行に厳密に従っていないものを試す可能性があり、完璧感以外には何も解決せず、自然に批判を汚します。それに加えて、彼らは最終的に彼らが片手でコーディングしたすべての信じられないほど複雑なものをリストすることによって彼らのアドバイス(遅延)を正当化し始めます(通常「私を信頼して、私はプログラムX 、 何とか何とか何とか")。

今、私はプログラミングの達人には程遠いです。たぶんそれほど上手ではないので、アドバイスと批評を大切にしていますが、アドバイス/批評には時間と場所があると思います。また、助けになることと自己陶酔することの間には大きな違いがあります。過去には、おそらくより強力なジョージカーリンスタイルの解雇を使用していたでしょうが、橋を燃やすことはもはや最良のアプローチではないと思います。

この種の言葉によるむち打ちに対処する方法について何かアドバイスはありますか?


10
私も「車輪を再発明する」のが好きです。これは、新しいテクノロジーを本当に理解するための素晴らしい方法です。それは、順番に、他の人とあなたを助けます。さらに、率直に言って、多くの場合、誰かのくだらないコーディングと不十分な文書化されたホイールを学び、維持し、変更するよりも、ホイールを再発明するのと同じくらい速いです。
GrandmasterB

31
車輪の再発明は学習に最適であり、強く推奨されます。ただし、重要なことを行う「実際の」コードについては、既存の試行済みのソリューションを選択してください。
ピーターボートン

6
「車輪を再発明する」ときに、「より良いマウストラップを構築する」ことがあります。
さびた

2
あなたは安っぽいホイールを作り、それが安っぽいものであることを理解し、それを行う方法を知っている誰かによって作られた素晴らしいものを見つけに行きます。

1
@Rusty、問題はマウストラップであり、ホイールではない;)
マシューホワイト

回答:


36

ただ話させてはいけません。キーボードの前に置いてください。「OK、見せて」というフレーズでそれを行う必要があります。私の経験では、ほとんどの打撃はそれほど素晴らしいものではなく、彼らが実際に彼らが言うことをしようとすると、それはうまくいかず、物事は本当に静かになります。


1
期待できます。正直なところ、彼らはおそらく私よりも優れたプログラマーですが、私は完全なd ***のライセンスであるかのように彼の能力を誇示している社会の鈍い人から学ぶか、同じ部屋にいるのは本当に苦労しています。
ピーターG.

1
彼らがあなたよりも優れているからといって、彼らが常に話していることを知っているという意味ではありません。
コンラッドフリックス

次にメソッドが発生したときに、メソッドを試してみます。ありがとう。
ピーターG.

2
語用論がキーワードです。
rwong

1
@PeterG。これはどうだった?

17

私は30年間プログラミングを行ってきました。私は「プログラミングの達人」だと思っている人をたくさん知っています。私の汚い小さな秘密を知りたいですか?私はいくつかの分野でほとんど能力がありませんが、それだけです。私ほとんど吸う

私は当時、いくつかの信じられないほどの天才と仕事をしてきました。表彰台に浮かぶ女優、彼女の共演者のような天才ではなく、燃えるようなIQ、資本Gの天才を持つ天才。ヘック、私はクヌースを読みました。

遅かれ早かれ一生懸命に仕事をするなら、あなたができる最高のことは、才能の幅と深さに比べて本当に取るに足りないことだと気付くでしょう。誰もがそのポイントに到達して、最も深い謙虚さ以外のものを逃れる方法を私は理解できません。

他の人に対する彼らの見解を支配し、彼らのやり方が何よりも正しい方法であると信じている人は誰でも、単に非常に良いプログラマーではありません。信じてくれよ。

私のアドバイス、あなたは正しい道を進んでいて、橋を燃やしていない。丁寧に聞いて、できる限り良いことをして、自分の道を進んでください。


「良いこと」を見るにはさまざまな方法があると思います。時々、私が行うプログラミングの種類をより多くの職人/商人に例えます。大きなブレークスルーになりますが、そのようなことをする人々は、いつもより挑戦的なものを求めているため、「通常の」アプリの構築に飽き飽きしています。とにかく私はとりとめがありますがあなたはまだ雇用主にとって非常に貴重である可能性があるため、いくつかの分野の
プログラマー

5

ほとんどの社会的状況のように、それは文脈に依存します。

この人が主役(コンテキストが職場である可能性が高い)である場合、彼らが選択したものとは異なる技術を使用するように説得できない限り、あなたは一種の馬鹿げている。うまくいけば、彼らは彼らのチームから批判を受けやすい。多くの場合、特定のアプローチがプロジェクトに適している理由について、事実に基づいた適切な根拠を提示することで、多くの場合それらに勝つことがわかりました。「それが行われるはずだ」という理由だけで(または他の馬鹿げた理由)、彼らが頑固であり続けるなら、とにかく見た目が悪くなり、あなたは少なくとも合理的であるように見えます。この場合は、carriers.soをチェックすることもお勧めします ...

この人があなたの仲間であるなら、あなたはそれをほとんど無視して先に進むことができます。より良いのは、特定のライブラリまたはアプローチを重視する理由を説明するように依頼することです。議論を通じて、彼らはあなたの制約が予想とは異なることを認識するかもしれません(例えば、生のペダルから金属への速度を必要としないので、「素晴らしい超高速ライブラリX」は必要ありません。依存関係を最小限に抑えることを目的としているため、「事前構築されたコンポーネントY」を使用したくない。また、彼らが提案していることのいくつかについて貴重な洞察を得るかもしれません。通常、このような状況では、私はほとんど自分の道を行くことになりますが、通常は、少なくとも彼らが提唱しているアプローチ/テクノロジー/ライブラリを調べて、役に立つ情報を収集します。

この人があなたの下にいるなら、彼らにバグを報告するように言ってください:)わかりました...多分それよりも少し建設的であるかもしれません(あなたが対処しようとしている人のタイプではありません!)何が起こっているのかを理解し、効果的にコミュニケーションします。

最終的に、その人が本当に妥協したくない筋金入りの猛者であり、オープンマインドでなく、学ぶことを気にしないなら、本当にできるのはそれを無視して、状況を最大限に活用することです。


私はおそらくまだ仕事に就くのに十分ではないので、それはすべて仲間の学生/オンラインの人々/などです。私は他の方法を学ぶのに問題はありません(実際にそれを高く評価しています)が、誰かにこれを試してみたいと言った後、アイデアがどれほど恐ろしいものであるかを彼らがレトルトすると、私はそれを失った気がします。回避が最善の方法かもしれません。
ピーターG.

2
ニックへ-私は一生懸命な仲間を無視しません。彼らはきちんとあなたの下でこっそりとあなたのイニシアチブを吹き飛ばす能力を持っています。ブローハードは政治的な傾向があるため、ダメージを与える能力を過小評価してはいけません。
luis.espinal

1
@luis「Blowhardsは政治的な傾向があるため、ダメージを与える能力を過小評価しないことが最善です」...可能であれば、これについて+100を差し上げます。そこに行って、それに対処しました。
ビル

1
@Peter G-学生の場合。それらを無視し、会話を停止します。彼らは時間内に移動し、あなたも移動します。雇用されている場合...あなたは全く異なるトラブルを抱えています。
すぐに

5

彼がこのように侵入する必要性を感じている理由を理解してみてください。

  • 彼はあなたが間違ったことをして会社のお金/時間を浪費することを恐れていますか?
  • 彼は不安定で、無関係であることを恐れていますか?
  • 彼はより良い解決策を提案することで助けようとしているのでしょうか?
  • 彼は、ソリューション空間を探求するというあなたの目標を誤解していますか?
  • これは彼の友好的な方法ですか?
  • Xを常に使用する必要があると誰かが彼に言ったので、彼は常にXを提案しますか?なぜ彼にそう言ったのですか?
  • 彼はXテクノロジーのセールスマンですか?

これらにはすべて異なる応答があります。

とのより良い理解あなたの「blowhard」が-彼のためにそのラベルを失うことから始める-あなたは一緒に仕事への道を見つけるために、より多くのことができるようになります。

また、これがなぜあなたをそんなに悩ませるのかも調査するかもしれません。彼の入力を無視したり、無害にそらすことができないのはなぜですか?


+1は、彼が持っている効果に気付いていない可能性があると考えているためです。私たちをいらいらさせるほとんどの人は自分が何をしているのか分からず、多くの場合、誰かが私たちの経験に基づいて言うことを解釈することになります。私たち以外誰も知らないこと。
ティムクラソン

2

関数型プログラミングモードに切り替えます。ほとんどの打撃ハードはJavaを知っており、それ以外は何も知っていません。そのため、HaskellやLisp、Rubyなどの奇妙な何かでそれらをヒットした瞬間、彼らは死んでしまうでしょう。


1

私は彼らにf ** k off (あなたが望むならもっと外交的な言葉遣いを使うこともできます)を言うか、単にそれらを無視します。私が言った以上の多くのオプションはありません。(殺人は機能しますが、合法性はロケールによって異なります。)


4
私は...状況に対処するための最良の方法厥とは思わない
TheLQ

1
外交的アプローチを試しましたが、それが好きではありません。叫ぶだけで気分が悪くなります。多くの場合、壁に穴を開けたいと感じましたが、通常は私よりもずっと大きいです(シャムが思い浮かびます)。そして、私のトウモロコシ茎6 '130ポンドの体格では、パイプクリーナーでボウリングボールを攻撃するようなものです。
ピーターG.

@Peter-これは私の側では厳密な答えではないので、削除することを検討しています
ChaosPandion

1
大丈夫だよ。とにかく人生にはもっと喜劇/皮肉が必要です。
ピーターG.

私はこれまで職場でこれまでにプッシュされたことはないと思いますが、これは恐らく極端な強迫観念を持つあなたの唯一の選択肢です。
-JeffO

1

なぜこの人の言うことを気にしますか?彼らはあなたの上司ですか?誰も気にしない?すべての仕事には、できればあなたではない男がいます。彼らはただ彼を好きではありません。彼らは理由さえ知らないかもしれません。しかし、それはまさに世界のあり方です。心を込めて、誰が気にします。あなたの肉のポンドを望み、彼の周りを少し叩くように聞こえます。


このような人のために働くのは難しいです。
すぐに

0

私の最後の職場にはこのような男がいました。彼は他の全員が取り組んでいる個々の個別のタスクについて意見を持っているだけでなく、彼はロールアップして「何をしているのか-私はただ興味があります!」と尋ねました。彼が割り当てられた彼自身の仕事に取りかかるのではなく、あなたが仕事を始めたときです。それは一つのことだ持つ私たちは、それぞれのビューを持って、かつ生産チームは、常に仲間からの有効な入力に開いている必要があります- -今、もう一度何かについて意見をしかし、個人が繰り返しにそれらを求めることで、自分の仕事オフの他の開発者を置くとき、それは全く別の見通しです彼らが成長することを期待して、彼らがしていることをやめて、彼らに説明してください会話の過程で、同僚に仕事を任せる代わりに持ってもらうことを提案する意見。

この特定の男が私に上記のことを試みたとき、彼のオープニングラインは「あなたは何をしているのですか?」で、彼が実際に何気なく尋ねている場合に備えて、私が始めたばかりのタスクの簡潔で丁寧な概要の要約を与えました痛みを伴う以前の経験から私が疑ったように、主題に関する長くてあまり啓発的な議論を求めるよりも彼の意図でした。私の概要説明への返信で、彼は続けて「わからない?...」と言いましたが、彼に私の意図をより詳細に説明するためにやっていることを止めることよりも幸せになることはないことを示唆する口調で、 「なぜあなた理解する必要があるのですか?」と言っただけで、彼は彼のトラックで死んでしまいました。

オフィスの他のすべての開発者は、私の質問に答えることができず、彼の席に不機嫌に戻ったとき、大声で笑いました。ここでの教訓は、これらの人々は常に市民的かつ冷静に、しかししっかりと対処するのが最善だということです。仕事への干渉を楽しまず、議論を開始する前に議論のテナーをとると脅している会話をニップした場合、これらの人々は一般的にあなたの思考プロセスを脱線させようとしてどこにも行けません。


私はそのアプローチが好きかどうかわかりません。チームの全員が他の全員が何をしようとしているのかを知る必要があります-アプローチとすべて。また、可能な場合、チーム全体が技術に関して貢献し、最良のアプローチを確保する必要があります。
11

私は同意しません-私たちは開発チームであり、ボルグではありません。委員会による設計は機能せず、開発者が単に交換可能な部品であるかのように割り当てを切り刻み、変更することもできません。私は確かに他の人が私の作品に敬意を表して意見や意見を提供することを歓迎しますが、上記のように、既存の意見を持っていることと、他の人に自分のやっていることを止めて燃やすように頼むことで他の人を単に退場させることを区別しますあなたに彼らのアイデアを説明する時間。一部の人々は自分の声の音を聞きたいだけで、この特定の開発者はそのカテゴリに属していました。

@orbling、私にスケジュールされた会議の理由のように聞こえます!

@ThorbjørnRavn Andersen:現代の世界では、大陸にチームを分散させていることがよくあります。スケジュールされた会議を達成することは非常に困難な場合があり、可能な場合は避けるべきものです。
11

@Orblingの答えは、開発者が同じ物理的な場所にいることについて明確に語っています。ただし、分散したチームであっても、常に混乱が生じないように調整する必要があります。

-2

「理解できないものは絶対に使用しないでください」という行でそれらをヒットします。

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