web-dev-qa-db-ja.com

コードモンキーであることの何が問題になっていますか? (または、コードモンキーとは何ですか?)

プログラマーは「コードモンキー」であることについて軽蔑的な方法で話す傾向があります。 「動作しないthere、あなたはただのコードモンキーになります!」。

私は2つの仕事の申し出があります。1つは小さな会社で、もう1つは非常に大きな会社(同じ給与)です。私の友人は、私が大企業でコードモンキーになることを私に伝えたところ、小さな会社が私を「コードモンキー」に変えるよりもやりがいがあることを直接経験から知っています。

「コードモンキー」と「本物の」プログラマの違いがよくわかりません。詳しく説明してください。私はプログラミングが大好きなので、コンピュータプログラミング(つまり、コードモンキー)の前に座っているという考えは悪くありません。プログラマーがプログラミングを楽しんでいる場合、「コードモンキー」とはどういう意味ですか?

37
Ben B.

Code Monkeyは、サルが簡単にコーディングできることを意味します

最下位レベルのプログラミングジョブを指す場合によく使用されますが、コーディング以外のことをしない人を指す場合にも使用できます。 UIの設計、アーキテクチャの入力、開発の決定などはありません

コードモンキーであることには何の問題もありません(私は自分自身をコードモンキーと呼ぶことがあります)が、コーディングをしているだけでは、チェーンを上に移動することはできません。ソフトウェア開発サイクル全体を理解する。

33
Rachel

「コードモンキー」は、創造性を必要としないコーダーを表します。そのようなコーダーは、クローンのフォームのような反復的で退屈な、しばしば退屈なタスクを実行し、ファイルされたものを変更します。

あなたが「本物のプログラマ」と呼ぶのは、実際にアプリケーションのロジックの設計に参加し、実際に仕事に創造性を使用する人でしょう。

22
vartec

少なくとも私にとっては、コードモンキーはコードを実際には考えずに単に生成するだけであり、「適切な」プログラマーはプロです。彼らはエンジニアリング技術を使用して、より高品質のコードを生成し、システム全体を認識し、より良い計画とより徹底的な設計を行っています。

たとえば、「適切な」プログラマのいくつかの機能は次のとおりです(ただし、貨物の信仰に注意してください)。

  • プログラマーは、コーディングだけでなく、ソフトウェア開発ライフサイクル全体にある程度関与しています。コードモンキーは、それらと協議して作成されたのではなく、それらにダンプされた設計または要件にコーディングしている場合があります。
  • プログラマーは、コードを書く前に広範なテスト(テストを含む)を作成します。彼らは、デザインを書く前に、デザインが優れている(高速、効率的など)とかなり確信しています。コードモンキーはすぐにジャンプします。デザインを実行するまで、デザインが良いかどうかはわかりません。
  • プログラマーは自分の作業を計画する責任があります。コードモンキーは、マネージャーに指示されたときに、マネージャーが指示したことを実行します。
  • プログラマーは、その創造性とスキルから個人として評価されます。コードモンキーは、コードを出力する交換可能なブラックボックスと見なされます。
  • プログラマーは順応性があります。彼らは自分のスキルをさまざまな分野、言語などに適用できます。コードモンキーは専門的すぎて、新しいフレームワークで作業しなければならない場合は道に迷います。
  • プログラマーは常に自分自身を専門家として成長させることを目指しています。コードモンキーは、スキルと経験の点で、現在の場所にとどまります。

ここでは、スペクトルの両端で2つのポイントを使用しました。ほとんどのジョブは、その中間にあると思われます。さらに、キャリア全体が同じ場所に留まることはまずありません。優れた企業は、トレーニングと専門能力の開発を通じて、従業員をプログラマの最後に向けて努力するでしょう。雇用主が最終的に「適切な」プログラマステータスをもたらす大学院の制度またはそれに類似したものを持っている場合、コードモンキーエンドでジュニアプログラマの仕事をする価値があるかもしれません。

16
Scott

