.Net/ Embedded Software Engineer / Architect Job in Hayward, California US
Job Description
Senior Software Engineer experienced in software design and development, embedded systems, automation (robotics), and real-time control systems in scientific and medical devices. You will be the main driver of the company's software needs. We are looking for a well-rounded and collaborative engineer with skills for problem solving and a proven ability to manage interactions with distributed teams and external vendors. Must have experience in software design, solid coding skills, development of databases, development of GUI interface, writing SRSs and other technical documents, and working closely with validation group for successful implementation. The successful candidate will be able to juggle multiple projects and work independently.
Responsibilities:
- Prototype, design, implement and maintain software, databases, manufacturing test systems and in-house research needs.
- Assist in GUI development, back-end logic development, as well as mathematical data analysis, data acquisition and storage.
- Participate in cross-functional teams with scientists, systems integration and mechanical/electrical engineers and off-site software developers.
- Work well in a geographically distributed team environment, and internal and external customers.
- Sensitive to the voice of the customers.
- Help develop and manage software development and source control processes in a start-up environment
Requirements
- Strong proficiency in designing and developing applications for medical diagnostics that interface with hardware, including motion control and data acquisition
- Strong experience with .NET, C++, SQL, XML and some experience in Python
- Strong experience working with firmware and/or embedded systems
- Strong experience working with Ethernet and USB communication
- Experience with various database technologies
- Solid understanding of concurrency, data structures, and data caching techniques
- Experience designing and developing graphical user interfaces for medical diagnostics
- Experience with UI layout tools is a plus.
- Demonstrated knowledge of automated testing with debugging and profiling skills
- Experience in Gap Analysis of existing software to current and future designs
- Ability to be self-motivated, proactive, curious, responsible and flexible
- Ability to manage projects and external vendors
- Ability to communicate complex technical issues to co-workers and management
- Experience with developing and maintaining software requirements and software design documentation with MDD, ISO 13485, QSRs.