
あなたは本当に開発者ではありません。遅かれ早かれ、人々はあなたがあなたが話していることを理解していないことに気付くでしょう。あなたは十分に精通していません。
おそらく、あなたは何らかの形でそのような考えを持っています。あなたが開発者ではないと誰もあなたに言いませんでしたが、あなたはそれについて考え続けます。おそらくあなたは今そう考えています。
この気持ちの秘密を明かします。準備はいいですか?
すべての開発者は、ある程度、このように考え、感じています。これは非常に頻繁に発生するため、私たち全員がたどるよく踏まれた道になっています。
ベテランのベテランや非常に才能のある新参者でさえ、私たちの最高の人でさえ、同様の不快な経験にとらわれています。私たちは皆、開発スキルを誤って判断しています。
さらに、そのような考えは有害である可能性があります。彼らは私たちに私たちの考えを私たち自身に保つことを強制します。彼らは人々にプロジェクトへの参加を拒否することを強制します。彼らは私たちの見通しを狭め、可能性を破壊します。彼らは力を消耗し、私たちを制限します。彼らは私たちから人々を奪います。
今日は気持ちについてお話します。何のために?開発者は人であり、機械ではないからです。私たちの気持ちは私たちの仕事の質と楽しみに影響を与えます。
この記事は、少なくとも一度はこの職業に応募できないと感じたすべての人に捧げられています。プログラミングスキルに不満がある人、または自分自身を十分な開発者ではないと考えている人。自分を「開発者」と呼ぶことに不快感を覚えたことがあれば、この記事はあなたにぴったりです。
開発者の定義
主な定義から始めましょう。準備はいいですか?
開発者は、コードを作成する人です。
以上です!あなたが特定のレベルに達したときにあなたに開発者の称号を与える聖なる評議会はありません。華やかな署名と銀箔のスタンプが付いた羊皮紙の証明書は誰からも送られません。最終的に合格する必要のある公式試験はありません。最終的に、開発者と呼ばれる権利が得られます。
時々彼らは人為的な基準に基づいて開発者であることが何を意味するかを判断します。これはろ過(ゲートキーピング)と呼ばれ、意味があり
あなたがコードを書くなら、あなたは開発者です。
あなたが専門的に書くか、あなたの自由な時間に書くかは関係ありません。これは、CLI、IDE、Web、または別のアプリケーション内で実行できます。クライアント側のコード、サーバー側、組み込み、クラウドベース、ローカル、リモート、またはその他のコードにすることができます。これがコードの場合、あなたはクラブのメンバーです。
詐欺師症候群
インポスター症候群は、あなたが詐欺師のように感じる状態です。彼らは、あなたは十分ではなく、誰かが最終的にこれを理解するか、あなたがここにまったく属していない、と言います。ほとんどの開発者は、ある時点でこのように感じます。私を信じないの?デビッドウォルシュは、このような彼の経験について優れた記事を書いています。
私たちの業界には、すべてを知り、すべてに答えを持っているプロ意識の高さの人々であるスーパーエキスパートがいるように思われることがよくあります。自分を彼らと比較したり、自分の欠点を感じたりしないことは難しいです。しかし、この感覚は単なる知覚であり、現実ではありません。これが良い例です:

誰もがあなたよりも知っているように見えるかもしれませんが、そうではありません。知識の宝庫全体があなたの中に蓄えられています。何かを知らないことに苦しむ代わりに、自分に何ができるかを考え、それを他の人と共有してください。これは彼らを豊かにするだけでなく、あなたが持っている知識についてのあなたの理解を強化します。
ホッケースティックトレーニング
最初にコーディングを開始するとき、物事は非常に複雑です。スキルが成長するにつれて、それは簡単になります。そして最後に、コードについて考えるのをやめ、解決されている問題について考え始めます。それは運転のようなものです。ある程度の練習の後、あなたはすでに無意識のうちにペダルを踏みます。誰かがこの状態をフローと呼びます。
しかし、これには時間がかかります。何年もの努力を重ねても、流れの状態に入っていなくても問題はありません。知識の新しい部分はそれぞれ、一歩近づきます。巨大な新しい言語機能や重いドキュメントを聞くたびに(またはgrokとgrep jargonを学ぶだけで)、フローに少し近づきます。しかし実際には、学習曲線はホッケースティックのようなものです。

途中で行くと罠に陥ります。
開発者であるということは、知識の頂点に立つことを意味するのではありません。これは、頂上に登り、少し眺めを楽しんだ後、次の頂上に登り始めることを意味します。
学ぶことがたくさんあるように感じるのはまったく普通のことです。誰もがこの気持ちを持っています。ほとんどの開発者にとって、この感覚はまったく消えません。John ArchibaldWheelerからの私のお気に入りの引用の1つは次のとおりです。
私たちの知識の島が成長するにつれて、私たちの無知の海岸も成長します。
学べば学ぶほど、もっと学ぶ必要があることを理解できます。
成長マインドセット
彼女の優れた本、マインドセットで、キャロル・ドウェックは、人々が学ぶときに2つの考え方のいずれかを採用する理由を説明しています。
最初のイメージは修正されています。人は、この分野での自分のスキルや知識は生得的で不変であると信じています。彼らが改善していないということではありません-彼らは改善しています-しかし、その人は彼の能力が限られていると確信しています。そして彼の生産性は彼の考え方を例示しています。この考え方の問題は、困難な状況で明らかになります。人々は、自己イメージを脅かす可能性があるため、困難を避けようとします。
2番目の考え方は成長の考え方です。これは、観察が開発可能なスキルであることを意味します。困難は、新しいことを学ぶ機会として認識されています。インテリジェンスは静的ではなく、モバイルで変化しています。
成長マインドセットを持つ人々は、ほとんどの場合、時間の経過とともに固定マインドセットを持つ人々よりも優れています。はい、例外があります。しかし、全体として状況を見ると、通常、粘り強さが才能よりも優先されます。
固定された考え方に恥はありません。私たち一人一人は、さまざまな状況や現象に関連して、これらのタイプの考え方の1つに固執します。しかし、ドウェックの研究からの主なポイントは、2つを簡単に切り替えることができるということです。
秘訣は、トピックに対する態度を再フォーマットすることです。ソフトウェア開発はスキルです、生来の能力ではありません。それを学ぶには忍耐と練習が必要です。
ですから、次に難しい仕事を噛むときは、それを改善の機会と見なしてみてください。
ポイントは何ですか?
これはどういう意味ですか?それあなたが開発者です。開発者コミュニティへようこそ。
あなたの立場を評価するのをやめなさい、あなたはそうする必要はありません。詐欺師症候群の典型的な感情は単なる知覚です。あなたの研究に我慢してください。考え方を変えましょう。このプロセスには時間がかかり、私たちは皆学んでいます。
そして最も重要なことは、先に進んでコードを書くことです。