これはガールフレンドとの会話に戻ります。私は自分のプログラミング言語(C++)で自分を十分に満足させるのに十分とは言えないことを彼女に伝えようとしました。それから彼女は私に尋ねました、「えーと、あなたはいつあなたは自分が十分だと思いますか?」
それは興味深い質問です。私は彼女に何を言うべきか分かりませんでした。だから私はあなたに尋ねています。
プログラミング言語やフレームワークなどで、どこに座ったらどこに行ったのかを見て、「ねえ、私は実際にはこれでかなり上手です」と言いますか?どのように「良い」を定義して、他の人に正直に「うん、私はXが得意だ」と伝えることができますか。
さらに、他の人が何ができるかを比較することによってこれらの結論に達しますか?
追加情報
私は、あなたがこの分野の専門家になるまでに1万時間かかる標準的な論文を読みました。 (このペーパーが何と呼ばれるかを知っている人への小道具)
また、人々へのインタビューに関するCoding Horrorのさまざまな記事を読んだことがあります。一部の人々は、「フレームワークの外では機能できない」と言われました。そのため、それらはそのフレームワークには「良い」かもしれませんが、そうでなければ言語ではそうではありません。これは本当ですか?
Xが上手だとは言えません。他の人しかできません。
これにはいくつかの良い答えがすでにあるので、これを寄稿します。
1つはgood彼らが自信を持って正しく正しくそれを行うことができると言える場合にのみ、何かで良いです。
たとえば、C++でgoodだと言いたい場合、自信と正当性をもって、一般的なC++を使用して問題を解決できます。
これはcockyであるという区別を提供します。これは、十分な正当化なしに何かを行うことができると自信を持って言うことになります。そしてexperienced、つまり、あなたは過去にそれをしたことがあるので、あなたは何かをすることができると言うでしょう。
関連して、ソフトウェア職人運動は私たちの分野で標準を改善するのに役立つ優れたアイデアだと思いますが、多くの人が自分をソフトウェア職人と表現しているのを見てきました。
あなたが何か(または職人)が得意かどうかを決めるのはあなたの仲間です。アインシュタインとファインマンがキャリアの早い段階で「私を見て、私は天才だ!」と言って歩き回っていなかったと確信しています。同様に、あなたが良いかどうかを決めるのはあなたの仲間です。
Stackoverflowは、能力があるかどうかを判断するのに役立つツールです。想定される専門知識の分野でいくつかの質問を選んでください。それらに答えてください(または、既に答えられている場合は、投稿された答えを覗かずに頭の中で答えてください)。最良の答えを考えましたか?何か見逃しましたか?あなたは単に間違っていましたか?
あなたが優れたプログラマーであると誰もが同意できるような標準化されたプログラミングテストはないので、自分自身をそれと呼ぶかどうかを決めるのはあなた次第です。
私はそれがあなたの信頼水準と関係があると思います。あなたが何かに長けていると感じるなら、あなたはそれを言うことができるはずです。ある時点で、あなたはあなたをプッシュしたプロジェクトを完了し、その気持ちは「まだ」から「私は」に変わります。
これはかなり難しい質問です。私は主にC++でプログラミングした2つの科目を行い、両方で高い区別を得ました。私はC++が得意ではないと思います。実際、私が求人に応募した場合、履歴書は残さず、代わりにCと書きます。言語全体が私のものではありません。
自分のことを他人の視点で見ているような自分に必要な知識を身につけ、自分が上手かどうかを判断するときは、自分を上手く呼べると思います。つまり、強力な「メタ」スキルが必要です。
たとえば、私は趣味の作家です。自分の文章を見ると、次のことがわかります。
このため、筆記が得意かどうかを判断する資格があると感じています。 Xにも同じことが言えます。
特定の言語でのプログラミングが得意だと思ったときはいつでも、6か月後、その時点でそれが下手だと確信し、nowは得意でした。だから相対的な言葉だと思います。たぶん、Yをその言語での特定のプロジェクトとして、「Yをするのに十分良い」と自分自身を呼ぶ方がよいでしょう。
あなたは何か他の方法を忘れて以来ずっと長い間それをやっていると、あなたは何かに「良い」と主張することができます。
善は非常に主観的であるため、私はあなたが偉大であることを確信しているときに正確にあなたは善であると言います。
Boost(c ++の場合、または別の言語のboostの同等物)のようなソースコードを見て、そのafraidではない場合。
何かが上手かどうかを確認できるのは、上手だと確信できるときだけです。
John Cleeseがこれについて話しました:9:00 http://www.youtube.com/watch?v=zGt3-fxOvug
あなたが探しているソフトウェアがその言語でどのように書かれたかを想像し始めたとき。
あなたはあなたがしていることが好きなときにあなたがgoodであると知っています(そしてそれは単なる些細な仕事ではありません) 。
あなたがコーディングしている間、ランダムに悪態をつき続けると、あなたは悪い(まだ)であることがわかります。
「良い」かどうかはわかりませんが、言語の知識ではなく、問題(または問題ドメイン)の理解ではない言語を「知っている」と言います。これにより、問題を解決するソフトウェアを実装できなくなります。問題。
あなたが探していた記事は、Peter Norvigによる10年後のTeach Yourself Programmingだと思います。さらに、Ken Robinsonの "The Element"のような他の場所や、趣味の数を減らすことについて話しているライフハッカーのブログで、それがポップアップ表示されるのを見ました。
私はこの質問に参加して、「プログラミング言語の能力を評価するための基準は何ですか」と質問します
私は this matrix がその点でかなり役立つことがわかりました。ほとんどの項目は実際には一般的には有能なプログラマであることに関するものですが、「プログラミング」、「経験」、または「ナレッジ」の見出しを下ると、使用する言語に依存するものが表示されます。
もちろん、カテゴリへの任意の分割と同様に、それは完璧ではありません。しかし、それでもかなり便利だと思います。それは、あなたがどこにいるのか、そしてどこに行くべきなのか、少なくともいくらかの考えをあなたに与えることができます。
私はXが得意だとはよく言いませんが、私はすぐに習得できて、Xが得意なpotentialであると言います。