コーディング方法を理解しています。私は定期的に使用する言語の基本を回避する方法を知っています。少し基本的な正規表現を書く方法を知っています。データベースとやり取りしたり、入力を受け入れたり、出力を印刷したり、ファイルを処理したりできます。ソースコードを吐き出す基本的な機能には、ある程度の確信があります。やや複雑なプログラム。
私の問題は、それで十分だとは決して感じないということです。自分の言語の標準ライブラリのごく一部しか知らないような気がします。それをすべて理解するまでは、少なくともついに、それを使って仕事に就こうとする権利すらありません。私は(コミュニティ/ジュニア/ whathaveyou)の大学を卒業しました。私の友達は業界で就職していますが、それでも私は偽物や難問のように感じています。
コードを作成できることを自分で確認するために使用できる「十分に知っている」という適切なマーカーはありますか?私は少なくともFizzBuzzをコード化することができるという事実を、物事を申し込んで問題がないことを示すものとしてとるべきでしょうか?これらの標準ライブラリ、フレームワーク、APIを比較的簡単に学ぶにはどうすればよいですか?私は定期的にコードを書いていて、本を読んでいますが、私の知識はまだとても浅いと感じています。
助けて!
私の推薦バディ:
バイナリ(0/1は知らない/知らない、読み書きができない/読み書きできない)の考えをやめ、あいまいな考えを始めます(ある程度知っています)。私たち全員が何かを、ある程度知っています。知識は連続体であり、誰もが最も文盲な人と最も知識が豊富で洗練された男の間のどこかに配置されます。 あなたは仕事をすることができますが、あなたのレベルとその下で。これがルールです。恐れるな。フレームワークのすべてを学んだ日を待たないでください。その日は私には到底ありません。 20年の経験を持つ開発者でさえも、新しいことを学ぶために本を読んでいます。プログラミングは非常に幅広いので、すべてを取得することはできません(または取得できない)。
作業環境に飛び込み、恐れないでください。何もできない日がありました。それは犯罪ではありません。それは私たちの仕事の一部です。あなたは知らない、学ぶ、あなたはその仕事をしようとする、そしてあなたはそれを成し遂げる。
あなたが今必要としているのは、これ以上の知識ではないと思います。むしろ、それは単に自信です。
幸運を
私はあなたがここで間違った質問をしていると思います、そしてあなたが私に少しの不当な心理学を許してくれるなら、私はあなたが少しの疑念と低い自信に悩まされているからだと思います。
自分を他人と大まかに比較するのをやめる
まず第一に、自分を他のプログラマーと大まかに比較することはできません。今見上げているロックスターでさえ、問題があるかもしれません(だらしない、もう一つのやり方、そして態度の問題)。だから、それらと比較するかどうか心配しないでください。代わりに、できるだけ多くのメンターを獲得し、可能な限りすべての知識を収集し、専門家を監視し、模倣することで、より良くなるようにする必要があります。
学ぶことを学ぶ
また、より良いプログラマーや学習者になるための最善のアプローチは、特定のことを学ぶことや、記憶によって理解することではありません。 IMO、暗記は最低の学習形式です。これは、Input-> Process-> Outputの重要な「処理」ステップが欠落しているプログラムのようなものです。質問で述べたような概念を自分に教えてください。プログラミングを広く理解することは、最も価値のある場所です。慣れ親しんだパラダイムの中で新しい言語を学ぶことは、問題解決の方法を学ぶことと比較すると、簡単なことです。
そして今、あなたより少しだけ年上の人からのいくつかの悪いアドバイスのために
私が青年期に犯した最大の間違いの1つは、自分が十分ではないと想定して他の人たちのためにすべての人の決定を下したこと、そして私の時間と才能は彼らの時間とお金に見合う価値がないということでした。私は常に自分の能力と才能を過小評価していました。これは大きな間違いでした。
あなたが理解する必要があるのは、適度にまともなプログラマーでさえ、毎日のジョーを平均化するための魔法使いのように見えるということです。彼らはあなたを嫌うかもしれませんし、地元のオタクにコンピュータの電源を入れる方法を常に尋ねなければならないことにうんざりするかもしれませんが、彼らがあなたが何をしているかについての洞察と理解が不足しているので、それがあなたにとってどんなに些細でシンプルに見えても、それは不可能です彼らへ。
人々はあなたの時間、才能、そしてエネルギーをあなたに支払います。私たちの業界には、座ることができ、(おそらく)基本的なプログラムを書くことができるという理由だけで殺している、絶対に恐ろしいプログラマーがたくさんいます。達成を通して自信を養うことでカードを正しくプレイし、スピーキングとボディランゲージを練習し、常に知らないことを探してクラフトを習得し続け、それらのことに向かって進んで理解を深め、最後にダウンプレーを停止します。あなたが開発したスキル.
あなたは素晴らしい態度を持っています! 成功するための基本的な要素の1つは、決して自己満足しないことです。決して落ち着かない。決して妥協しないでください。そうは言っても、方法を正確に特定することは非常に困難です(たとえば、タスクXを実行するための「ベストプラクティス」を知ることは、グーグルほど簡単ではありません)誰もが自分の意見を持っているからです)。
goodコードを識別する方法とその背後にある根拠(howおよびwhy)これについては、私たちの分野で評判の高い専門家のブログを読むことをお勧めします。あなたが探しているような考え方にあなたを。オープンソースプロジェクトへの貢献は、ディープエンドに飛び込む1つの方法でもありますが、他の人から学ぶ機会があります現在進行します。
質問に書き込んだ内容に基づいて、実際にコーディングすることができ、スキルと知識を向上させてもかまいません。
誰もが、それぞれの仕事において、初心者としてほとんど始めずに、経験とともに成長しなければなりません。
あなたの成長がどれだけ速いかはあなた次第です、誰もが異なる速度で成長します、唯一の重要なことはあなたが今自分にあまり多くを求めないことです。
まだ理解していないと感じても気にしないでください。すぐに写真が撮れるようになります。
あなたはできるだけ早く業界で働き始めたいと思うかもしれません。すでにコードを記述できるので、作業を開始できます。これは、理論が十分ではなく、練習する必要があり、解決するには現実世界の問題が必要だからです。
ライブラリコードの知識に関する懸念については、それを勉強し続け、ドキュメントを読み、それを使用する練習をしている限り、時が来るでしょう。このようなサイトも非常に便利であり、関連する質問に積極的に質問したり回答したりすると、より速く学習できます。
個人的なアドバイス:スパゲッティコードを実行する多くの人から本当に目立たせたい場合は、自分をプログラマーと呼び、ベストプラクティスを学びます。どの言語またはライブラリを学習またはコーディングしているかに関係なく、ベストプラクティスを学びます。これにより、多くの時間、バグ、不具合、頭痛が軽減され、より良いプログラマーと感じることができます。