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.
This question isn't really specific to Seam but applies to any application framework... I studied Java, but I do not currently use it at work (so far ). However, I do think it was useful that I studied it because: 1) I can put it on my resume ; 2) I can start coding little personal projects in it; 3) I started learning about object-oriented programming. I'm not sure that reading up on an application framework makes sense for someone in my position. For example, I've been looking at posts that ask "Which is the best framework" or "What framework should I use" and the answer usually is something along the lines of "What kind of project do you have" which in my case is no kind of project. Can one really "play around" with an application framework?
Why not. IoC and AOP are quite important concepts. And I believe you need to do your hands dirty to stomach these.
Generally, these open source frameworks teach you many things, like how we should do a partiuclar thing in terms of design and best practices. And sometimes you learn why that framework is not as good as this one. Or may be you want to play around with all these to remain updated. And its fun too.
You should absolutely study application frameworks. For the purpose of becoming a better developer, it doesn't matter what type of application you are currently developing or if you aren't currently developing an application (there is no rule you have to put it into practice right away). The reason I say that is because you learn so many things that, even subconsciously, you end up applying somewhere down the line. Personally, I think that Seam (and by the same argument Spring) is worth studying because you get to touch on every aspect of the Java EE platform and enterprise development in general.
Start by creating your own applications. I find that a majority of people employed in a software developer position never apply their talents to make their own lives better. Keep track of what restaurants you like, which beers you have tried, your TODO list for the week, or how long your drive is to work at various times during the day. Write software when you are not on the clock so that when you finally do get that contract or job and have to develop something on a tight schedule, you will be warmed up and ready to go.
learn how to use jBPM integration in Seam and the business process context. you never know when you'll need it. so far (over a year of Seam 1.2 and Seam 2 dev), I have only done simple CRUD apps at my employer and used the hell out of conversation-scoped components, bijection, and JPA/Hibernate.