Senior Embedded Software Engineer at Acacia Communications
Maynard, MA, US


Acacia Communications is an optical networking technology company that empowers cloud and content providers to connect at the speed of light enabling them to meet the rapidly increasing consumer demands for data.



You will be a key member of Acacia’s Software team responsible for embedded CPU code development to configure and manage our products.  You will interface with Hardware, ASIC, Optical, and DSP teams in the engineering organization to architect the system software, develop algorithms, contribute to code development, and participate in system bring up and debug.

Essential Responsibilities:

  • Design, implement and unit test robust control loop algorithms
  • Contribute and collaborate on good design practices in a multi-processor/multithreaded architecture
  • Contribute and collaborate with Optics/DSP/HW engineering teams to develop efficient compact algorithms for embedded CPUs
  • Support system bring up and debug in the lab
  • Interface with product engineering and other cross-functional teams as required
  • Strong oral and written communication skills


Minimum Qualifications, Experience, Skills, Education and Certifications:

  • BS or MS (preferred) in Electrical Engineering or Computer Science with 7+ years of experience in the communication industry
  • Proficiency in C and C++
  • Significant experience in complex embedded firmware development (both control and data path) in communication industry
  • Proficiency with RTOS and embedded CPUs and microcontrollers (ARM® preferred)
  • Proficient in writing compact highly efficient code to control HW components
  • Demonstrated working knowledge of HW components
  • Experience in network programming (sockets, TCP, UDP, HTTP)
  • Experience with fixed-point math
  • Experience with a revision control system (CVS and Perforce™)
  • Comfortable with UNIX-style command-line development (make, shell programming)
  • Hands-on laboratory experience is critical and required for this position
  • Excellent verbal and written communication skills


Highly Desired Skills:

  • Experience with developing/debugging software state machines
  • Experience working within a team environment developing complex control plane code in a multi-processor/multithreaded environment
  • Experience defining system level API in the communication industry is highly desirable
  • Experience with collaborative code review tools (such as Jira Crucible®)
  • Well rounded developer who is a jack of all trades – comfortable working from high level system design to low level driver development – is a big plus



Physical Requirements:

  • None


All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, or veteran status.