見出し画像

プログラマーに必要なのは、コードを「作る力」ではなく「設計する力」

先日、SNSで「プログラマーは、実はコードを暗記しているわけではない」という話を目にした。
(結構な数のいいねが付いていたので、目にした方も多いかもしれない)

これは本当にそのとおりで、むしろ「プログラマー」を経験していない人たちの印象から、「プログラマーはみんなコードを覚えている」と思われていたことに、元プログラマーだった私は驚いてしまった。

私も二十代の頃にプログラマーとして働いた時、基本的にコードはネットで検索していた。(今もそうすることは多い。なんなら今はChatGPTなどにコードを聞く方が早いまである)

もちろん、基本的なものは覚えている。
IF文とか、ループとか、そういう基本は頭に入ってるが、大体実現したいコードは検索することが多い。

仲間内で「プログラマーに必要な能力は検索する力だ!」なんて冗談を言っていたことがあったが、実際は冗談ではないのだ。

そういうわけで、プログラマーは、実はなるにはそこまでハードルは高くは無い。
しかし、実際はコピペで出来る仕事でもないことには注意したい。

プログラマーに必要な能力を真面目に考えると、(コミュニケーション能力や問題解決の能力等も勿論必要だが、その中でとくに)私は「設計する力」が必要だと思う。
(厳密にはこれはシステムエンジニアの仕事になるのだが、プログラマーのキャリアアップ先の一つがシステムエンジニアだし、私はプログラマーは数年経験したらその先(キャリアアップ)を目指すべきだと思っているので、その前提で話をさせてほしい)

例えば、Webサイトを作りたいと考えた場合、まず「どんな情報を見せたいのか」「ユーザーはどのように操作するのか」といったことを具体的に設計する必要がある。この設計図を元に、プログラムを組み上げていく。

何か実現したいことがあり(目的・ゴール)、それを実現するためには、何をどうすればいいのか……これを導きだしてプログラムの設計をする能力が、プログラマーには必要になる。

もちろん、最初はこの部分のハードルが高いので、別の誰かが設計した仕様を、そのまま実現できるだけの能力があればいい。
ネットでコードを素早く検索して(もちろんそのコードを理解するだけの能力は必要だが)、コードをコピペして仕様通りの動きが出来ればそれでプログラマーとしては働いていける。

ただ、それだけでは「プログラマー」以上にはなれないし、プログラミングに本当に必要な能力は「コードを覚えること」ではなく、「組み立てる能力」だろう。
(そして近年、子どもの内から学ぼうと言われているプログラミングの能力も、こちらを指しているはずだ)

最初は、チュートリアルなどを参考にしながら、「心理テスト」や「くじ引き」をするプログラムなど、簡単なプログラムを作ってみるといいと思う。
徐々に複雑なプログラムに挑戦し、設計の経験を積んでいくことで、自然と「設計する力」が身につくはずだ。

プログラマーはコードを暗記しないとプログラマーになれないわけではない。コードを覚えることはそんなに重要ではない。

本当に重要なことは、設計する力である。

もしあなたがプログラマーを目指したいと考えているなら、これだけは覚えておいてほしい。

いいなと思ったら応援しよう!