言語の標準フレームワーク/ API /機能をどのように学習しますか?[閉まっている]


14

コーディング方法を理解しています。私は定期的に使用する言語の基本を回避する方法を知っています。私は少し基本的な正規表現を書く方法を知っています。データベースと話をしたり、入力を受け付けたり、出力を出力したり、ファイルを処理したりできます。やや複雑なプログラム。

私の問題は、それが十分だとは思わないということです。私は自分の言語の標準ライブラリのごく一部しか知らないように感じます。少なくともすべてを理解するまでは、それを使って仕事を得ようとする権利さえありません。私は(コミュニティ/ジュニア/ whathaveyou)大学を卒業したばかりで、友人たちは業界で仕事を得ていますが、それでも私は偽物や物差しのように感じています。

「十分に知っている」ための適切なマーカーはありますか?少なくとも、FizzBu​​zzをコーディングすることができるという事実を、物事に申し込むことは大丈夫だという指標として採用すべきでしょうか?これらの標準ライブラリ、フレームワーク、APIを比較的簡単に学習するにはどうすればよいですか?私は定期的にコーディングし、本を読んでいますが、私の知識はまだとても浅いものです。

助けて!


3
学べば学ぶほど、自分がどれだけ少ないかを実感できます。非常に良い質問のために+1。
-devnull

覚えておく価値があるかどうかはわかりません。結局のところ、検索可能なドキュメント、スマートIDEなどがあります。重要なこと、基本的な知識、すべての揮発性APIを外部に保持するために脳を活用することをお勧めします。
SKロジック

I feel like I only know a small portion of the standard library of my languageこの文は公式のC ++モットーである必要があります。
ZJR

回答:


8

私の推薦仲間:

バイナリ(0/1、知識/知識なし、非識字/文盲)の思考を停止し、あいまいな思考を開始します(ある程度知っています)。私たちは皆、何かをある程度知っています。知識は連続であり、誰もが最も非識字の人と最も知識のある洗練された人の間に位置しています。あなたは仕事をすることができますが、あなたのレベルとその下で。これがルールです。恐れてはいけません。あなたがあなたのフレームワークのすべてを学んだ日を待ってはいけません、そして、私見はその日は決して来ません。20年の経験を持つ開発者でさえ、新しいことを学ぶためにまだ読んでいます。プログラミングは性質が非常に広いため、すべてを手に入れるべきではありません(またはできない)。

作業環境に飛び込み、恐れることはありません。私たちは皆、何もできない日がありました。それは犯罪ではありません。それは私たちの仕事の一部です。あなたは知らない、あなたは学び、あなたは仕事をしようとし、あなたはそれを成し遂げる。

私はあなたが今必要としているものは知識ではないと思います。むしろ、それは単に自信です。

幸運を


私はそれがすべて曖昧な知識と詳細のいくつかのJIT学習だとわかります。私は、基本を曖昧に理解していることを自分自身に保証する方法がわからないだけです。本当に重要なことを完全に見逃しているのではないかと心配しています。
スローアウェイ

2

ここで間違った質問をしていると思いますが、少し不当な心理学を許可してもらえるとしたら、それはあなたが少し自信に欠け自信に悩まされているからだと思います。

自分を他人と広く比較するのをやめる

まず第一に、他のプログラマと幅広いレベルで自分を比較することはできません。あなたが今尊敬しているロックスターでさえ問題を抱えている可能性があります(ずさんな、まだ別のやり方、態度の問題)。だからあなたがそれらと比較するかどうか心配しないでください。代わりに、できるだけ多くのメンターを獲得し、可能な限りすべての知識を収集し、専門家を見て真似することで改善するアプローチが必要です。

学ぶことを学びます

また、一般的に優れたプログラマーおよび学習者になるための最良のアプローチは、特定のことを学習したり、記憶によって理解したりすることではありません。IMO、暗記は学習の最も低い形式です。Input-> Process-> Outputの重要な「処理」ステップが欠けているプログラムのようなものです。質問で述べたようなコンセプトを自分で教えてください。プログラミングの幅広い理解は、あなたが最も価値を提供する場所です。慣れ親しんでいるパラダイム内で新しい言語を学習することは、問題を解決する方法を学習することと比較して簡単なことです。

そして今、あなたより少しだけ年上の人からのいくつかの悪いアドバイスのために

私が若者として犯した最大の過ちの1つは、私が十分ではないと思い込んで他の人たちの決定を下し、自分の時間と才能に時間とお金の価値がなかったことでした。私は常に能力と才能を過小評価していました。これは大きな間違いでした。

理解する必要があるのは、適度にまともなプログラマーでさえ、毎日のジョーを平均化するためのウィザードのように見えるということです。彼らはあなたを憎むかもしれませんし、いつも地元のオタクにコンピューターの電源を入れる方法を尋ねなければならないのにうんざりするかもしれませんが、あなたが何をするかについての洞察力と理解が不足しているので、それはあなたにとってどんなに些細で単純に見えても、不可能です彼らへ。

人々はあなたの時間、あなたの才能、そしてあなたのエネルギーに対してあなたに支払います。私たちの業界には、座席に座って基本的なプログラムを(ほぼ間違いなく)書くことができるという理由だけで殺人をしている絶対に恐ろしいプログラマーが十分にいます。達成により自信をつけてカードを正しくプレイし、スピーキングとボディーランゲージを練習し、知らないことを常に探して技術を習得し続け、それらのことに向かってより理解を求めて走り、最後にダウンプレイをやめますあなたが開発したスキル。


2

「十分に知っている」と「この仕事に長けている」はまったく違う。

