Text this: Principles and Practices of Building Parallel Software