File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
The moose likes Jobs Discussion and the fly likes best direction Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Murach's Java Servlets and JSP this week in the Servlets forum!
JavaRanch » Java Forums » Careers » Jobs Discussion
Bookmark "best direction" Watch "best direction" New topic
Author

best direction

jakes vandenberg
Greenhorn

Joined: Nov 05, 2004
Posts: 14
All,
I have about 4 years Java(1.4)/J2EE experience, using Struts framework, Javascript, some AJAX, DB2, JSP and Servlets. I recently got laid off and I'm trying to figure out which direction I should go next.

Which technolgies/frameworks would be best to learn? Should I try to contribute to open source projects to gain experience in said technolgies/frameworks?
Should I get SCJP? Which other certifications are recommended?

Thanks for your input.

J
Mark Herschberg
Sheriff

Joined: Dec 04, 2000
Posts: 6037
This is a commonly discussed topic so you may want to search the forum for prior comments and suggestions. You'll find many of my own stating that if you're focusing on technologies as opposed to soft skills, you're already at a disadvantage.

--Mark
tapeshwar sharma
Ranch Hand

Joined: Mar 10, 2006
Posts: 245
Hi Mark,
hope you are doing well.

if you're focusing on technologies as opposed to soft skills, you're already at a disadvantage.


As I see the market, the resume is not even picked up if it doesn't match the specific terms that are mentioned in the requirement.Soft skills are good to have, but technical skills matching is the 1st step. Most Head Hunters are particular not only about the technologies, but also about the version.
This is because
1) they are not technical people, so can't blame them.
2) Sometimes, they are not experienced enough to realize that a person who has done well in one technology will not take much time to bring him/herself to speed in another one.
I guess by the time they gain such experience, they become managers and someone new comes in. :-)
The other day I didn't mention "Tiles" with Struts in my resume; to me the former is almost intrinsic to the latter, going by the environment that I've worked in the past.
I followed up and the recruiter told me that my resume has been filtered out. I am not angry with him. How would he know that Tiles are not Rocket science?
So, while I agree with you that "Soft Skills over Technical skills" should be the case, reality dictates otherwise.
Alright, mine and the OP's reality dictates otherwise.
Mark Herschberg
Sheriff

Joined: Dec 04, 2000
Posts: 6037
Originally posted by prashant bhardwaj:

So, while I agree with you that "Soft Skills over Technical skills" should be the case, reality dictates otherwise.
Alright, mine and the OP's reality dictates otherwise.


By the process you suggested you are right, of course, if that's the job hunting process you are following, you're career isn't likely to go far to begin with so it's somewhat moot.

The better companies and better managers know that there is more than key words that need to match. True, that may not be the majority, but frankly I don't want to work for a majority of the companies, I want to work for the good managers who hire good teams at good companies.

Second, if you're method of finding a job is by submitting it to HR you're playing long shots to begin with. As has been noted here time and again, the best ways to find jobs is through your contacts; the worst way to find a job is by submitting it to HR.

--Mark
tapeshwar sharma
Ranch Hand

Joined: Mar 10, 2006
Posts: 245

... the best ways to find jobs is through your contacts;

thanks for the reply.
Perhaps I need some training or tips about how to make such contacts.
If one is out of job, what are the odds of being able to find genuine, sincere recruiters who are looking for equally genuine candidates ?
Its usually only when looking for permanent staff that people look for soft, real skills.
I do not want to be permanent anymore because of having had bad experiences with a company in the past that made me realize that its not the corporate's Goal, but your boss's goal that your Goals need to be aligned with.
Mark Herschberg
Sheriff

Joined: Dec 04, 2000
Posts: 6037
Good questions Prashant, but let's not hijack Jakes' thread unless he wants it to go int this direction.

--Mark
tapeshwar sharma
Ranch Hand

Joined: Mar 10, 2006
Posts: 245
Sorry about that.
If you are inclined to answer such questions then may I start another thread?
Mark Herschberg
Sheriff

Joined: Dec 04, 2000
Posts: 6037
You're welcome to start another thread although I would wait a day or so to see if Jakes wants to continue it in this thread first.

--Mark
arulk pillai
Author
Ranch Hand

