This week's book giveaway is in the OCMJEA forum. We're giving away four copies of OCM Java EE 6 Enterprise Architect Exam Guide and have Paul Allen & Joseph Bambara on-line! See this thread for details.
I've participated in these at a couple of companies I've worked for. In some cases, we picked a book (like Fowler's Refactoring, or a Java certification study guide) and covered one chapter a week, with a different person responsible for presenting each week. At another company, we picked a new language and spent a month or two working through Euler problems, and presenting our various solutions to the group.
I'm thinking of applying the idea to my current company for Android programing, but it's a government contractor, and the developers tend to be a bit stodgy and unmotivated. I'd really appreciate suggestions for "marketing" the class (beyond the fact that it's free), and organizing it to be fun and productive. What works and what doesn't in your experience?
I co-founded a lunchtime group many years ago and it is still running. It is about learning, but it doesn't require going an ongoing commitment. We get many regulars and a number of people who come very once in a while. And we meet once a month so it isn't a big commitment even for regulars.
I also participated in two study groups that are more like what you are talking about. One was a web services study group where we worked through the Sun (at the time) manual together. It was ok. It was nice to learn as a group. We also had a "book club" type book. That turned out to be too much of a commitment for people.
As far as marketing, here's some thoughts:
1) Why should people come? Is it useful for their current job? Next job? General interest? Just for fun.
2) Can developers put it on their goal list to show learning.
3) Always meet the same day/time/room. IT makes it harder for people to forget to come and get unused to coming.
Also, if developers don't want to learn and it isn't directly useful to their current job, why force it? Some people just plain don't want to. I insist my teammates learn things that are directly applicable (regular expressions, Java 5, jQuery, etc) through presentations. And many people want to learn more than the minimum because things are interesting. But some just want to do their job and go home. That's not a viable long term plan, but it also isn't my responsibility to fix.
Maybe if you have trouble getting people to sign up for a regular session, you could try Jeanne's idea of presentations instead? I recently started working for a government organisation where there are a few of us who want to share and develop our skills and try to encourage our colleagues to do likewise, so we're thinking of running regular sessions where people can give an informal presentation or simply explore techy topics of interest together. We haven't got it off the ground yet (things seem to move very slowly in the public sector...), but I'm hoping it will inject some life into the development team and allow us to take advantage of the range of skills/experience on the team already.