Thinking parallel: The process of learning concurrency