This week's giveaway is in the EJB and other Java EE Technologies forum. We're giving away four copies of EJB 3 in Action and have Debu Panda, Reza Rahman, Ryan Cuprak, and Michael Remijan on-line! See this thread for details.
hey guys i have done core java, jsp, servlets... i want to proceed further...what should i do nxt shoud i go for struts or ejbs also tell me which book i should read for that as i dont have any idea about any of them...
Originally posted by kirti sharma: hey guys i have done core java, jsp, servlets... i want to proceed further...what should i do nxt shoud i go for struts or ejbs also tell me which book i should read for that as i dont have any idea about any of them...
Kirti, your devotion to IT is striking me as excessive. Now, there is a fine balance between becoming an IT generalist without a job, an IT generalist with a job, and an IT specialist with a job.
Ideally, you should strive to be an IT generalist with a job, but you still have to know a couple of technologies, as they say, in-depth.
The first real question you have to address is, do you have a Computer Science degree? If you don't, I suggest you get one, because as much as you try without it, you will still have to learn what people there learn about how the computer works. Might as well do it in a setting that encourages forced learning.
The second real question is, which technologies should you learn in order to be a great programmer?
I think - this is my personal opinion only - that you need J2EE and .NET, Hibernate, Spring and an open-source framework such as DJango or Ruby on Rails.
Within J2EE you definitely need EJBs. Even though Spring is a better choice for developing J2EE these days (again, my personal opinion only), EJB is still the test of whether you know J2EE or not.
Now that you learned all of those things, ask yourself: how productive are you?
Time to learn to hate writing code and to love reusable, well-tested libraries; time to know all the debugger options, local and remote, and the testing models...
Time to understand that a project is made or broken at the architectural phase. The rest is pre-determined.
In other words, knowing the technology is only part of the picture. For instance, devise an algorithm, given two random points on a binary tree, of finding out their most common ancestor, and try for the algorithm to be as efficient as possible in terms of both number of operations and memory requirements. [ October 21, 2008: Message edited by: Anton Golovin ]
Anton Golovin (email@example.com) SCJP, SCJD, SCBCD, SCWCD, OCEJWSD, SCEA/OCMJEA [JEE certs from Sun/Oracle]