I've recently started going through the Raft lab for 6.824 (and still working on it), and I /highly/ recommend doing the labs in this course (I am not an MIT student, nor in college). This course is fairly practical in nature, and will expose you to the real-world aspects of distributed systems!<p>Even the first assignment, which is just implementing aspects of mapreduce, will make you exercise some nice concurrency concepts. They have tests and everything to check that you have a working implementation!<p>At the very least, checkout the recommended readings!