Software Engineer
Job Code: SWE
Position Type: Full-Time
Company: DiCon Fiberoptics, Inc.
Location: Richmond, CA
Position: Software Engineer
DiCon Fiberoptics, Inc. is a well-established photonics technology company based in the San Francisco Bay Area. Over the past three decades, the company has developed many patented technology platforms for the optical communications and solid-state lighting industries. Utilizing these core technology platforms, DiCon develops and manufactures world-class products, and markets these products to commercial, industrial, and end-user customers. The company has strong vertically integrated capabilities, allowing it to respond rapidly to changing customer needs and emerging new market opportunities.
Job Description & Responsibilities
The job duties for this position include, but are not limited to:
· Develop and test software for a broad range of optical communication product applications
· Development of control software for an expanding line of Optical Switching System products, including network management software
· Develop webserver functionality and a web-based GUI, as well as software for user administration and security
Job Qualifications & Requirements
· BS or MS in computer/electrical engineering, computer science, physics or applied math, preferably with industry experience.
· Strong coding experience in C/C++/C# and Python is required.
· Experience with network management protocols such as SNMP, TL1, and NETCONF, and familiarity with the OpenFlow standards, is a strong plus.
· Basic knowledge of I/O interfaces such as I2C, SPI, RS232/485 is a plus.
· Solid hands-on skills on the control of hardware over RS232, GPIB, USB or Ethernet is a plus, as is experience in using off-the-shelf controller hardware, such as BeagleBoard and/or Arduino.
· Experience and knowledge of firmware/hardware integration and test, and automation of manufacturing testing, is a plus.
· Ability to understand basic hardware/circuit schematics and digital logic.
· Ability to work both independently and as a team player, meeting tight delivery schedules, and juggling with multiple simultaneous project assignments.