Plato Elevate Winter Summit has been announced (Dec 7th-8th)

🔥

Back to resources

Building Software in a Hardware Company

Internal Communication
Collaboration

30 April, 2021

Marissa Mocenigo
Marissa Mocenigo

Engineering Manager at Taxfix

Marissa Mocenigo, Engineering Manager at Taxfix, speaks of her challenges as a software engineer in a hardware company as she shares how ensuring a close working relationship and good communication between hardware and software engineers is at the forefront of success.

Problem

As a software engineer, working in a hardware company has different challenges and obstacles. Longer lead times on hardware can cause delays or blockers for software development milestones, without delaying deadlines. Testing can be limited by the availability of devices. Once the hardware is manufactured, software might be the only option for adapting necessary workarounds.

Actions taken

Bring together hardware and software engineers early to brainstorm and document risks and solutions.
It’s never too early to start documenting risks that may result from hardware design or failures. There may be some cases where software can provide a simple workaround, and it helps to prioritizes potential pain points that cannot easily be solved with a software solution.

If possible, create a virtual testing platform that replicates the hardware.

Everything should eventually be tested on the actual hardware, but it may take several iterations to get a feature working properly. Many early hardware startups only have a couple, if any prototypes, available for testing and small, early hardware runs can be expensive to produce. Creating a virtual version of the hardware can unblock software development and can also reduce the need for mass testing devices.

Create resource calendars to book hardware devices.

This tip probably seems relatively trivial, but I’ve seen so many places fail to do this and struggle with who has what device where and for how long. As above, it’s important to test on the hardware but availability can be limited for many reasons. Use the company’s calendaring system to book devices similarly to booking a meeting room. If marketing needs a device to take to trade shows, they should be sure to book it in advance. If an engineer needs a device for testing, they know who to ask if all the devices are booked up, and they can plan around availability when working on a feature.

Document a common understanding of shared APIs.

This is important at any company, but it’s even more important when bridging across hardware and software. Ideally, this will allow you to parallelize tasks as much as possible. Front-end engineers, for example, can start developing features and mock up calls to the device that can then be implemented later.

Lessons learned

Working at a hardware company has some of the same challenges as working in any software startup; however, some challenges can be exacerbated by timelines, coordination, and collaboration. The focus of many of these actions is communication, and ensuring a close working relationship and good communication between hardware and software engineers is at the forefront of success.

Discover Plato

Scale your coaching effort for your engineering and product teams
Develop yourself to become a stronger engineering / product leader


Related stories

Preparing Your Team for the Remote Workplace

29 November

Vadim Antonov, Engineering Manager at Meta, dictates how he brought a brand new team into the remote learning process by ramping up onboarding and creating a mentor system.

Alignment
Remote
Internal Communication
Coaching / Training / Mentorship
Data Team
Cross-Functional Collaboration
Vadim Antonov

Vadim Antonov

Engineering Manager at Facebook

Specialization vs. Wearing Many Hats

23 November

William Bajzek, Director of Engineering at Sapphire Digital, compares and contrasts a team structure that utilized siloed skill sets and one where everybody’s duties overlap at the edges.

Internal Communication
Collaboration
William Bajzek

William Bajzek

Director of Engineering at Sapphire Digital

Mergers and Acquisitions: Collaboration tools hold a key to bringing cultures together

23 November

Neelima Annam, Sr Director Information Technology at Outmatch, shares how something as minor as collaboration tools can be a BIG issue during mergers and acquisitions.

Acquisition / Integration
Internal Communication
Collaboration
Neelima Annam

Neelima Annam

Sr. Director Information Technology at Outmatch HCM

The art of managing up

19 November

James Engelbert, Head of Product at BT, shares how managing up is all about being an excellent manager to bring the best out of a team.

Mission / Vision / Charter
Managing Up
Internal Communication
Strategy
Stakeholders
Cross-Functional Collaboration
James Engelbert

James Engelbert

Head of Product at BT

How to Build Rapport With an Introverted Manager

17 November

Piyush Dubey, Senior Software Engineer at Microsoft, shares his journey of climbing up the career ladder through awkward times dealing with an introverted manager.

Managing Expectations
Internal Communication
Collaboration
Coaching / Training / Mentorship
Juniors
Piyush Dubey

Piyush Dubey

Senior Software Engineer at Microsoft

You're a great engineer.
Become a great engineering leader.

Plato (platohq.com) is the world's biggest mentorship platform for engineering managers & product managers. We've curated a community of mentors who are the tech industry's best engineering & product leaders from companies like Facebook, Lyft, Slack, Airbnb, Gusto, and more.