Fight the Future

Java言語とJVM、そしてJavaエコシステム全般にまつわること

「プログラミングができる」と言える基準って?

何ができたら「プログラミングができる」と言っていいんだろう?


正直、僕は自分がプログラミングができると思ったことはない。
もちろん仕事関係の場では「できる」と答えているし、プロジェクトでは頼られることもあるのは事実だ。
それでも本心からプログラミングができると思ったことはない。


書籍だって記事だって、自分で作り出したものについて書いたものじゃない。
プログラマ」が作って、僕は英語の解説記事とかソースとかを読み取りながら、わからない詳細もあるにせよ概要を把握して書いてる。
僕が創造してるわけじゃない。


システム開発で意味するプログラマの中には、業務プログラミングをこなせるだけでプログラミングができると思っている人もいる。
話したときにそう思ってるってわかる。
そうじゃないんじゃない?


こんなこと考え込む必要はないんだろうか?
でもこういう認識がなんか今の業界を表してるような。。。上流指向というか設計礼賛というか。


業務プログラミングは小学生の夏休みの工作で、○○キット!みたいな出来合いを組み立てるようなイメージだ。
業務プログラミングを軽視してるわけじゃなくて、箱庭のような作られた世界だってことを言いたい。
アーキテクトたちが作ったアーキテクチャの上に乗っかって、プログラミングを謳歌しているような錯覚があるけれど、その実すごく制限がある世界。
RPGゲームのような感覚。


それを認識しておくのは大切なんじゃないか。
ただキットを説明書のとおりに作れただけじゃあ、キットそのものを作ることはできないんじゃないかな。


システム開発で、上流と言われるものはしっかりしたプログラミングのベースが必要だ。
今から作るものが何かもわからないのに、その設計をするのは無理だからだ。


業務プログラミングができるからそのベースがある、という勘違いをしてしまわないように、自分の後輩たちにも伝えていかないといけないなあ。