Joined: May 31, 2007
Posts: 3219
Jakes,
  • Try voluntary work. Voluntary work shows commitment and initiative, even if it is not mentally stimulating. It can increase your industry knowledge, give you the much needed hands-on experience, and give you something to write in your resume without any prolonged gap of employment. Since the task of applying for a paid full-time position can take up considerable time, you could start working voluntarily 2-3 days a week. Now, on a more positive note, while gaining hands-on experience and learning on the job, you will likely uncover paid opportunities by being an excellent contributor with enthusiasm and personal growth or by networking with similar professionals you would not have met otherwise. Voluntary work is generally a win/win situation for both the employer and the employee. Smaller companies are more likely to offer voluntary work.
  • Contribute to open-source projects to gain much needed hands-on experience in sought-after technologies and frameworks. The choices are plenty ranging from widely used products such as NetBeans, Eclipse, GlassFish, etc to smaller hobby projects, which have been open-sourced by their developers. How do you benefit from open-source project contributions?


  • -- Gives you a pretty good big picture of different technologies, tools and frameworks used in a typical application. A typical Java application uses eclipse or NetBeans, Java, JUnit, Log4j, Ant, Maven2, Spring, Hibernate, Apache commons library, etc. Try to analyze and understand how all these pieces fit together.

    -- You get to read a lot of code and learn from it. You can not only learn the best practices, but also can learn to identify potential issues.

    --Write your own small programs just to learn the language and libraries (APIs) used in the open source projects. For example, Java APIs and Apache commons library that has very useful utility methods such as StringUtils, CollectionUtils, MapUtils, BeanComparator, Validate, etc. Observe the coding and formatting standards.

    --Learn how to use the tools like CVS, SVN, Eclipse, Maven2, Net Beans, etc.

    --Experiment by making changes to your local copy of the code. Try going through JEE deployment descriptors, Spring, and Hibernate configuration files to understand how different pieces are wired up.
  • Self-taught projects and tutorials to build up confidence and acquire some level of experience with the sought-after technologies and frameworks. Some open-source projects can be a bit overwhelming for some beginners. So, choose carefully. Alternatively, you could take up some self-taught projects by using sought-after technologies and frameworks. While this can be an easier option, it is not easy to be disciplined and looks less impressive on your resume compared to open-source contribution. Having said that, this option is better than not doing anything at all. It at least, shows commitment and initiative with some level of familiarity with popular technologies and frameworks. Improve credibility by providing your URL or mentioning availability of your source code. What is even better is that, if your self-taught project is based on a creative idea and if you think it can be useful to others, you can open-source it or even try selling it.



  • Each approach has its own pros and cons. If you are a beginner and looking for work, voluntary work will not only give you the experience employers are looking for, but also can open doors for paid job opportunities. If you are already in an employment, and not mentally challenged or not acquiring the required skills and experience, try contributing to open-source projects. If you are not in much luck with first two options, and sitting idly or you have a bright idea, then try working on a self-taught project, while looking for a paid job.

    Some of the beginners and unemployed are more tempted to get back to school doing a post-graduate study or gaining additional certifications with a view of improving their employment prospects. This is not a bad idea, but in my view this has a lesser chance of improving your short term employment prospects, won�t give you the experience and personal growth what the prospective employers are looking for, and will look less impressive on your resume compared to more hands-on experience driven accomplishments. I strongly believe that academic qualifications should go hand-in-hand with practical experience. Professional experience can help one better identify his or her strengths, weaknesses, and interests, and align appropriately his or her future educational needs.

    [ October 16, 2008: Message edited by: arulk pillai ]
    [ October 16, 2008: Message edited by: arulk pillai ]

    Java Interview Questions and Answers Blog | Amazon.com profile | Java Interview Books
    jakes vandenberg
    Greenhorn

    Joined: Nov 05, 2004
    Posts: 14
    Sorry for only replying back now.
    Even though I understand Mark's point of having soft skills, I don't think that soft skills are going to help much in trying to learn or improve on technical skills like Hibernate, Spring, EJB, JMS that are requirements in job opportunities.

    As for open-source projects, I notice that for most of them you need some experience. So the question is, if I don't have any Hibernate experience for example but wants to learn and I see a project that uses Hibernate should I request to be a contributor? But how can I contribute to something I have no knowledge?

    Thanks for your input, Arulk. Much appreciated.

    One last thing before I get off my soapbox.
    Maybe I should have changed my topic to "Hot Skills" as I read in a discussion on here that was posted a couple of years ago. So my question would be more specific on what 5-10 skills are HOT right now in web development world??
    arulk pillai
    Author
    Ranch Hand

    Joined: May 31, 2007
    Posts: 3219
    Check your local online advertisements to see what the job specifications are saying to be precise in your locale. In general


    1. Hibernate (Data must be persisted)
    2. Web development frameworks like JSF, Struts (most jobs are Web development based)
    3. Spring (very handy and popular framework)
    4. Integration technologies/frameworks like Web Services, JMS, XML, and XSD (Most applications need to talk to other applications for data, etc)
    [ October 28, 2008: Message edited by: arulk pillai ]
    Sharon Miller
    Greenhorn

    Joined: Mar 25, 2002
    Posts: 10
    Jake,

    It sounds like you have some web development experience. As you might have some time between jobs to learn new things, now might be a good time to focus on a particular technology.

    The current trend in Web applications seems to be the notion of Web 2.0 or even 3.0 technologies. It would benefit you to learn more about Rich Internet Application development. To start off, you could learn how to use Flex and Actionscript. The Flex SDK is free and both Eclipse and Netbeans have plugins for Flex. The Glassfish server is also an easy to install JEE application server that can be used for your application's server related needs. Note: It's always easier to find UI developer positions rather than server side developer positions. Flex and Actionscript make it really easy to learn Web UI (no more messy Javascript or Ajax). Your knowledge of Java and OO skills will help you in the new environment.

    Once you have the presentation layer all squared away, you can focus on the server side technologies. As mentioned previously, Spring is an excellent framework to get to know. It will provide you with opportunities to learn more about dependency injection, aspect oriented programming, and another MVC framework. Besides you also have experience in JEE environments that can be enhanced with the use of Spring.

    The other technology that is very good to know would be XML and all related technologies such as XSLT and XSD. This in turn will make it easier for you to understand how to write configurations for Spring, Hibernate, Ant, Maven, etc. XML is also used in Web Services to define services for Applications that are involved in service oriented architectures. You could also learn to use JAXB (Java to XML Binding) which will come in handy when you need to send XML from the server to your presentation layer as in AJAX or even in Flex.


    Best of luck,

    -Sharon Miller
     
    With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
     
    subject: best direction
     
    Similar Threads
    career guidance help
    Showing Entity in class diagram
    Should I go for it ?
    Preferred Pattern (Industry Standard?)
    Java Frameworks ; it has become somewhat of a joke. So we must to vote