Embedded Systems Software Developer

Baltimore, MD
Jan 26, 2022
Jan 28, 2022
Full Time
Job Description and Responsibilities The Embedded Systems Software Developer applies knowledge of computer concepts and techniques to develop and configure systems for engineering and scientific use. Uses electronic engineering logic to independently identify conceptual or theoretical solutions to problems of software logic design and operation. Duties and Responsibilities Design, develop, maintain, configure, troubleshoot, and document embedded software systemsWrite code integrating systems of sensors, motors, and other interfaces for use in communications hardwareDevelop PC based software for electronic control systemsProgram FPGAs, micro-processors, or other embedded processors for communications hardware controlsUtilize communication protocols such as Gray Code, Gold Code, and TCP/IPFamiliarity with Wavelength Division Multiplexing (WDM)Develop User InterfacesProvide technical input for written reports and proposalsParticipate in peer code reviews and technical meetingsDevelop proofs of concept for new solutionsSpecific Tasks Generate Gray code timing reference bit streamGenerate Gold code timing reference bit streamGenerate digital communications test signalInterface 50,000,000 samples/second A/DPerform waveform timing measurement with 1 microsecond cycle time or betterClose 2 axis servo loop incorporating:o 2 brushless DC motor drives o 2 encoder feedback interfaces o Laser driver with software controlled power and temperature o Signal conditioning operating on optical detector output o Calculation of coarse timing error correction based on Gray code subtraction o Calculation of fine timing error correction based on analog circuit output o Software controlled threshold detection level setting Others, as required Requirements 3+ years of experience designing and developing embedded software. Undergraduate degree in Computer Science or SW Engineering (or related field) required. Bachelors or Masters in Electrical Engineering is a plus. Essential skills: Experience writing C, C++, or Visual CExperience using version control systems, GIT preferredField Programmable Gate Array (FPGA) programmingExperience with communications protocols including any of the following:Grey codeGold codeWDMTCP/IPNice to have skills: Experience with Arduino, Beaglebone, or Raspberry PiExperience in roboticsExperience in optical communicationsMust be a US citizen and able to obtain a DOD security clearance Location: Baltimore, MD Physical Requirements Work may involve sitting or standing for extended periods of time. Position may require typing and reading from a computer screen. Must have sufficient mobility, including but not limited to bending, reaching, and kneeling to complete daily duties in a timely and efficient manner. There is a possibility that due to parking availability and location of work, walking moderate to long distance may be required. Possible lifting up to 25 lbs. Please note: 4S-Silversword Software and Services LLC reserves the right to change or modify job duties and assignments at any time. The above job description is not all encompassing. Positions functions and qualifications may vary depending on business needs. 4S-Silversword Software and Services LLC is an equal opportunity employer and does not discriminate against applicants based on race, color, creed, religion, medical condition, legally protected genetic information, national origin, sex (including pregnancy, childbirth or related medical condition), sexual orientation, gender identity and expression, age, disability, or Vietnam era, or other eligible veteran status or legally protected characteristics.