2 years ago
San Diego, CA, USAStaff+
Base Salary
$185k - $210k/yr
Responsibilities
- Lead architecture, design, implementation, and review of complex embedded, application, and connected-device software subsystems.
- Own product- and system-level technical decisions, resolve architectural and interface issues, and shape implementation strategies and tradeoffs.
- Develop capabilities for secure device connectivity, communications, device identity and configuration, diagnostics, logging, software updates, serviceability, and device or fleet management.
- Manage software lifecycle deliverables and traceability from requirements through architecture, implementation, risk controls, verification, release, and post-release changes.
- Partner with Quality, Systems Engineering, System Verification, Hardware, Product, Regulatory, Service, and other functions on software risk, reliability, cybersecurity, and regulatory requirements.
- Evaluate alternatives, address technical debt, and introduce improvements to capability, reuse, extensibility, reliability, security, serviceability, and engineering effectiveness.
- Provide technical estimates, identify dependencies and risks, mentor and coach engineers, strengthen reviews, and contribute to technical hiring.
Requirements
- Bachelor’s degree in Computer Science, Computer Engineering, Electrical Engineering, or a closely related technical field is required; an advanced degree is a plus.
- At least 12 years of professional software development experience with complex embedded, connected, or software-intensive products.
- Experience with formal product-development and design-control processes for medical devices or comparable regulated or safety-critical systems.
- Direct medical-device or in-vitro diagnostic software experience is preferred.
- Strong proficiency in ANSI C and C++, with practical experience in embedded Linux and/or RTOS-based systems.
- Experience designing or delivering network-connected devices, including secure communications, diagnostics, configuration, software updates, serviceability, and device management.
- Advanced understanding of real-time software, multithreading, synchronization, fault handling, memory management, and interprocess communication.
- Ability to develop clear, testable software requirements and support traceability, risk analysis, verification, and regulated development processes.
- Scripting expertise with Python or a similar language, plus networking experience with TCP/IP, NAT, Layer 2 switching, firewalls, DHCP, and remote device management.
- Experience with Git, Bitbucket, Jenkins, JIRA, code reviews, CI/CD, defect tracking, and configuration management.
- Experience with Qt or similar application and UI frameworks is a plus.
- Demonstrated technical leadership, mentoring, architectural influence, estimation, and communication skills.
Benefits
- Annual base salary range of $185,000 to $210,000, with bonus eligibility.
- Medical, dental, and vision insurance.
- 401(k) retirement plan with employer match.
- Paid vacation and sick leave.
- Approximately 10% travel is required.
- Equal Opportunity employer with disability accommodations available for the application process.
