aspose file tools*
The moose likes Jobs Discussion and the fly likes Advice needed before switching towards Java domain by an experienced PHP programmer Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Spring in Action this week in the Spring forum!
JavaRanch » Java Forums » Careers » Jobs Discussion
Bookmark "Advice needed before switching towards Java domain by an experienced PHP programmer" Watch "Advice needed before switching towards Java domain by an experienced PHP programmer" New topic
Author

Advice needed before switching towards Java domain by an experienced PHP programmer

Jo Jake
Greenhorn

Joined: Apr 14, 2012
Posts: 18
Hi,

I am basically a PHP programmer who had 3.5 years of experience in web development. And I'm willing to switch into Java domain to ascend high in career growth. What I would like to know from this forum world of great experts is what all would I have to learn to get into the stream of Java web development ? I have started exploring Java using the Head First Java book which gave me some insight on the core Java concepts, I have completed almost one-third of the book that is up to the GUI. After learning this core concepts, what on Java (Is that jsp, ejb or something else I don't know..) would I have to head into so as to get the knowledge and job in Java web development ? Please remember that I have absolutely no idea on Java expect the core concepts I just learned past three weeks on Head First Book. I'm sorry for this long writing..but I really appreciate If somebody could take time helping me out. Thanks in advance.
arulk pillai
Author
Ranch Hand

Joined: May 31, 2007
Posts: 3223
1. Core Java - Head First Java is a great book
2. Enterprise Java (aka JEE - Java Enterprise Edition) it includes JSPs, Servlets, JNDI, JDBC, JPA, JMS, EJB, Web Services, etc. These are all APIs (interfaces). The implementation is provided via the app server container or third-party frameworks. A typical enterprise Java application will be deployed to an application server that provides many additional services like resource pooling, resource lookup, security, etc.
3. Frameworks -- Spring, Hibernate, Struts, JSF, etc.

It may look a bit daunting at first, but things will slowly fall into place.

And I'm willing to switch into Java domain to ascend high in career growth.



Why is that so?


Java Interview Questions and Answers Blog | Amazon.com profile | Java Interview Books
Jo Jake
Greenhorn

Joined: Apr 14, 2012
Posts: 18
arulk pillai wrote:

And I'm willing to switch into Java domain to ascend high in career growth.



Why is that so?


Thanking you at first for the reply.
I didn't see any PHP company offering salary more than a limit. But, Java doesn't seems to have such limits as I understand because Java is used in big companies where they could offer any good salary but PHP is not being used in big companies. Also, as far as I understand in big companies the projects are handled in a very systematic SDLC approach. Which involves a Technical Architect abstracting the project requirements and proposing the project architecture in the forms of UML diagrams. Only a Java based Technical Architect could prepare such good architecture and UML leveraging all the Object Oriented possibilities. Am I right ? So the chance of a PHP candidate to grow to the level of a Technical Architect is not easy as PHP is being used in small companies where there is no need of a Technical Architect. (Almost all small companies prefer PHP because which is very easy to learn and any fresher could become an expert in short period of time. I think the frameworks in PHP like Zend, Yii etc too are easier to learn and start working on than Java Frameworks. This is what I think, but as I had never been into Java I'm not the right person to compare between both languages.)

Please correct me if my thoughts are wrong. Thanks so much arulk pillai as you are the first one tried to help me.
arulk pillai
Author
Ranch Hand

Joined: May 31, 2007
Posts: 3223
I understand now. Good explanation. You can bring in many transferable skills to Java like


1) Web development paradigms, HTML, CSS, JavaScript, etc
2) SQL and database design
3) XML based technologies
4) SDLC (to some extent)
chris webster
Bartender

Joined: Mar 01, 2009
Posts: 1774
    
  14

Jo Jake wrote:Which involves a Technical Architect abstracting the project requirements and proposing the project architecture in the forms of UML diagrams. Only a Java based Technical Architect could prepare such good architecture and UML leveraging all the Object Oriented possibilities. Am I right ?
....
I think the frameworks in PHP like Zend, Yii etc too are easier to learn and start working on than Java Frameworks. This is what I think, but as I had never been into Java I'm not the right person to compare between both languages.


I'm not a Java expert, but I've worked on several large JEE projects, so here are my impressions.

