Our reading groups

One of the best ways to learn from some of the best developers is to read their books and it is even more interesting and valuable to read them together with other developers to compare your own insights from what you have read with theirs. That is why we have arranged a number of reading groups within IBM:s internal Java developers community before. In the first of them did we read Implementation Patterns by Kent Beck and the next time, during 2013, did we read Domain-Driven Design, Tackling Complexity in the Heart of Software by Eric Evans. We read a part of the book and met every or every second week in a phone meeting to discuss what we have read. The last time were we seven developers from Austria, Canada, me from Sweden, UK and US that participated. We had different level of experience and were working with different type of development but that only brought to interesting questions and interesting discussions.

Now will we try to run our reading groups outside of IBM so that both IBMers and non IBMers may take part of them. There are many passionate and skilled developers outside of IBM that we would like to learn from so we really encourage anyone, IBMer or not, to take part of this.


How our reading groups works

Here is a general description about how we have run our reading groups so far. But any ideas for improvement are welcome.

First, what should we read?

When we are going to start a new reading group do we first invite anyone that is interested to participate to a discussion where we suggest and discuss what we should read. The literature is usually within the literature of interest for developers, architects and others that are interested of development and effective project execution and mostly development that is related to Java or Java related development. When many enough have raised their interest for participation in the reading group do we vote about which of the books suggested we should read and let the majority decide.

Next, when should we meet?

The next thing to discuss is when we should meet. A global reading group like these is very exciting with its differences in culture and experience level among its participants but it is complicated when we live and work in different time zones. Not to forget that not all countries have daylight savings time which adjusts the time one hour during part of the year. Whichever time we select will it usually collide with working time for many participants so we have to compromise. We discuss the time and try to find a time slot that works for as many of us as possible and in case of need we vote about which time we should meet.

There is not many time slots to choose between if we have participants both from west and east. For example, when the time is 7:00 am in New York is it 8:00 pm in Beijing


New York London (GMT) Bangalore Beijing
7:00 am 12:00 am 5:30 pm 8:00 pm

If we would have participants from Los Angeles in the west and Brisbane in east also would it be even worse. When the time is 5:00 am in Los Angeles is it 11:00 pm in Brisbane


Los Angeles New York London (GMT) Bangalore Beijing Brisbane
5:00 am 8:00 am 1:00 pm 6:30 pm 9:00 pm 11:00 pm


The meeting planner at www.timeanddate.com and the time zone map at www.worldtimezone.com are useful for this planning.

Then it starts

When we have selected and bought us a book and decided about what time we should meet do we read a part of it and call in to a phone meeting every or every second week to discuss what we have read and compare our insights with the others during one our. We do often have different opinions to what we have read or have understood it in different ways and that brings to a good discussion and more insights for all of us. The meetings are usually organised so that one of the participants leads us through what we have read and and talks about it and let the others interrupt and comment points of interest.

IBMers have access to the AT&T tele conference services that makes it possible to set up a phone meeting which everyone may call in to at a local number or a number without charge.

Other things good to know

One good thing with participating in a reading group is that it force us to read. We should have read the part we agreed about until the reading group meeting and this gentle pressure gets us to read and learn. We try to keep a speed that should be possible for everyone to keep, that is, not too fast. There are no requirements about any skills in advance except basic understanding about development and usually also basic understanding about Java. We will always have different level of experiences and skills in advance and we have to respect that not everyone will have the same deep of understanding when we read together. But that is okay. All of us have been young in the beginning. What makes the real difference between us and others is the passion to learn and grow, that is what brings us together!

Respect confidential information! We will be participants from different companies and projects so we must be careful with information that is confidential. Knowledge and public information about our projects is not confidential but implementation details may be. Anyone that participate in our reading groups should use common sense to be careful with confidential information and anyone that accidentally take part of confidential information should not use it or spread it further.

Participation in our reading groups is quite voluntary. If our own manager not allows us to participate on working time do we have to do it on unpaid time but that should be okay as it is valuable for our employers when we grow and learn new things that makes us more experienced in our work. Whether we pay for the literature ourselves or not is also something we have to discuss with our manager. But the learning from a really good book, one of the best available for developers, is invaluable and makes the price for the book worth to pay many times.