今年中にプログラマ(中小ソフトハウスなど)への転職を目指してPHPの勉強をしています。
プログラマとして3,4年ほど経験を積んだ後はSierに転職してSE/PMとして働きたいと考えています。
PHPを勉強しているのは転職支援コンサルタントに「いま旬の言語です」と薦められたからですが、
いくつかの企業の求人を見ていると応募条件に「Javaを使った開発」が目立ちます。
将来的にSierで業務系開発SEとして働く事を考えている場合はPHPよりもJavaの習得の方が有利に
なるのでしょうか?
転職前(選考時)と転職成功後の観点から教えて下さい。
よろしくお願い致します。
Java, PHP の初期からの利用者として、またSIerとしての経験からご回答します。
業務系開発といっても幅広いので、まずは、その業務が BtoB(金融、製造など)なのか BtoC(小売、コンシューマ向けWebサービス)なのか絞ってください。両者はビジネスモデルが根本的に違うので、両方同時にこなせる SIer はほとんどありません。BtoC会社とBtoB会社が合併した場合は可能ですが、おそらく事業部は異なるために人事交流は少ないでしょう。
次に、今日の開発では、OSや言語が何であるかということより、どんなフレームワークが使えるかということが重要視されます。
マイクロソフト系であれば .NET、JavaであればEnterprise JavaBeans(EJB)など、PHPであればCakePHPなどがあります。
BtoBの場合、Javaで開発するケースが多いです。
これは、BtoB向けのJavaフレームワークが充実しているためです。
BtoCの場合、PHPやRubyが主流になっています。
これは、BtoC向けのWeb用フレームワークが充実しているためです。
コンサルタントがアドバイスする「いま旬の言語です」というのは的を射た言い方で、つまり、3,4年後には賞味期限が切れる可能性もあるということです。そうなったらPGとしては廃棄されます。
PGからSEにステップアップするには、OS、言語、フレームワークのトレンドにとらわれることなく、業務分析する力が求められます。そのためには、業務のプロである顧客と円滑なコミュニケーションを構築し、顧客からヒアリングする能力も必要です。
まずは、業務をUMLで表現できると良いでしょう。ただ、私は古い人間なので、業務フロー図で表現しています。ここから、使用するビジネスロジック(およびアルゴリズム)とデータ構造を導出するまでが、SEの大きな役割です。
技術的な入門書としては、ちょうど今月号の「日経ソフトウエア」にプログラミングの基本テクニックが特集されていますので、ぜひご一読ください。この雑誌は入門PG向けの特集記事が多いので、参考になると思います。
ええと,SEやPMというのをどう捉えてらっしゃるかによりますが,PHPしか経験がない「SE」「PM」を出してくる会社というのはお目にかかったことがないです(もし来たら帰ってもらいます).Javaのほうはあります.
もしまともにSEとしてシステム設計をしていくのであれば,設計のしっかりした言語(Javaも悪くないと思います)を先に経験したほうが良いと思います.
もちろん,人それぞれの選択ですから,あえてPHPからというのも否定しきれませんが,たとえば下記のURLの「追記」のあたりを一読してからでも遅くはないかと.
http://www.rubyist.net/~matz/20080126.html#p04
なお,選考時ですが「XXの勉強をしました」だけでは,どちらにしろ弱いような気がします.現在,ネットワークエンジニアをされているとのことで,その専門を絡めたプログラミングスキルのアピールの仕方を考えてみてはいかがでしょう.