Software Engineer Job in Syracuse 13088, New York Us
· Develop software drivers (Windows, LINUX, etc). Applicable interfaces include Ethernet, USB, PCI, and Frame Grabbers.
· Design and develop software applications for various imaging and spectroscopy applications with the principal goal being ease-of-use.
· Actively contribute to the conceptualization, architecture, analysis and implementation of next generation camera systems.
· Software debug, hardware-software integration, and verification testing
· Support the Manufacturing team in troubleshooting software and firmware related issues.
· Maintain existing software packages to resolve issues, improve performance, and expand functionality by adding new features. Follow document release guidelines for releasing updates.
· Adhere to Configuration Management (CM) practices for code development, testing, release and revisions.
· Support teammates in diverse disciplines such as electrical engineering, mechanical engineering, marketing and sales.
· Occasional interaction with customers
· Provide training, mentoring, guidance, and work direction for others where appropriate.
· Stay cognizant of industry advancements in development tools, languages and propose investigations into new technologies aligned with our business goals and products.
· Advise management of any software-firmware related issues which could have a major beneficial or adverse impact on a project or product.
· Education: B.S degree in Computer Science, Computer Engineering, Electrical Engineering or equivalent field.
· Minimum 3 years experience in software engineering and design.
Proficiency in the following:
· C/C++
· .NET
· C# Language and Standard APIs
· MS-Windows x86/x64 driver development
· Proficient in one or more of the embedded and real-time operating systems.
· Knowledge in one or more of the hardware interfaces such as USB, PCI/PCIX/PCIe, ADC’s, DAC’s, Ethernet, GPIO, I2C and SPI.
· Desired skill:
· MS Visual Studio
· Linux solutions, ETS, uC/OS
· Experience with Winsock/Berkley sockets is plus.
· Knowledge in Windows Forms programming is a plus.
· Knowledge of scripting languages such as Python is a plus.
· Experience with multiple embedded processor architectures such as x86/PC-104+, ppc, arm, and nios2 is valuable.
· Good working knowledge of computer networking and administration and security