15の一般的なプログラミング神話

こんにちは、ハブル。最近、プログラミング業界が習得した一般的なステレオタイプや神話について同僚と話し合いました。このトピックに関する既存の資料にもかかわらず、このアイデアをここに投稿する価値があると私は思いました。すべてのコーナー-猫へようこそ。







そのような合理的で論理ベースの専門職はあらゆる種類の捏造の影響を受けにくいようですが、開発コミュニティはまだ広く浸透している神話に出くわし、現実に浸透し始めています。これらすべての神話が真実である場合、プログラミングの世界は、高い数学能力を使用して昼夜を問わずコーディングする20歳のオタクのコホートのようなものになります。あなたがこの分野で働いているなら、おそらくこれがまったく当てはまらないことを知っているでしょう。ただし、開発者自身もいくつかの偏見を信じる傾向があります。それを理解しましょう。



1.優れた開発者は24時間体制で作業します



常同的思考に屈するのをためらうにもかかわらず、眠そうな目と手の中にエネルギッシュな男のイメージは、プログラマーの不変の属性として、頭の中ですぐに現れます。はい、これにはいくつかの真実があります-特にスタートアップに関しては、期限が近づいていると、スリープを犠牲にする必要がある場合があります。ただし、これは常に当てはまるわけではありません。



さらに、睡眠不足が生産性を向上させるのではなく、プロセスを阻害することを誰もが長い間知っていました。多くの開発者が家族、友人、および彼らの自由な時間に専念する可能性が高い個人的な事柄を持っているため、多くの開発者はこの状況に満足しています。このアイデアを深める代わりに、プログラミングコミュニティはワークフローを改善し、アジャイル方法論に従って目標設定に焦点を当てる他の方法を探す必要があります。「摩耗」の作業に満足している人はほとんどいません。これはプログラマーだけに当てはまるわけではありません。



2.コードをチェックする人が多いほど、バグは少なくなります



エリックS.レイモンドが発明した「十分な目ですべてのバグが表面に出ている」という格言は、オープンソースには開発者がレビューしてバグを修正できるという利点があることを意味します。オープンソースソフトウェアには、コードにバグを修正できないユーザーが、貢献したいユーザーよりも多いため、実際にはそうではありません。簡単に言うと、7人の乳母に目がない子供がいます。この状況での最善の解決策は、問題に焦点を当てたチームと優れたバグ追跡ソフトウェアを使用することです。



3.数学のスキルが開発スキルを決定する



はい、いいえ。どんな能力があなたの専門的成長の決定的な要因になるかを明確に言うことは不可能だからです。数学が好きでなくても、絶対的な成功は保証されません。ゲームを除いて、ほとんどの開発者は基本的な代数と統計のみを使用してコードの有効性を理解しますが、基本的な知識も含まれます。



4.開発者は天才です



プログラマーになるには天才である必要はありません。やる気と学習能力が必要です。エラーは専門能力開発の不可欠な部分であり、独創的な開発者でさえエラーを作ります。唯一重要なことは、それらをあなたのスキルを向上させることを可能にする有用なレッスンに変えることができることです。



5. 1つのことを習得すれば十分です



プログラミングの世界は光の速度で変化しています。つまり、常に何かを学ぶ必要があります。言語を1つだけ習得すると、遅かれ早かれ、柔軟なソリューションを必要とするデッドロックに陥ります。教育をや​​めると、停滞して競争力が失われるので、キャリアを通して自分を向上させなければならないことを覚悟してください。



6.言語Xの方が良い



真実は、開発全体に単一の万能言語はないということです。各言語は、この環境の特定のニッチを満たし、特定の目的のために設計されています。開発者は、JavaScriptを使用してインタラクティブなソフトウェアを開発する可能性が高く、C ++はタスクの実行速度に重点を置いたものに使用します。ある言語の別の言語に対する優位性についての議論は、それらのそれぞれが個人的な偏見とは何の関係もない特定のタスクに焦点を当てているため、単に無関係です。



7.数週間で言語を習得できます



私は初心者の熱意を殺すのが嫌いですが、数週間では十分ではありません。2週間から3週間で言語の基本的な教義を学ぶことができたとしても、残りの期間は、多くの強さ、忍耐力、および練習が必要になります。興味と忍耐がなければ、あなたは長い間十分ではなく、短期間に大量のスキルを習得することは不可能です。



プログラマーの仕事と医師の仕事の間に類似点を描きます。経験の浅い外科医は、プログラマーがすべての側面を研究する時間を費やさずに複雑なコードを書くことができないのと同じように、彼の後ろで良い実践なしに成功した手術を行うことができません。言い換えれば、優れた開発者は外科医と同じくらい筋肉の記憶を必要とします。



8.製品の生産へのリリース=プロジェクトの作業の終了



