Re: Requirements for j2ee developer
Sachin wrote:
Hello All,
I am a newly recruited software devloper and this is my first job. I
allocated for a j2ee project.
I know basic java; and things like networking, jdbc,rmi,servlets.
I want to know what are the basic requirements a programmer should have
when involved in a j2ee project, does he require a good knowledge in
sql ?
It depend a bit on where your focus is, is it front end or back end etc.
But generally I would say that general SQL is good, but you should also
learn more about a specific database or two, so that you are not
completely blank when people talk about specific db details, f.ex. in my
experience mysql is increasingly being used, Oracle is also used quite a
lot.
Other things you should learn are OO design and principles, f.ex The
Gang of Four Book, or if that is to heavy for you (it is for many) you
could try the Patterns In Java or even Head First Design Patterns.
Patterns and are things you have to learn by practising how to apply a
pattern to a problem. I think a good grasp of real-life concurrency is
an important part. That is, after you have read the chapter in the java
book about it, you need to look for the kind of design problems people
are discussing on the net or in articles. One thing is knowing the
mechanics of it, the other thing is, understanding it and how it affects
the efficiency and correctness of you program. If you don't understand
that then you will be chasing bugs forever. There are some excellent
papers on the net.
Another thing you probably should start learning immediately is Web
Services, or SOAP. It is rapidly replacing most other RPC methods,
because its simple in design and system independent, sort of the HTTP
equivalent to RPC. Web services is the principle of system integration
for which SOAP is based on. Learning it will help you understand how to
best make systems that communicate with each other in the most
transparent way.
You should also understand XML and learn to deal with xml data.
You should also learn the basic tools, a build tool, some test tools
(e.g. JUnit), source revision tools, a development environment (choose
one that helps you automate things as much as possible, because it will
help you save time by avoid bugs, typing errors, compiler errors, and
time spent on debugging.)
You should most likely learn some web stuff, HTML, JSP, Web Framework,
JavaScript, Ajax, etc.
A last advice, learn to KISS (Keep It Simple Stupid) and that 50% of
programming is about designing, choosing the simplest solution and
maintainance of code. It will save you many agonising hours in chasing
bugs or spending time on maintenance when you could instead be creating
new stuff.
tom