Who is David Bacher?

The quick overview: Dave is an experienced software engineer who has worked on developing systems to gather real-world data in low-power wireless networks. Dave has spent more than 15 years building highly reliable systems in C++/C and Python on embedded systems, Linux and Windows.

Experience

Dave is an experienced software developer and manager with an interest in enabling systems in the real world to provide data and analytics for control, automation, and improving efficiency. He has experience designing, developing, and testing embedded and server-side systems in C, C++, and Python. For the past two decades, he has led the development and testing of complex, wireless mesh networking systems, and developed skills in designing and debugging complex, cross-domain network-based systems. He has experience managing teams through design to production to achieve technical and business goals.

2017-present, Analog Devices, Software Engineering Manager

As the manager of the software team located in Union City, CA, I oversaw the development of independent and coordinated projects with a global software team. I led the design and development of embedded applications backed by a reliable, industrial-grade, wireless networking platform. These applications were focused on prototyping designs for gathering data where wireless communication provided substantial benefits. I participated in all aspects of the design, development, peer review, and testing of these embedded applications.

  • Led development of simulation software for testing embedded production software across difficult to validation networking conditions.
  • Led development of prototype applications built on the wireless networking platform

2012-2017, Linear Technology, Member of Technical Staff (Software)

As a member of the Linear Technology network software team, I provided technical leadership that evolved into a management role overseeing the Union City software team. Our work within LTC focused on continuing the development of infrastructure and applications of the reliable, wireless networking technology initially developed at Dust Networks. This included developing highly scalable networks, and specific custom application development for new technology areas.

  • REST API development, using swagger to provide interactive API exploration for server products
  • Node.js and UI development with Node-RED for customer prototypes
  • Server-side and embedded development in C/C++ continuing the wireless network product line

2003-2012, Dust Networks, Sr Software Engineer

I joined Dust Networks as a software engineer and helped develop the company's wireless networking platforms and products, growing from prototype systems to focus on highly, reliable industrial networks. The development included a variety of experience: server-side development, API design, networking protocol design, and embedded development to support the networking platform pioneered by the company. The engineering team worked closely with the customer-facing organization to develop new solutions utilizing the highly reliable, low power networking platform.

  • Server-side and embedded development in C/C++ on RTOS and Linux platforms to develop highly reliable, low power wireless networking platform
  • API design and development
  • Application/network protocol development
  • Supported development of new customer solutions

Education

1997 M.S. in Computer Science, UC Berkeley

1994 B.S. in Computer Science (6.3), Massachusetts Institute of Technology

Skills

  • Extensive programming experience in C++/C, Python, on desktop, server, and embedded systems.
  • Extensive experience developing flexible, reliable system architectures, and network protocols
  • Extensive experience with current development tools, including git, Bitbucket, Jira, Jenkins, and Confluence.
  • Experience quickly starting up with new tools, frameworks, and languages.