0から生み出すことの難しいけど、ためになる

新規でやるのは難しいけど、学ぶことも多いよっていう話。

新規作成と回収の難易度

この仕事をしていると、色々なプログラムの回収やシステムの回収を仕事でやることがある。プログラムやシステムの変更をやっていると思うのは回収するのは簡単だということ。今動いているシステムがあるのだから、画面の表示を悩む必要は無い。表示している部分を変更すればいいだけ。データベースの接続も簡単。全て動いている既存のプログラムがあるのだからそれをちょっと変えてやればいいだけなのだ。


これが新規に作成するとなると話はがらりと変わる。


新規作成するときは全てが手探りから始まる。参考にするものは今の時代ウェブがあるのだが、ウェブの情報というのは不確定で、環境依存で動かないことが多々ある。思わぬところでつまずき、ちょっとしたことで一週間という時間が過ぎてしまうことも多々有る。新規作成というのは今あるものを回収するのに比べて難易度に雲泥の差が現れる。

新規作成と回収の技術向上度

僕の中で技術が向上するのはつまずいたときだ。どれだけつまずくかでその人の技術度がどれだけ上がるかが決まるといっても過言ではないと思っている。つまずいて悩んで出来たことは忘れない。考えずにコピペで貼り付けて編集するのではあまり技術は上がらない。全くあがらないとは言わないが、上がる度合いが全然違う。


っということは、新規作成することは技術向上に非常に役に立つということだ。

ウェブ世界の寂しさ

ウェブが発達して、何かやりたいと思えば手順が公開されていてそれを何も考えずにやればうまくいく。そういう事象が今の世の中にはあふれていると思う。それが何のためにやっている設定なのか?それがなにを動かすためのプログラムなのか?っということを全く考えずにただコピペして動かしている人が多すぎると思ってしまう。

そして、なんらかのシステムを回収することを繰り返すことで自分はすごい技術をつけたと思っているが、実は新規で何も作成できないって人が巷にはいくらでも転がっているんじゃないかと思う。まずは新規で色々作成できるようになってからが本当の技術者なのでは無いのか?

じゃあ、全てを新規作成すればいいのか?

そうは言っても頑張って新規作成するのは無駄なことも多い。言語を学ぶためにC言語を学んで、この言語はC言語でこううごくから実現できるのか。とういことを学んだとしてもあまり意味は無い。ましてやもっと機械語に近い言語に落としていっても手間がかかるだけであまりいいことは無い。いかに手を抜いて、いかに手を抜かないか。そのポイントをきちんと理解して全ての行動をやることが大事だと思う。

まとめ

何事も新規でやるのは難しい。ただし、新規でやったほうが身につくことが多いことも多々ある。

このジレンマをいかに解消しながらうまく技術を学んでいくのか?新規作成と回収とのバランスのとり方がうまければうまいほど技術を学ぶ時間というのは削減されていくのだろう。