Don't get too focused on being an architect right now, as you will need to build up a lot more commercial Java experience first. This will give you a chance to learn about the architecture of typical JEE systems.

Once you get through your HeadFirst Java book, try the HeadFirst book on Servlets and JSP, because this will give you a quick introduction to how web interfaces work with Java using MVC. Also, it will feel good because you will be able to re-use your web experience while learning new stuff about Java. Incidentally, the Zend Framework MVC stuff is very similar to the Java equivalent (Struts etc), so some of this will probably be familiar to you.

Also look at design patterns e.g. using the HeadFirst book on Design Patterns (another great introduction) or Craig Larman's excellent book "Applying UML and Patterns". The standard text on patterns is the "Gang of Four" book "Design Patterns", but you might be better working with a tutorial-style approach initially.

You are right that architects tend to be very Java-oriented (too much so, in my opinion!), but strictly speaking the same principles apply to any multi-tier framework-based OO architecture e.g. .NET, even OO PHP5. As you gain experience with 3-tier Java-based web applications using common design/architectural patterns, this will be a good foundation if you decide to get more involved in architecture later on. You also need to become familiar with Agile approaches to software development, although there are lots of variations on this, and not everybody manages to run "Agile" projects successfully.

Most architects I've worked with have also done some formal training/certification beyond the Java-specific architect exams as well (e.g. the British Computer Society exams in the UK), although not everybody does this. There is some debate about how useful architects really are, and what skills you need to be a good architect e.g. http://www.infoq.com/news/2012/03/frustrated-architect, http://www.infoq.com/articles/brown-are-you-a-software-architect, http://www.infoq.com/presentations/We-Dont-Need-No-Stinkin-Architects. Food for thought!

Finally, don't under-estimate how much there is to learn in Java-land: not just general stuff like UML, OO development and design patterns, but frameworks and tools like Spring and Hibernate, key features of JEE servers, and much more. And if you want to become a really good developer (or architect), you need to learn about things outside Java-land e.g. when/how to use databases intelligently, alternative platforms/technologies, hardware considerations, and so on.

Still, at least you won't be bored, eh? Good luck!


No more Blub for me, thank you, Vicar.
Jo Jake
Greenhorn

Joined: Apr 14, 2012
Posts: 18
Thank You so much arulk pillai and Chris webster. I think Chris webster has given me a good insight in depth on how to drive myself in the Java career. I definitely agree with you on the points you explained. And this was exactly what I had on mind before posting this topic, that to go through Java core topics starting from Head First, then on their book of JSP and Servlets, then design patterns, afterwards framework like Spring.. Thanks again for your advice.

I cannot take long time on learning Java as I'm planning to stay out of my current PHP company and to focus my entire time on learning Java whole day for atleast a couple of months before doing a job search in Java. I don't know whether by knowing Core Java, JSP and Servlets alone whether someone (me) could get a job in Java ? I think without knowing to work with some framework like Spring, its difficult to join a good firm ? Any other advices that you experts have regarding this, I would really appreciate. Thanks for your help.
chris webster
Bartender

Joined: Mar 01, 2009
Posts: 1774
    
  14

Jo Jake wrote:I cannot take long time on learning Java as I'm planning to stay out of my current PHP company and to focus my entire time on learning Java whole day for atleast a couple of months before doing a job search in Java. I don't know whether by knowing Core Java, JSP and Servlets alone whether someone (me) could get a job in Java ? I think without knowing to work with some framework like Spring, its difficult to join a good firm ? Any other advices that you experts have regarding this, I would really appreciate. Thanks for your help.

Obviously it depends on your circumstances and the local job market, but you should think carefully about leaving your current job. A couple of months working on Java at home may not be enough to get you a Java development job immediately, so you could find yourself out of work longer than you expect. Also, it is often easier to get a job if you already have a job - employers are often prejudiced against applicants who are currently out of work.

Can you negotiate to work part-time in your current job, perhaps, or find a new job that might expose you to Java while you are learning?
Jo Jake
Greenhorn

Joined: Apr 14, 2012
Posts: 18
chris webster wrote: ..or find a new job that might expose you to Java while you are learning?


Yes that sounds to be a more safe strategy, and I should try something likely. Thanks webster.
 
wood burning stoves
 
subject: Advice needed before switching towards Java domain by an experienced PHP programmer