「よく使う処理は関数にしよう – @IT」が公開されています。関数の説明です。
初心者にとっては、この関数という概念もひとつの壁になるのですが、いまどきのプログラミングでは必須の概念です。関数を使えるようになると、プログラムの保守がしやすくなりますし、既存のプログラムを再利用できるようになりますから開発効率が良くなります。
プログラミングに関数がでてくるので、「数学が得意でないとプログラミングはできない」といった誤解している人が多そうなのですが、必ずしもそうではありません。数学の関数を理解するというのとはちょっと違って、情報処理分野でのデータ処理に必要な関数という狭い範囲で理解できればいいので、それがわかって、使えるようになるかどうかがポイントです。
アルゴリズムを発明する能力があると一番いいのですが、そういうのは研究者にまかせればいいのです。アルゴリズムを理解できると優秀な開発者になれるはずです。でも、普通の開発者なら、「アルゴリズムが理解できなくても使い方がわかれば良い」という感じです。つまり、「普通の開発者になる」というのに、「高度な数学の知識が必要」ということもないし、「数学が得意であることが必要」というわけではない、という事です。
もちろん、高いレベルの内容を深く理解しているのが良いので、「普通の開発者」より「優秀な開発者」の方が世の中では必要とされていると思います。研究者は開発者とは違うので要求される能力が違います。いずれにせよ、より上のレベルを目指したいものです。