Software Engineer (Cloud, C++, Devices, Multi-Tenant Systems)
Employer
Bellevue
Posted 3 weeks ago
We are looking for a strong software engineer with hands-on experience in C++ development and device-level software, combined with working knowledge in cloud platforms (Azure and/or AWS). The ideal candidate will have a solid background in building reliable, production-grade software that spans edge devices and their interaction with cloud systems, with a good understanding of functional programming, Kubernetes, and multi-tenant architectures.
Responsibilities
- Design, develop, test, and maintain high-performance C++ software running on devices and embedded or edge platforms.
- Apply strong software engineering practices including clean code, testing, debugging, documentation, and code reviews.
- Work on device-side software, including hardware interaction, performance optimization, and reliability.
- Collaborate with cross-functional teams including hardware, firmware, DevOps, and product.
- Use Git for version control and collaborative development workflows.
- Debug complex issues across devices, networking, and cloud infrastructure.
Required Qualifications
- Bachelor’s or Master’s degree in Computer Science, Engineering, or equivalent experience.
- Strong software engineering experience with production systems.
- Proven experience developing in C++, including performance-critical and low-level components.
- Hands-on experience working with devices, embedded systems, or edge computing platforms.
Nice to have
- Experience with Azure and/or AWS cloud services.
- Good understanding of functional programming concepts like ELM
- Working knowledge of Kubernetes, containers, and microservices.
- Experience designing or supporting multi-tenant cloud systems.
- Proficiency with Git and modern development workflows.
- Strong debugging skills across hardware–software boundaries.
Preferred Qualifications
- Experience with Linux-based embedded systems.
- Familiarity with networking protocols, device drivers, or hardware interfaces.
- Knowledge of database like SQL
- Knowledge of observability, logging, and monitoring for distributed systems.
- Experience working with real-time or performance-sensitive systems.
Soft Skills
- Strong analytical and problem-solving skills.
- Ability to work across hardware and software teams.
- Clear communication and documentation skills.
- Ownership mindset and ability to drive features end-to-end.
Job Features
| Job Category | Engineering/Development |