プログラマという仕事をする上での向き不向き、いわゆる「性格的な資質」は大切です。良し悪しではなく、向いていないものは向いていないのですから、何よりも本人にとって苦痛です。一方、プログラマとしての「素質」に関して言えば、あまり関係ないと思ってよいのではないでしょうか。実際、現役プログラマとして活躍中の人のうち、60%はプログラミングの素質がないという説があります。裏を返せば、素質なんかなくてもプログラマとして仕事はできる。ということです。
FacebookやWindowsOSのような、世界中を動かすほどのプログラムをつくるとなれば、素質や才能に加えそれ以上の何かが必要になるでしょう。しかし、一般的なプログラマとしてごく普通のレベルで仕事をする上では、そのような天性は必要ありません。プログラミングセンスと言われるものは存在しますが、基本的にはルールにしたがってコードを記述するのがプログラマの仕事です。
プログラマが正しいコードを書けば、コンピュータは思い通りに動いてくれます。自分で書いたプログラムが想定外の動きをするとしたら、それはコンピュータが悪いわけではなく、自分が間違っているのです。人間のように、相手によって言い方を変えたり表現を変えたりする必要もありませんし、相手によって反応が千差万別にわかれることもありません。コンピュータはコードに書かれている通りにしか動きません。そのルールさえわかってしまえば、誰にでもプログラムは書けるのです。必要なのは素質ではなく、努力なのです。
プログラマになるには、免許も資格もいりません。乱暴な言い方ですが、プログラムが書けるようになればプログラマです。どんな仕事をする上でも努力がいらない仕事などないと思えば、勉強嫌いな人ほど、プログラマを目指すというのは、賢い選択ではないでしょうか。IT業界は人手不足で、ありがたいことにプログラマを募集する求人は数多くあります。そして、今後、少なくとも今働いている世代の人がこの世に生きている間は、プログラマという職業の需要がなくなることは、まず無いでしょう。
プログラマとしての素質などなくても、勉強が嫌いでも、普通の努力さえできれば、普通のプログラマになることはできます。初級プログラマを経て普通のプログラマになった後、上級プログラマ、できるプログラマを目指すかどうかは、また別の話です。プログラミングの面白さにハマってしまえば、勉強や努力と意識することなく、吸収し、成長していくでしょう。