IMO「私はこの仕事に長けている」は「基本を知っており、私が知っていること-学ぶべきこと/検索する場所/尋ねる人/読むべきこと-私のタスクを完了する」。

(これは、例えばXMLファイルでの書き込み/読み取りなどを学ぶために1-2か月を必要とする場合、彼らがあなたを雇うという意味ではありません。私が意味することを理解してください。)

また、プログラマーが「十分に知っている」と言うことはないと思います。(「仕事をするのに十分」、「金持ちになるのに十分」、「...に十分」、しかし「十分ではない」:))

編集: 「基本」と言うときは

  1. プログラミングの基本(ビット、バイト、変数、関数、パラメーター、ループ、条件、再帰)
  2. 作業に使用するプログラミング言語の基礎(プログラムのコンパイル方法、プログラムのデバッグ方法、IDEの使用方法、キーワードの90%とキーワードの機能、使用するタイミング、使用方法、変数タイプ、言語での1の使用方法、最も役立つライブラリ、エラー処理)
  3. 「あなたの血で1と2をつなぐ」:)

(おそらくあなたはあなたの仕事で2-3の言語を使用する必要があるでしょう)

Saeedに同意し、仕事に飛び込んで、仕事は物事を学ぶための最良の方法です、あなたはあなたより多くを知っている人々と仕事をし、彼らから学び、彼らがどのように働くかを見てください、しかし彼らはあなたと同じように始まりました現在よりも少ない知識で)。


XMLファイルの読み取りと書き込みに1か月もかかりませんが、おそらく1日かかると思います。「基本」について詳しく説明していただけますか?私は基本を知っていることを知らないので、これは実際に私の質問の主な推力です。基本的なことは確かに知っていますが、根本的なギャップが抜けていないのではないかと心配しています。
スローアウェイ

1

あなたは素晴らしい態度を持っています!成功するための基本的な要因の1つは、決して満足しないことです。解決しません。決して妥協しないでください。そうは言っても、それを正確に行う方法を見分けるのは非常に困難です(たとえば、タスクXを実行するための「ベストプラクティス」を知ることは、誰もが自分の意見を持っているため、グーグルで行うほど簡単ではありません)。

優れたコードを特定する方法とその背後にある理論的根拠(方法理由)を学ぶことが最善です。これについては、私たちの分野で評判の良い専門家のブログを読むことをお勧めします。これは、あなたが探しているある種の考え方にあなたをさらすからです。オープンソースプロジェクトに貢献することも、深い端に飛び込むための1つの方法ですが、現在進行している他の人から学ぶ機会を与えてくれます。


ありがとう。私はそのような賞賛を聞くのにどれだけ必要なのか気づかなかったと思います。
スローアウェイ

0

私たちのほとんどは、遅かれ早かれキャリアのある時点でそのような状況にあったと思います。そして、新しい言語を選択するたびに、すべての言語が再び始まります。だから私からの最初のアドバイスは、絶望しないで、あなただけではないということです。そして、あなたが自分自身を反映しているという事実のためだけなら、あなたはおそらくあなたが思っているよりも優れているでしょう。昔の格言を思い出してください。天使たちが踏み込むのを恐れる場所に愚か者が殺到します。

現在、ほとんどの言語には標準ライブラリがありますが、このライブラリは、1人の個人が完全に知るには大きすぎます。フレームワークとAPIを一番上に追加すると、すべてを知ることはできません。あなたができる最善のことは、基本を知ることです。経験を積むほど良くなるので、おそらく最善のアドバイスは次のものです。

単一の「まともな」マーカーはありません。それはすべて環境に依存します。ある会社/プロジェクトにとって完全に十分なものは、別の会社/プロジェクトにとっては十分かもしれません。あなたが本当にあなたができると言うことをすることができるなら、私はあなたにかなりまともな後輩を分類します、そしてあなたはまともな仕事を見つけるのに問題がないはずです。


[上記の@ e-MEEのコメントのコメントからコピー/貼り付け] XMLファイルの読み取りと書き込みに1か月はかかりませんが、おそらく1日かかると思います。「基本」について詳しく説明していただけますか?私は基本を知っていることを知らないので、これは実際に私の質問の主な推力です。基本的なことは間違いなく知っていますが、本当に根本的なギャップが抜けているのではないかと心配しています。
スローアウェイ

0

質問に書いた内容に基づいて、実際にコーディングすることができ、スキルと知識を向上させることができます。

誰もが、それぞれの仕事において、初心者としてほとんど始めず、経験を積んで成長しなければなりません。

あなたの成長がどれくらい速いかはあなた次第です、誰もが異なる速度で成長します、唯一の重要なことはあなたが今あなた自身からあまり多くを求めないことです。

まだ十分に理解していないと感じても、心配しないでください。すぐに写真を撮れるようになります。

できるだけ早く業界で働き始めたいと思うかもしれません。すでにコーディングできるため、作業を開始できます。これは、理論が十分ではないため、実践する必要があり、現実世界の問題を解決するためです。

ライブラリコードの知識に関する懸念については、学習し続け、ドキュメントを読み、それを使用して練習する限り、時間が経ちます。このようなサイトも非常に便利であり、関連する質問に積極的に質問して回答すると、より早く学習できます。

個人的なアドバイス:プログラマーと呼ばれるスパゲッティコードを作成する多くの人々から本当に目立ちたい場合は、ベストプラクティスを学んでください。どの言語またはライブラリを学習またはコーディングしていても問題ありません。ベストプラクティスを学習してください。これにより、多くの時間、バグ、不具合、頭痛が軽減され、より良いプログラマーを感じるのに役立ちます。

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