"Code Monkey" 'code mon.key'(/koʊd//ˈmʌŋki /)

「コードモンキー」は、次のようなプログラマを表すために使用される軽蔑的な用語です。

  • 非常に単純であるか、または実際に問題がないと見なされるプログラミングタスクをプリフォームします。
  • 問題を解決したり、アプリケーションの設計に参加したりすることは許可されていません。

現在"real"プログラマーは、時々これらのタイプのコーディングをプリフォームすることもあります。

ただし、主な違いは、「コードモンキー」が他に何もする選択肢がないことです。

「コードモンキー」は、プログラマの位置 OR 能力を暗示するために使用できます。

6
Darknight

jargon file によると、コードモンキーは以下を参照できます。

  1. コードを細分化することしかできないが、ソフトウェアアーキテクチャ、分析、および設計のより重要なタスクを実行できない人。軽度の侮辱。多くの場合、プログラミングチームの最もジュニアな人に適用されます。

  2. 生活のためにコードを書く人なら誰でも。プログラマー。

  3. 管理上の決定に対する責任を否定する、またはそのような決定に共存しなければならないことについて不平を言う自己非難的な方法。 「なぜCOBOLでコンパイラーを作成する必要があるのか​​と聞かないでください。私は単なるコードモンキーです。」

Jonathan Coulton によるとコードモンキー:

  1. 彼らのコードについて不当な批判に直面した場合、彼らは批評家に対してかなりの怒りを築きますが、彼らの仕事のステータスを損なうリスクがあると、怒りを抑えられず、何も言わないでしょう(彼らはそうではないと主張しますクレイジー、ただ誇りに思っています。)
  2. フリトス、タブ、マウンテンデューが好きです。
  3. 見せたくない、または見せ方が分からないような敏感な面を持っている(大きな温かみのあるあいまいな「秘密の」心を持っている)。
  4. 彼らは、行き止まりの仕事をしていることを知っており、その仕事に来る代わりに、目を覚まし、コーヒーケーキを食べ、お風呂に入り、昼寝をするほうがましです。
  5. 彼らの仕事は「創造的な方法で実現する」ことだと自分自身を納得させようとしますが、深く掘り下げて、それがそんなにくだらないことだと知っています。
  6. 社会的な状況ではあまり良くありません。
  7. 考慮されているすべてのものは、まだ彼らの将来について明るい展望を持っています。

真剣に考えると、仕事でコードモンキーにすることはできません。

4
Robert

Pete Goodliffeの "Code Craft" には、プログラマーのタイプに関する章全体があります。 「Code Monkey」の意味のすべての側面は、他の回答で言及されています。私が強調したいこと(そしてGoodliffeのテキストが示していること)は、あらゆる種類の長所の短所を見つけることができるということです。仕事と性格によっては、「美しいコード」を作成してアイデア/コンセプト/計画を実現するチームのコードモンキーであることが望ましい/望ましい/フルフィルである場合があります。

3
Ekkehard.Horner

優れたプログラマーであるかぎり、どこに行ってもあなたは非常に優れたプログラマーになります。ところで、私の提案は、開発者になることです。コードモンキーであることに注意してください、それはあなたがあなた自身を築くか、会社があなたにそうすることを強いる関係です。コードモンキーであるということは、単純なツールやテクノロジーにこだわるだけで、マイナーなことを1つのモードで開発し続けることができるということです。最初の仕事が、より大きな会社、たとえそれがしばらくの間あなたを猿レベルに保ち、会社が大規模であるなら私を信頼していても、あなたが一生懸命働いたら、あなたはコードゴジラにきっと来るでしょう!!!あなたの友人が会社が大きいと言って、あなたがコードマネーのやり方で守られるなら、彼は間違っています。企業は、産業規模の大きな問題に取り組む傾向があり、より大きな設計および開発の問題に取り組んでいるため、大きく成長します。中小企業がそれを行うことはめったにありませんが、これは、中小企業が成長しない、またはあなたが数ヶ月でチームリーダーになることを意味しません。私たち全員のように、あなたははしごを登ります。

0
Wajih