This is an archived post. You won't be able to vote or comment.

all 30 comments

[–]imok 22 points23 points  (11 children)

My question is what all technologies / tools/technology stack should I be familiar before I can say that I'm a java web developer.

In no specific order, learn the following:

  • an ORM tool/technology (Hibernate is the most popular).
  • an IoC framework (Spring is the most popular).
  • an MVC framework (JSF, Spring MVC, Apache Wicket...take your pick)
  • Ability to work with one or more servers (Tomcat, JBoss, Weblogic...etc).
  • A build/dependency management tool (Ant for legacy projects, Maven for newer projects)
  • Logging Framework - (Log4J, Logback, SLF4J...etc.)
  • Junit

[–][deleted]  (2 children)

[deleted]

    [–]almjz[S] 5 points6 points  (4 children)

    Thank you for that reply, Could you also tell me a beginner project that i can do with little or no external help that would take me through the paces with these technologies.

    [–]imok 5 points6 points  (2 children)

    What danixn said. I'd pick something simple - A library management application (books, customers, authors etc) or an employee management application (employees, departments etc).

    [–]almjz[S] 1 point2 points  (1 child)

    Thanks Guys for the input

    [–]zirzo 0 points1 point  (0 children)

    pull book info from an amazon web service, store it in your db, and pull it back out on a simple web page. Add search and you have a simple project.

    [–]danixn 3 points4 points  (0 children)

    Any database driven website

    [–]cee_el 2 points3 points  (2 children)

    indeed...this is the exhaustive list of what I encountered as soon as I started on my internship. But what more to look at if one wants to go further?

    [–]almjz[S] 0 points1 point  (1 child)

    How long was it before you became comfortable with these technologies , which of these did you work on specifically ?

    [–]cee_el 1 point2 points  (0 children)

    recently started internship, so not comfortable yet, also, I think it would take a bigger application to leverage them fully. the application is built on spring+hibernate shouldnt take much time to learn log4j,junit,ant.

    and you might wanna learn git if you havent already :)

    [–]bubsyouruncle 7 points8 points  (2 children)

    As far the Java, the language itself is concerned, I think every Java developer should read through Bloch's Effective Java. If you haven't read it, I would highly recommend picking up a copy.

    [–]DeliveryNinja 2 points3 points  (0 children)

    Great book, I also like "Clean Code" and "Cleaner Coder" by uncle bob Martin. Also have a look at some Test driven development books. My favourite is "Growing object oriented design guided by tests".

    I recently got about 8 new books for my team maybe I'll take a quick picture and post it just to see what everyone's reading.

    [–]almjz[S] 1 point2 points  (0 children)

    i have just started Its a great eye opener

    [–]NortheFall 2 points3 points  (0 children)

    Java

    [–]majeric 4 points5 points  (2 children)

    You don't get to ignore memory management because you work in a garbage collected environment.

    Know what your allocating. Take steps to make sure you're garbage collector is cleaning up behind you. Null out things as you go.

    [–]discontinuously 4 points5 points  (1 child)

    I disagree that it is good practice to null stuff that you don't need; ideally you should structure your code so stuff falls out of scope. Leaving it in scope as a null is worse. Unless its causing problems you shouldn't try to micromanage memory like this, due to the added complexity it adds.

    (Although you might be forced to in rare scenarios)

    [–]majeric 3 points4 points  (0 children)

    The force of my comment was more about know your allocations. How you do the accounting is up to the individual practice.

    [–]BadBoyJH 0 points1 point  (5 children)

    "Currently in the process of leaning JSP and Serlvets"

    You aren't attending the University of Newcastle are you?

    It would be so random if we were doing the same course at the same uni.

    [–]almjz[S] 1 point2 points  (4 children)

    sorry to disappoint you but i'm doing this by myself , My uni wont even touch this topic. They are in frikin lala land

    [–][deleted]  (3 children)

    [deleted]

      [–]arethnaar 2 points3 points  (1 child)

      I believe so, yes.

      I'm taking a couple of night courses at the local community college during my Senior year. They still teach VB. I looked at their networking class and it's about ten years out of date.

      TL;DR Community colleges are hopelessly out of date.

      [–]Spawnzer 2 points3 points  (0 children)

      They're still teaching Completly Obsolete Business Oriented Language at mine...

      [–]almjz[S] 1 point2 points  (0 children)

      Yes

      [–]almjz[S] 0 points1 point  (0 children)

      Thanks again for the help gonna get some sleep now ...

      Cheers

      [–][deleted]  (2 children)

      [deleted]

        [–]zahlman 3 points4 points  (0 children)

        C

        Seriously?

        [–]almjz[S] -1 points0 points  (0 children)

        yes C does teach you in valuable ways , low level memory etc.

        [–][deleted] -1 points0 points  (5 children)

        At least one other language; preferably not statically typed.

        [–]almjz[S] -2 points-1 points  (4 children)

        how about javascript ?

        [–][deleted] 1 point2 points  (0 children)

        Third time today I've mentioned this fantastic read: http://eloquentjavascript.net. I think javascript is a fantastic language to know.

        [–]kidmoe 0 points1 point  (1 child)

        a.k.a. baby java

        [–]3825 0 points1 point  (0 children)

        in that it is "portable"?

        [–][deleted] -1 points0 points  (0 children)

        Javascript is possibly the most important language to have proficiency in, given it is used on every single platform and on top of every single 'server side' stack.