Senior Software Engineer
- San Diego, CA, United States
$113,000 to $170,000 USD / year
Applications open in a new tab.
Job details
- Pay
- $113,000 to $170,000 USD / year
- Experience
- 7-12 years of Software Engineering experience
- Posting language
- English
- Posted
Original job description
Required Skills & Experience
- 7-12 years of Software Engineering experience
- Strong C++ development
- Windows desktop application development (Visual Studio)
- Software that interacts with hardware, machinery, or automation equipment
- Experience testing and troubleshooting software on physical machines
- Background in robotics, industrial automation, medical devices, semiconductor equipment, or similar
Job Description
Design and develop proprietary Windows desktop application and framework software for control machines, automation systems, and complex electro-mechanical platforms – including motion controllers, I/O systems, sensors, machine vision systems, robotics, and barcode readers. This role spans full lifecycle development - from architecture and design through integration, deployment, and customer support - focused on uptime, safety, and predictable behavior.
This position is ideal for engineers who enjoy building large software systems that interact with sophisticated industrial equipment.
Responsibilities:
- Design, develop, test, and integrate machine control software using C++ and C# in a Visual Studio environment.
- Develop automation software using object-oriented design principles and software design patterns.
- Integrate motion controllers, I/O systems, machine vision, robotics, sensors, barcode readers, and other industrial devices through vendor-provided Windows APIs and SDKs.
- Drive system architecture, interface definitions, and software design reviews; establish patterns that scale across product variants.
- Own customer escalation response: troubleshoot issues using logs, instrumentation, and on-equipment debugging; deliver corrective actions and prevention plans.
- Partner with Manufacturing and Field Service to resolve production-line and installed-base issues, restore system uptime, and improve reliability.
- Build verification strategies that push failure detection upstream (simulation, automated system tests, regression suites) and reduce re-occurrence.
- Interface with customers and cross-functional teams (EE/ME/Test/Apps) to align requirements, integration plans, and release readiness.
- Mentor engineers through code reviews, design feedback, and technical coaching.
More about this job
Skills
- C++
- Microsoft Windows
- Microsoft Visual Studio
- Troubleshooting
- Robotics
- Medical devices
- Barcode
- Customer service
- Design principles
- Industrial tools
- Troubleshoot
- Debugging
- Coaching