Sr Software Engineer
Orange County Metro Area, CA
Sr Software Engineer
Medical Device Industry
Laguna Hills, CA
Essential Duties and Responsibilities:
Develop real-time embedded control system software and/or embedded Linux based application software. The role will include all aspects of the software development lifecycle - planning, requirements, design, code, test and maintenance
Architects, develops and maintains embedded control system software or Windows/Linux based application software.
Conforms to the approved Software Development Process, the Program Development Process, and is a proponent of process improvement.
Writes software requirements, detailed design documents, participates in code reviews, develops and performs unit testing of real-time embedded or application software.
Works with hardware interfaces in a real-time environment.
Participate in Risk Management activities. Provide technical expertise pertaining to the identification and mitigation of design and use risks.
Participate in Design Control Activities, adhering to applicable internal procedures, and external regulations and standards
Analyzes and determines root cause of embedded control system & architecture issues.
Proactively assumes technical ownership of issues that impact design success, and guides future concepts, products, and technologies.
Contributes to the design of the control systems architecture.
Works collaboratively with other cross-functional team members to ensure the success of the project and overall organization.
Mentors junior, senior, and external (contractor) software development team members.
Education and/or Work Experience Requirements:
BS in Computer Science, Computer Engineering, Electrical Engineering, or related degree.
5+ years of significant, relevant experience as a software engineer working on embedded systems.
Expert-level skills in C++, including C/C++ development in resource-constrained embedded environments.
Experience with C/C++ and UNIX/Linux system programming.
Extensive experience programming and debugging of embedded systems, including low-level programming tasks such as direct programming/interfacing of HW features and HW driver implementation highly desired.
Knowledge of one or more embedded RTOS systems
Significant device driver development experience.
Experience developing User Interfaces.
Automation of control systems with GUI, QT.
Software development experience with ARM or similar embedded processor cores.
Knowledge of cross-development environments and source code control for embedded software development.
Experience in system level software (RTOS, test application) development and debugging in embedded environment
Excellent verbal and written communication skills, including ability to effectively communicate with internal and external customers.
Must be able to work under pressure and meet deadlines, while maintaining a positive attitude and providing exemplary customer service.
Ability to use MS Word, Excel, PowerPoint, and electronic e-mail systems.
Ability to safely and successfully perform the essential job functions consistent with the ADA, FMLA and other federal, state and local standards, including meeting qualitative and/or quantitative productivity standards.
Ability to maintain regular, punctual attendance consistent with the ADA, FMLA and other federal, state and local standards
Must be able to lift and carry up to 25 lbs
Must be able to talk, listen and speak clearly on telephone