Text this: Software engineering for parallel and distributed systems