How Software Developers Can Better Collaborate with Hardware Teams