web-dev-qa-db-ja.com

私は悪いプログラマですか、それとも誰もがこの気持ちを持っていますか?

私は物事をすぐに理解する傾向がありますが、Pythonでの2年間のプログラミングの後も、私は今でも(Flask)のように)私を驚かせます。コードでは、何が起こっているのかわからず、とても謙虚に感じられます。これが発生するたびに、それが発生する瞬間まで、絶対的な専門家のように感じます。その後、約2週間、完全な初心者のように感じます。

これは頻繁に発生しますか、それとも「優れた」プログラマーと見なされる前に、まだ学ぶべきことがたくさんあることを示していますか?

77
orokusaki

それを「フレッシュマンフィーリング」と呼んでいます。他の誰もが一緒に持っているようで、速く進んでいる、キャンパス内のすべての建物を知っている、苦労していないなどの場合。プログラミングにおいて、私は混乱し、不快で、締め切りに間に合うかどうかわかりません-それは恐怖です。

それが何であるかについての恐怖を認め、それを無視し、飛び込んで学び始めると、感情は消えます-一度に1つずつ各問題に取り組んでいます。

実は、私はそれを自分のゲージとして使用して、本当に学習していることを教えてくれます。たまにそれが感じられなければ、私は前進していません-私は停滞しています。

仕事をしているプログラマーの1人は、「快適さは敵です」というモットーを持っています。

あなたが話したい気持ちは、もっと良くなりたいなら、あなたの親友になることができます。

67
codeyoung

すべてのプログラミングテクノロジーを見るだけですぐに理解できるような立場になることはありません。そこが多すぎます。それは何十年にもわたる何百万もの個人の研究と知識の蓄積です。その時点で自分が自分だと思っていることに気づいた場合は、セラピストに相談して妄想について話し合ってください。

あなたが最も必要とする特性は、学ぶ能力と意欲です。それがあれば、あなたを超えるものは何もありません。

73
GrandmasterB

いいえ、これは悪いプログラマの兆候ではありません。常に学習している必要があり、一般的には、特定のトピックについて他に学習すべきことがあると想定する必要があります。

悪いプログラマーは、彼がすべてを行うための最良の方法をすでに知っていると信じている人であり、彼が何かを学ぶ可能性にオープンではありません。

32
Kirk Broadhurst

プログラマーとしての私の道の1つの定数は、常に学ぶべきことがもっとあるということです。それは決まり文句に聞こえますが、それは本当です。

だからといってfeelとはいえない。今でも、自分の人生で学べることのほとんどを学んだように。実は、去年その時を振り返ると、去年はまだまだ学ぶことがたくさんあると感じました。前の年も前の年も同じです。

あなたは常に学習している-本当に良いコードに身をさらすし、開発者は自分にそれを思い出させる素晴らしい方法です。

10
Fishtoaster

次の4つの段階に進む学習モデルがあります。

  1. 無意識に無能:あなたはあなたが知らないことを知らない。
  2. 意識的に無能:あなたはあなたが知らないことを知っています。
  3. 意識的に有能:あなたはあなたが知っていることを知っています。
  4. 無意識に有能:あなたはあなたが知っていることを知りません。

明らかにレベル1は問題ですが、そこから誰もが始めますが、すぐにそこから移行しました。レベル4でやるところに到達するまで学習します。既存のプラットフォームの別のモジュールやライブラリなどを使用すると、必然的に1または2(できれば2)に戻ります。これはnormalです。

(ところで、ステージ4は問題になる可能性があり、最新の技術に追いつくには失敗しがちです。)

9
Richard

図書館を散策しましょう。それがあなたを非常に、非常に小さく感じさせないなら、あなたはそれを手に入れていません。あなたがオタクの言葉でそれを望むなら、それはあなたの知識の実際の量ではなく、派生物についてのすべてです。何をやりすぎてはいけませんが、あなたが知っていることよりもあなたが学んでいることについてより良く感じることは問題ありません。何かを学んだis成果であるが、それが完全であるとは決して考えられないだけだ。

ちなみに、2年はあまり経験がありません。私は大学を卒業する前に(授業は数えませんでした)それ以上の経験をしましたが、それらの機会を得ることができて幸運でした。

7
Randall Schulz

私は20年以上コードのオンとオフを書いていますが、自分がスキルと専門知識に困惑していると思っていたときもありますが、常にもっと良い人がいることがわかりました。あなたが心に留めておく必要があるのは、あなたよりもずっと悪い、もっと悪い人がたくさんいるということです。ソフトウェアエンジニアリングは静的な分野ではなく、新しいアプローチ、手法、さらには言語も常に開発されており、それらすべてに対応することは不可能です。

通常私が座って、今開いたばかりのいくつかの新しいコードに戸惑いを感じているのは、コーディングのスタイルです。これは通常、プログラマーが問題空間にどれほど快適であったかによるものであり、私の経験上、快適さはより抽象的なコードに向かう傾向があります。コードの一部を開いても理解に至らない場合は、打ちのめさず、腰を下ろし、よく読んで、メモをとり(紙に書いて)、コードを手動で実行してください(時間がある場合)。 。理解がやって来て、それを理解する必要があるなら、あなたは良いプログラマになります! :)

4
Lazarus

これは私に起こります。その後、停止しました。進歩を止めて難しいコードを見なかったからではなく、結局とても上手になったからです。これは、私にとってC++で発生します。 Boost(ソースコード)は私を怖がらせません。

1
user2528

あなたが悪いプログラマであるかどうかはわかりませんが、私は自分自身を優れたプログラマだと思っています。私にとって、良いプログラマと悪いプログラマの違いは、仕事を成し遂げるための能力と方法論です。私が必要とするアプリケーションを適切に構築し、要求に応じて適切な変更を行うためにコードベースを維持できるBASICAプログラマーがいた場合、私は彼/彼女を優れたプログラマーと見なします彼/彼女はBASICAだけを知って、他には何も知りません。

ただし、謙虚さは、プログラマにとっても良いことの1つです。これは、常に学習する必要があるキャリアです。

1
tia