実際には、ソフトウェア開発が完了することはめったにありません。もちろん、管理者と開発者は、彼らが作成する大規模なマルチレベルソフトウェアが非常に長い間適切に機能することを信じたいと考えています。ただし、時間の経過とともに、修正が必要な新しい問題が発生したり、アプリケーションが変更されたり、新しい機能を追加したりする必要があるため、このプロセスは無限です。サポートとメンテナンスのコストを考慮し、競争力を維持するためのイノベーションに投資します。



9.プログラミングはコードを書くだけです



多くの人々は、開発者がアイデアをコードに変換するのは、それを書くプロセスで行われた決定の本質を理解せずに、単純にコードに変換すると誤って信じています。これは大きな間違いです。開発者は各段階で問題の抽象的な解決策を策定し、発生する可能性のあるバグを予測してから発生する必要があるため、問題に対する深い知識と理解が必要です。とりわけ、彼らは多くの非機能要件と設計の失敗に対処する必要があり、優れた開発者のみがそれらを追跡してチームに明確に伝え、独立して小さな決定を下すことができます。



10.プログラミングは創造的な活動ではありません



そのようなステレオタイプは、ほとんどの場合、この領域から遠く離れた人々の表面的なアイデアに基づいています。なぜなら、プログラミングの世界からのコード、アルゴリズム、およびその他の瞬間を書くことは、通りの一般人にとって、創造的活動とは異質であるように思われるからです。はい、論理と知識の科学的および技術的領域は間違いなくプログラミングの基礎と呼ぶことができますが、これはその創造的な側面を否定するものではありません。多くの開発者がコードを美しく設計し、構造化し、よりクリーンにしようとするため、これはある程度アートフォームと呼ぶことができます。これは創造的なプロセスに過ぎません。



11.開発者の社会的スキルが低い



多くの人々によれば、プログラマーは孤独であり、自分の自由時間を自分のコンピューターで一人で過ごす準備ができており、社会的コミュニケーションになるとすぐに、彼らは知恵を失い、外の世界から身を閉じる傾向があります。この神話は、最初のポイントに関連付けることができます。



ただし、プログラマーの立場は、他の人と同じように、あなたを社交的な嫌悪感にさせることはなく、性格特性に影響を与えることはほとんどありません。このステレオタイプに屈服して、多くのマネージャーは、コミュニケーションの貢献が過小評価されるような方法で開発者と対話します。すべての開発者は、独自の内的特性を持つ個人であり、コードを書くことを楽しんでいるからといって、人々を恐れているわけではありません。



12.若い開発者は自分たちを最高のスペシャリストだと考えています



多分それは年齢ですが、キャリアの早い段階で、多くの開発者は経験豊富な同僚より優れていると考える傾向があります。彼らは、古いプラットフォームを使用するよりも生産性が高く、価値があると信じている新しいテクノロジーを習得しました。実際、多くの開発者は成長しながら新しいテクノロジーを学びます(そうでなければ、競争して需要を維持するのは困難です)。また、教育を受けたばかりの卒業生は、重要な要素を見逃すことがよくあります。それは、時間だけに伴う経験の深さと幅広さです。



13.プログラミングは退屈です



退屈だと思うことに人生を捧げますか?答えは明白です、誰もが自分の興味の範囲を決定します。プログラミングは、建築、数学、言語が混在しているため、他のどのアクティビティよりも刺激的です。開発が退屈だと感じる人は、すべての機微を理解していません。しかし、開発者は開発が継続的なトレーニングであり、効果的な解決策を模索し、重要で有用なものの作成者のように感じる機会であることを知っています。退屈でしょうか?



14. 35年後、開発のキャリアは終了します



エイジズムはプログラミングの世界の非常に現実的な部分ですが、年齢はキャリアに終止符を打つことができるものではありません。同じ言語で立ち往生している、または新しいプラットフォームとテクノロジーを習得できなかった人々は、この神話の確認に貢献しています。



これは、開発者が35歳以降にプログラミングを完全にやめたことを意味するものではありません。多くの人が管理職に転職したり、自社を設立したりしています。他の人たちは、自分のキャリアを通じて自分の仕事への愛情を持って学び、成長し続けています。それは、最新の状態になり、変化に遅れをとらないことを望んでいることです。



15.開発者は商品です



多くの場合、開発者が作成するコード行が多ければ多いほど、それらの生産性は高くなると考えられますが、開発では問題が解決されません。安価なプログラマーを雇って、仕事も同様に行われると期待するのは愚かです。開発者は主に人々です。それぞれに独自の特別なスキル、個人の特性、知識があります。言語の場合と同様に、一部のプロジェクトでは、プログラマーは他のプロジェクトよりも優れていることが証明され、開発プロセスの効率に影響を与えます。



結論



あなたが練習中に遭遇したとんでもないステレオタイプについて聞くのは興味深いです(そして私はそれらの多くがあったと私は確信しています)。コメントにオプションを残してください。



All Articles