Senior Embedded Software Engineer - Acacia

  • Location:
    Maynard, Massachusetts, US
  • Area of Interest
    Engineer - Hardware
  • Job Type
  • Technology Interest
    Cloud and Data Center
  • Job Id

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

Other Duties

  • Perform other duties as assigned

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/Travel 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.