Qiitaのトレンドに入っていた『[翻訳]あなたがプログラミングに向いていない10のサイン』という記事を読みました。
向いていないからといって諦める必要はない
元記事に書かれている10のサインは、僕のこれまでの経験から「その通りだな」と感じるものがほとんどでした。すべてのサインに対して「NO」と自信を持って言える人はプログラミングの才能を間違いなく持っていると言っていいでしょう。
詳細については元記事を読んでいただければと思いますが、10のサインはこんな感じでした。
- 好奇心の欠如
- 自律性と機知の欠如
- 問題に直面しても粘り強さが無い
- 問題解決に成功した気持ちはない
- 学習と理解に焦る
- 思考に飽きたり疲れたりする
- 自分のことを考えられない
- 堅く、狭く、そして無秩序な考え
- 複数の答えの間の「良い」と「悪い」の連続性に気付かず、「正しい」答えを望んでいる
- 細部に注意を払っていない
現役のプログラマーでも自信を持ってすべてに「NO」と言える人は少ないと思います。少なくとも僕はこの記事を読んで、自分に足りない要素ばかりだ、と感じました。日々精進。
と同時に「プログラマーになりたい人」や現在進行形で「プログラマーを目指して頑張ってる人」がこの記事を読むと、自分には向いてなさそう......。やっぱり無理だ......。と挫折しまう人がいるのではないか?と心配にもなりました。
記事タイトルこそ『あなたがプログラミングに向いていない10のサイン』ですが、向き不向きを検証するために読む必要はありません。繰り返しになりますが、現役のプログラマーでも自信を持ってすべてのサインにNOと言える人はそういないはずですから。
元記事の最後にも、しれっとこのように書かれています。
上記のリストには壁となる考え方や態度が含まれていますが、ほとんどの人はそれらを克服し、プログラミングの分野で能力を伸ばすことができます。
10のサインは向き不向きではなく、今の自分に不足している要素はないか、慢心はないか、改善できる点はないか、をチェックするために読む、というのが良い読み方ではないかな、と思います。
特に心にグサッときたサイン
個人的にグサッときたのは次の2つのサインでした。
5.学習と理解に焦る
あなたがせっかちに学び、すべてを楽して素早くマスターすることを期待するなら、あなたは本当にプログラミングで成功することは決してないでしょう。
プログラミングは経済学や心理学などの学問と同じように、一朝一夕でマスターできるものではないです。
「これ1冊でマスター」というようなタイトルの技術書は少なくないですが、本当にその1冊を読んだだけでマスターできるのであれば誰も苦労しません。
どんなに優れたプログラマーでも、技術書を一冊読み終えただけで、その技術について100%理解できる人などいないはずです。
プログラミングをマスターしようとするなら、常に学び続ける覚悟が必要です。唯一無二だと思える知見を得られたとしても、どんどん新たな技術が開発されアップデートされていくのがプログラミングの世界なわけで。
逆に言えば、一度技術書を読んでほとんど理解できなくても焦る必要がないとも言えます。先日、プログラマーになってから技術書をを読み直したら得られるものがたくさんあった、という記事を書きました。
技術書やネットニュースなどのインプットと、実務や個人開発といったアウトプットをバランスよく行いながら、焦らずスキルアップを図っていきたいものです。
9.複数の答えの間の「良い」と「悪い」の連続性に気付かず、「正しい」答えを望んでいる
プログラミングの最終目標が正しい解決策を見つけることだと考えるのであれば、プログラマとして本当に成功することは決してないでしょう。
僕は新人だったころ(正確にはそれから数年間ものあいだ)、コードには「正しい」書き方があり、テストには「正しい」やり方があると思っていました。もっと言うと、「正しい」プロジェクトの進み方があり、「正しい」電話応対のやり方があり、「正しくない」やり方をすると怒られる、と思っていました。
つまり、プログラミングに限らず、すべての仕事のやり方に正解があると思っていたんです。正しいやり方をしないといけないとの強迫観念から、自分なりの正解を考えることをせず、先輩に「正しいやり方」を質問していました。
この考え方は、本当に良くなかった。。。
正しいやり方は存在するものではなく、自分で考えるものだからです。
「良い」面があるということは、「悪い」面もあるということで、唯一無二の正解など存在しないはずで。過去の僕はそれが分かっていませんでした。