ムーアの法則が、「集積回路は2年で2倍の性能、密度になる」とあるが、プログラマのスキルにおいても似たような事が考えられる。
書いたコードと考える時間に比例して上達する
という事で、プログラムは自分で書けば書くだけ上達するという事です。
ちなみに、この法則には下記も付け加えてもいいかもしれない。
プログラムスキルは習得した言語の数によりさらに加算されていく
スキルアップの条件
書く内容については、ソースコードをコピペするレベルではなく、自分で考えて書き込んだモノが対象という事。
そして、1つのプログラムが実行できる環境を1とカウントする場合、カウント数が増えるにつれてスキルも向上する。
ただし、他人の書いたソースコードを自分なりに書き直す事や、自分では考えられないプログラムを読むことでもスキルは向上することはできる。
これは人の書いたプログラムを理解し、自分なりに評価できる事が可能であればの話。
人のソースが分からない場合、それを理解するだけで、そのプログラムにおけるスキルに達することが可能である。
非常に棚からぼたもち的なスキルアップ方法である。
スキルアップの思考性
偏った考え方によるプログラミングは、スキルアップできる道が非常に狭くなり、幅広いコーディングが行えることがスキルアップの道幅が広くなり、スキルアップ速度も加速的になる。
例えば、1つの製品を作り出す時に作成するプログラミングを複数パターン考える事自体は、アルゴリズムの幅を広げる意味でも非常に有意義である。
何かを作る時は、製品の要件定義をゴールとした、プログラミングする工程を考えてそれを実現させる事こそがプログラミングのスキルアップとなるのだが、初心者はプログラム工程を正解があるかのような思い込みが発生していることがある。
実際には、効率のいいプログラムでも、効率は悪いが同じ結果が出るプログラムでも、利用しているユーザーにしてみれば、さほど差がない。
スキルの高い人と低い人との差がでるとしたら、その後のプログラム改修や、機能追加などの際に、作業効率が上がる構成になっていたり、他の人がプログラムを見た時に、理解しやすいという事が重要であることが分かる。
ただ、一気に高スキルな事にTRYせずに、今の自分にあったスキルよりも少し上のスキルを目指すことを優先させよう。
スキルアップする方法
スキルアップに関する工程は以下を参考にすると良い。
1. 動作するプログラムを構築できる
2. できるだけ短いプログラムで書く
3. 汎用性が考えられている
まずはこうした工程でスキルレベルを自分で把握する事が重要であり、着実にステップアップする事を予定化してみよう。
0 件のコメント:
コメントを投稿