Date: 2016 - 2017

Summary:

Managed multiple engineering teams in developing both the company’s core IoT wireless platforms as well as custom product developments for customers.

One of the biggest project is to abstract our core platform onto multiple stack and hardware vendors. This would increase our options for chips and stack vendors, where we can select different options depending on the price and feature trade-offs. It also widens our technology partnership and customer base.

Another project is to expand our wireless platform to include the up-and-coming Thread protocol, which is an internet IPv6 protocol for small IoT devices. We participated in the early trials for Thread standardization.

Challenges

  • Abstraction over different stacks and hardware is more difficult than anticipated. One of the lead engineers insisted in extra requirements such as being POSIX-compliant, which made the project more costly than its proven business value. There was an internal tension and struggle over the implementation. The tension was already there when I arrived—there was a big fallout between the VP and the lead engineer. I came in with a mediating influence. But it was still challenging because the lead engineer was insistent on his way of doing things, and it was hard to compromise. Eventually the lead engineer was let go.

Lessons

  • One of the hardest lessons as someone who transitions from being a lead developer to a manager is to let go having control over the code. I had to let go of being a micro-manager and instead build relationships with the developers. I had to learn to be comfortable to not be the one with the answer, but the one holding the question and the goal.

Updated: