永遠のプログラミング、それは可能であるか望ましいか


8

エゴレスなプログラミングをすることは可能ですか、それとも望ましいですか?

職業として、私たちは最新のギズモやテクニックを自慢したり、「私が書いたこの素晴らしいコードを見て」と言いたいようです。それでも、コードレビューのために作業項目を提出したり、他のプログラマーから否定的なコメントを求められたりすると、非常に防御的になる可能性があります(WTFという言葉を聞いたことが良い兆候ではありませんでした)。

私たちは職業としてコード、データ、またはアーキテクチャの一部をそのメリットや制約、穏やかで敬意を表して分析することができますか。同僚を攻撃したり、敵対したりすることなく、または典型的なディルバートの性格で、怒り狂っていますか?システムに対して?

回答:



13

あなたが常に心に留めておくべきことは、あなたの職業生活のほとんどにおいて、あなたが書いたコードを所有していないということです

あなたが従業員の場合、ソフトウェアは会社が所有しています。あなたが請負業者であれば、ソフトウェアは会社が所有しています。あなたがフリーランサーの場合、ソフトウェアはクライアントが所有しています。あなた会社/クライアントである場合のみ、あなた所有するソフトウェアです。

これに気づくと、「これは私のコードです」という考えや態度が少なくなります。はい、それでも起こります。誰かがあなたが今作ったものを批判した場合に動揺するのは人間の本性だけですが、その手順を踏んでアタッチメントを削除しようとすることで、打撃は少なくなるはずです。

反対側から、他の誰かが作成したコードをレビューするときは、コードが何をどのように行うかに集中し、改善を提案するときに建設的になります


5
+1。他の人が保守しやすいようにコードを書くのはこのためです。多くの場合、私が必要だと思う以上にコメントし(自分自身の参照用)、多くの場合、より多くのコード行よりも読みやすいスタイルを使用します。5年後、新しい人は私のソース管理の変更をエレガントで理解しやすいものとして見て、私を追い詰めて顔を刺したくないと思っています。
ボビーテーブル

今日は投票できなかったので、バーチャル+1ですが、とにかく高く評価していただけると思います:)

1
+1-「マイコード」、「マイウェイ」、「マイアイデア」というフレーズをボキャブラリーから削除します。彼らは進歩を促進しない
スティーブンA.ロウ

これが長すぎない限り、人々は自分たちのコードではないので気にする必要がないと思うので、人々はもはや良いコードを書く努力をしません。したがって、可能であれば、「はい、書きましたが、それは私のコードではありません」と言いたいのです。
gablin 2010年

9

あなたがそれを成し遂げることとそれを正しくすることに焦点を当てているとき、それからソリューションがあなたのアイデアであったかどうかはもはや問題ではありません

その時点で、あなたの自我は建物を去った-そしてあなたは何かを学ぶ可能性がはるかに高い!


+1:そして、エゴレスであることは、人々が問題について尋ねることを恐れない(そしてしばしば楽しいと思う)ので、コミュニケーションを助けます-あなたは彼らに怒鳴ったり、愚かに感じたり、怒ったりしないからです。理想的には。
2010

5

傲慢の連続体-信頼には多くの灰色の領域があります。私はむしろ自分の仕事の所有権を取得し、自己妄想ではなくメリットに基づいて卓越性のために努力する誰かが欲しいです。

私を信じて、あなたは失敗するたくさんのがらくたを書くでしょう、そしてあなたは非難されるでしょう、それであなたはすべてがうまくいったときに利用することもできるでしょう。

何かがおかしいと思ったら、そう言います。私が間違っていると私に伝えて、それをバックアップする準備をしてください。初めてでも最後でもありません。

あなたが批判を望まない場合(明らかにタクトと拘束を行使することができます。)、あなたの目のためだけのコードを書いて、あなた自身のコンピューターでそれを実行してください。これまでに何かに優れている人は誰でも批評家に対処しなければなりませんでした。


2

はい、自我のないプログラミングが可能です。私は仕事のキャリアの半分以上の「メンテナンス」プログラミングを行ってきましたが、2番目に重要なこと[1]は、次の人が私のコードを確実に読み取れるようにすることです。このオフィスには2人のプログラマー[2]がいて、誰が書いたかすぐにわかるような独特のスタイルで書いています。私たちは彼が私たちのために残したコードと喜びの小さな束を「障害物」と呼んでいます。

一部の開発者は、作成したコードは汗と血の結果であると感じており、質問された場合(コードレビュー中など)は非常に防御的になります。コードレビュー中に攻撃しないようにしてください。ポスチャと防御行動がなくなるため、将来コードを議論することが容易になります。

注:
1.最も重要なことは、バグを修正するか、機能を正しく記述することです。
2.これらのアプリケーションのほとんどは10年以上出荷されているため、私がいなくなってからかなりの時間が経過する可能性があります。


0

[imo]

