Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Background Information

I have been into programming since past 1 years professionally, my day to day work includes writing BIRT reports, designing and validating forms using JEE (struts/spring, hibernate).

I don't have a comp Sci 4 year degree (Electronics), so I have very Limited experience in comp Sci.


JEE frameworks (struts1/2, spring, hibernate etc) are hot nowadays, however java world have a tendency of building A4j, B4J... mayway4J kind of stuff (and I am tired of it). AFAIK, frameworks are nothing but bunch of XML config files and hundreds of classes built to cram (by developer). And sooner then later a new framework come into picture that says I am the best among all.

So My Question is -

1.What will you do to learn a framework (many frameworks) considering that it can be obsolete till you'll be master in it (Learning frameworks can take significant amount of time)?

2.Considering early into your career, will you give a damn that how well someone knows framework (knowing frame work is important but still..) and why/how should I learn a framework knowing I have to (un)learn it in order to learn other one (plenty of of 4Js....)?

I am just trying to get a big picture, that, if you're in place of me, what would be your learning/cramming strategy (Road map)?

I am not intended to start a holy war between A versus B, (frameworks are more or less essential).

share|improve this question

closed as off-topic by durron597, Snowman, MichaelT, Dan Pichelman, gnat Jun 5 '15 at 22:02

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking career or education advice are off topic on Programmers. They are only meaningful to the asker and do not generate lasting value for the broader programming community. Furthermore, in most cases, any answer is going to be a subjective opinion that may not take into account all the nuances of a (your) particular circumstance." – durron597, Snowman, MichaelT, Dan Pichelman, gnat
If this question can be reworded to fit the rules in the help center, please edit the question.

up vote 3 down vote accepted

If your objective is career development, I really think you shouldn't focus on most specific frameworks. Frameworks come and go fast, as you said, and all of them derive from a few core technologies, so it's perhaps wiser to invest in learning some principles.

Spring and Hibernate are quite standard by now and are, most would agree, likely to stay relevant for a while, especially since they're compatible with most newer frameworks. It would be good to know the basics about them... and you're working with them daily, so you probably already do. If you master them, that knowledge should make it a little easier for you to get into any other frameworks.

But what most employers will seek is raw, environment-independent development skill. Being able to organize your thoughts, development strategies, and code, independently of framework (or language, or technical environment in general) limitations. Learning more about programming strategies and patterns in general, general problem-solving, advanced Java EE tricks, and even this basic CompSci background you said you lack will all probably serve you better at this point; and, especially, enable you to learn new frameworks much more quickly. That kind of skill should allow you to get a more structured and high-level vision of the development process, which can really help your career as well.

The point is, in situations where rapid technological changes are the norm, investing in basic skills can save you, by making you adaptable. You know you're likely to be always learning the next technology, so you'd better become able to learn them fast. The idea is to try to reach a level where, if you want a type of job that requires basic or intermediate knowledge of a new framework, you can start pet projects using it, and master it reasonably quickly.

share|improve this answer
exactly , the kind of answer I am looking for ....Big Thanks – vibhor Apr 13 '12 at 6:23

The first thing to consider is,

What are you trying to achieve?

If your goal is to get a software engineering job at some company, then working on your problem solving skills will get you a lot further than learning some framework that may or may not end up being useful.

Of course, one great way to sharpen your problem solving skills is to find something you're interested in, make a personal project out of it, and work it to some degree of completion. In that process, you will have discovered and used some relevant frameworks, and the knowledge will stay with you as you'll have applied it to something.

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.