Multicore processors are on every desk now. How are we going to make use of the extra power they provide? A promising solution is parallel programming using collections. Programing by transforming and aggregating collections is simple and powerful, and can be parallelized well. In this talk I will describe the design principles behind the Scala collections framework which implements these ideas.