But no matter what you think about formal education, it has one thing going for it: The separation of teacher and student. Ideally, while the teacher has an interest in the student's success, the teacher does not rely on the student's influence. The teacher can fail the student. The teacher can force the student to learn things that are not fun or interesting. A student who just wants to learn enough to get a job can be forced to learn things that "Won't be asked in the interview." A student who loves the recreational aspects of computer science can be dragged away from optimizing his personal HashLife project and told to get cracking on understanding principles of large-scale software architecture.