読者です 読者をやめる 読者になる 読者になる

フレームワークってある意味罪なものよね

システム開発においてフレームワークは無くてはならない存在です。
Javaで言えばStrutsに始まりSpringやSeasar2・・・
RubyにはRailsがあります。
先人の経験と技術によって、開発効率は飛躍的に向上してきました。

具体例を挙げると、ServletJSP等のJ2EEの知識が無くてもWebアプリケーションが実装できてしまうわけです。
最近はActionクラスがPOJO(Plain Old Java Object)なのがザラにあるので、
HttpServletRequestとか目にしたこともないプログラマもいるかもしれないですね。
View層はHTMLテンプレートが登場し、JSPを書かないこともあるわけです。
その開発スタイルは否定されるべきではありませんが、
使う側はその成り立ちを十分に認識しておくべきでしょう。(アーキテクト的な立場のエンジニアに限らずね)

スキルアップにおいて順序って重要だと思うんです。
様々な状況に俊敏かつ柔軟に対応できるには基礎が重要です。
十分な教育時間があるのがあるのが理想ですが、昨今の不景気の影響もありコストをかけないために
企業はまともに教育もつけないで現場に放り込むケースが多いです。(そのせいで現場でトラブったりするパターンもある)
もちろん現場で確実に実践的スキルをつけることは重要ですが、そこで得たものは意外と断片的になりがちではないでしょうか。

実際、最近自分は教育も担当していたりするので
「それができて、これができないか?」と感じることがあります。
まさに先述のパターンで、長期的なスパンで考えると非常に危険だと思っています。

フルスタックフレームワークにより開発効率や生産性は向上するという流れはこれからも続くでしょう。
ただ、これは教育の仕方次第では基礎が足りないプログラマを量産しかねません。
システムの品質低下、スパゲッティコードの乱立によるメンテナンスコストの増大にも繋がるでしょう。
ましてや海外の人件費の安いエンジニアとも競争しなくてはならない時代になり、
腕の立つエンジニアしか生き残れなくなります。

今こそ日本のIT企業は教育のあり方について、もう一度再考すべきでしょう。
そしてフレームワークも教育面を意識できるような存在であれば尚良いと思います。