Previous Lecture Complete and continue  

  The Ground Rules

This is intended as an indefinite, open-ended learning environment. I'll continue to run it as long as people want to learn with me. My vision involves building a learning community that we all love to participate in, and which helps us all learn. I'll share what I know and try to help you succeed at your work.

At first, I expect us to focus on programmers and programming, but I don't want to limit what we learn. It remains my responsibility–and I take this very seriously–to set limits on what I feel comfortable teaching and admit when I'm out of my depth. I will never try to teach what I don't confidently understand.

I have designed this as a companion to the World's Best Intro to TDD courses, so you'll find people here discussing what's going on in those courses. Even if you don't participate in those courses, we will at least discuss all things TDD, including programmer/unit testing, modular design, object-oriented programming, functional programming, Java, Ruby, Python... you get the idea. We will also invariably talk about discipline and good habits for programmers, how to communicate with other programmers as well as other people, how to manage projects and products, XP, Scrum, Kanban Method... you decide.

The most important message I have for you is this: this is your opportunity to learn from and with J. B. the things that matter most to you. You can (and should!) go through J. B.'s other training courses, but if you don't want to wait for some future course to answer your burning question, then ask it here!

How This Course Works

You participate in the comment threads on each "lecture" page. You can ask a question anywhere, and J. B. will queue it up for an answer. He will organise answers accordingly, and on those pages you'll find comment threads for follow-up questions, comments, criticisms, whatever. With any luck, over time the result will look like curated course material.

If you see someone ask a question and want to answer it yourself, then feel free to respond in the comments. Also feel free to link to outside resources, but please... no spam, no link-bait, no marketing.

J. B. commits to answering questions twice per month, approximately once every two weeks. Due to his travel schedule, he can't commit to more than that; however, he expects to be able to answer questions much more frequently than this. For example, he's scheduled to stay home most of April-August 2015, but he will have about a month of travel from late May to late June 2015, so you can expect less participation from about May 15 to June 30, but more participation the rest of the time. He will announce periods of minimal participation as far in advance as he can, so that you can plan accordingly.

J. B. will generally choose the appropriate format to answer your question, which might be text (article), podcast (audio) or demonstration (video). If you have a specific request, then he will try to honor it, but he can't record and produce 100 hours of video per month. He intends to bundle your questions into a podcast, so that you have something to listen to on your commute, but he expects the podcast to supplement the text-based answers, so you'll never be forced to listen to audio when you prefer to read or skim text. In all cases, his goal is to get you a useful answer soon, then develop better answers over time.

Especially when J. B. answers a question with a video demonstration, he will produce a rough cut demo and post it sooner, rather than striving for high production value and delaying release.

Don't Be Shy!

Ask as many questions as you want. Don't hold back. Offer your ideas to your fellow learners. This course works because you drive the learning. If you don't know what you need to learn, then other training courses like The World's Best Intro to TDD probably fit you better. (Moreover, selected training courses include a month's free subscription to this course, anyway, so there's no risk for you to try one instead of the other.)

Some Legal-ish Stuff

I'm not going to spam you, and you're not going to spam me. More generally, I'm not going to act abusively and neither will you. If I detect abuse, then I will simply kick you out and keep your money.

I reserve the right to use the discussions in this course to help design material for future training courses, but I will never include your personal details in those courses. I will anonymise your code, your words, everything. No-one who hasn't had access to this course will know that that material came from you.

You will not distribute the content of this course to people who are not participating here, although I hope you will tell your friends and colleagues in general terms what you're learning here and how wonderful the experience is. The more learners we have, the richer the experience.

If, at any time, I need to change these ground rules, then I will do it openly and prominently.