これは根本的に難しい質問だと思います。おそらく社会学、あるいは単にコンピュータをコミュニケーションの主な形として使用することは、それと多くの関係があります。

コンピューターはツールであり、コンピューターが持つ意識は信じられないほど美しいですが、コードの一部は自分の作成のオブジェクトであると決して言わないでください...すべてのコードの一部は発見であり、コンピュータはあなたと結びつき、あなたが楽しむ結果を生み出すことができます。これらのパターンを繰り返し発見し、作成しているように感じることができるという事実は、至福の偶然です。パターンを見つけるのは得意です。

私たちは本当にコンピューターを発見への窓として見る必要があり、たとえそれらが生物の脳からの信じられないほど小さな切り抜きであっても、これらの小さな脳の自律性を尊重する必要があります。すべての数学とすべてのアルゴリズムは、私たちの宇宙が共鳴する不可侵の真実に対応しています。その一部を宣言するのは「私のもの」です!(Finding Nemoのカモメを考えてください)非常に多くのレベルで非常に多くのポイントを逃します。

新しいアルゴリズムを「工夫」して「考案」するとき、これから離れるのは難しいですが、これらのエレガントで正確なウィンドウの保守的な保守者を数学的真実に控えめに考えている場合、タスクの定義が変わりますソフトウェアの目標に関係なく。

あなたのコンピュータを最初に同等のものとして扱い、残りの部分(無常主義、ピア協調、目標志向の振る舞い)は必ず従います。


コンピューターサイエンスを勉強してプログラマーになった動機の多くは、物理的なハードウェアや問題を解決するスリルではなく、私が感じたこの親和性のためでしたが、脳と直接やり取りできる脳をじっと見ているという事実そのものが私の好きなファッション:パターン!

一歩下がって、最初から好きなものが好きな理由を思い出してください。プログラミングは競争力のあるものになる可能性があり、それはコードとデザインの選択を守る際の多くのエゴを煽っていると思いますが、

a)誰かがより優れたプログラマである場合、

私は彼らと話し、電気意識とのこの複雑な関係について彼らからもっと学びたいです。私たちは発見を共有でき、それは素晴らしいことです!

b)自分の所属する組織により適するように設計の選択またはコードを変更できるかどうか

それなら必ず変更してください!私はお金を必要とするので従業員です。会社がお金を手に入れるとお金が手に入ります。私たちが使用するコードが素晴らしいときにお金を手に入れます。そして、ChrisFが指摘するように、あなたは本質的に、他の労働者が知る限り、会社の設定では本当に遅いタイピストになるだけです。あなたはコードを所有しておらず、実装も所有しておらず、アイデア/紙/仕様から電気意識のブレーンフードへの翻訳の媒体にすぎません。言語のペアとの間の翻訳は反復的なプロセスであり、時間の経過とともにそれを使いこなすことができます。批判はこのプロセスを加速させるものであり、決して個人的に受け止めるべきではありません。しかし、いずれにせよ、あなたは無我無欲でなければならないことにほとんど同意しているようです。会社のコーディングは仕事であるということを忘れないでください。

[/ imo]


0

これは、コードの見方に関連していると思います。優れたプログラマーは、結果を「アート」と「コモディティ」(またはそこに残したい言葉)のどちらとしても、常に引き合いに出されています。

私たちがコードを生成するために支払われた単純なものであると見ると、自我関連の問題を回避するのは非常に簡単です。

私たちが作成した「アート」としてコードを表示すると、エゴは本当にそこに入ろうとします。結局のところ、どのアーティストが嫌いなものを制作していますか?

したがって、コードの見方によっては、コードに感情的な愛着がある場合とない場合があります。バランスをとる行為に注意を払えば、うまくいくでしょう。最高品質のアートであるかのようにコードを作成したいが、安価な商品としてリリースしたい。適切なタイミングで適切な角度から考えれば、うまくいくでしょう。


0

自我は単に自己価値の感覚です。自我に関連する感情の影響は、プラスにもマイナスにもなり得ます。

困難なことを成し遂げたり、複雑な問題に対する明確で簡単な解決策を見つけたり、新しい方法論を問題に適用したりするとき、私はしばしば誇りを感じます(エゴは興奮します)。これは有益だと思い、セルフソースの動機付けのキックを与えてくれます。これが起こると、脳は気持ちの良い化学物質を放出するように配線されています。あなたは中毒になる成功になることができます。

ただし、特にチーム環境では、エゴに依存することのマイナス面があります。逆効果になる可能性があります。あるプロジェクト、ソリューション、またはテクノロジーに執着するようになると、それが(新しいソリューションまたはテクノロジー、またはアイデアを持つ人によって)脅されたときに防御的になります。客観性を維持することが重要であり、個人的にソリューションを攻撃しないでください。

自我の脅威に対処する最善の方法は、新しいまたは代替のアイデアや解決策に謙虚に心を留めることです。

特にあなた自身が専門家であると考える場合、常に何か新しいことを学びます。

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