Javaは習えどJavaのオブジェクト指向コンセプトは習わず
今年も弊社新人さんたちがJavaに四苦八苦する季節になりました。
新人研修ってJavaでやる場合多いよね。
それとも今時のベンチャーとかだとPythonだったりするんでしょうか。
(余談ですが、先日渋谷のベンチャーに仕事で行く機会があったのですが、絵に描いたようなベンチャー企業でウェーイな感じでビビりました…というかそもそも渋谷が怖かった…)
弊社新人さんに聞いてみると、UMLは習ってないとのことだったので、多分私と似たような、ロジックを書くことに慣れる新人研修をやってるんじゃないかなという感じ。
配属後、必ずしもJavaやその他のオブジェクト指向言語をやるとは限らないので(私もせっかくJava習ったのにVB.NETばっかりで仕事してた)、時間に制約のある新人研修においてはオブジェクト指向コンセプトまでツッコンでやらなくていいとは思うのですが、とはいえモデリングも含めて勉強しとくと後々便利だよ〜〜と思っています。
かくいう私も新人研修でJavaをやった口です。
オブジェクト指向言語という触れ込みで習いはするものの、やはり最初に習得すべきfor文とかif文とかが先に来て、「Javaのオブジェクト指向コンセプト」というところについては殆どやらなかった記憶があります。
それでもやもやして本を買ったりしつつこの年になってようやく分かってきたかなあという感じがします。
「そもそもなぜオブジェクト指向で開発するのか」という視点が新人の頃って全然ないし、触れることもなかったんですよね。私も歴史に詳しいわけではないのでザックリとした言葉で書くと、オブジェクト指向を選択する理由って「これまで機械視点だったのが人間視点でプログラムを考えられる」というところで、今まで理系メインだったシステム開発のお仕事に、文系も関われるようになって間口が広がった、いろんなバックボーンを持ったり役割である人が、いろんなフェーズにおいて、同じ用語で1つのシステム作りを行えるようになったということ、という理解でいます。
再利用性が高いとか保守性が高いとかは、実はオマケみたいなものなのかなと思いつつ、新人さん達を眺めるのでした。