Senior Software Platform Engineer
Prolific MachinesAbout the role
We’re looking for a Software Engineer to help define and build the next-generation software and controls platform underlying Prolific’s illumination systems. This role will serve as a foundational software hire within a multidisciplinary illuminator technology team, helping define software architecture across device control, cloud-connected infrastructure, internal tooling, and future customer-facing systems.
This individual will work closely with Firmware, Hardware, Data, and Bioprocess Engineering teams to develop scalable, production-ready control systems for next-generation illumination products. Over time, this role is expected to help define software architecture, interfaces, and development strategy as Prolific expands both internal software capabilities and external development partnerships.
This is not a traditional consumer web or SaaS role. Success in this position requires strong systems thinking and comfort operating across the hardware/software boundary. The ideal candidate enjoys working in-person, operating close to real-world systems and hardware, and is comfortable working across abstraction layers rather than specializing narrowly in frontend or backend development.
This role will be primarily based on-site in Emeryville, CA with some hybrid flexibility depending on current project needs.
Responsibilities
-
Architect and develop the software platform connecting Prolific illumination hardware, firmware, cloud infrastructure, internal tooling, and future operational and customer-deployed systems
-
Define software interfaces, communication layers, and subsystem boundaries across distributed control systems
-
Collaborate closely with firmware and hardware engineers to design robust hardware/software interactions
-
Establish scalable software infrastructure and engineering practices suitable for long-term productization
-
Help define technical scopes, interfaces, and development strategy for external software development partners and contractors where appropriate
-
Contribute hands-on across the stack while helping shape longer-term software technical direction
Requirements
-
MS with 5+ years or BS with 7+ years of professional software development experience. Degree in Software Engineering , Computer Science, or a related field preferred.
-
Strong systems-level thinking and ability to reason across software, firmware, hardware, and operational workflows
-
Ability to balance rapid prototyping with long-term architectural scalability
-
Experience decomposing complex systems into modular, maintainable subsystems
-
Fluency in Python and proficiency in at least one other general-purpose language (e.g. TypeScript, Go, Rust)
-
Experience defining requirements, designing, implementing, and deploying software
-
Experience designing software for reliability, maintainability, and operational robustness in mission-critical systems
-
Experience deploying and maintaining cloud-connected applications or services
-
Experience working with SQL databases (PostgreSQL, MySQL, etc.)
-
Experience working closely with end users to iteratively improve software usability and workflows
-
Experience setting up and owning their own development environment (incl. unit/integration/end-to-end testing, continuous integration, etc.)
-
Experience interfacing software with hardware systems (serial, TCP/IP, etc.) and ability to debug issues across the software/hardware boundary
-
Comfort working in Linux environments
Apply for this role
Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.
Apply Now →Generate Application KitFree account required — sign up in 30s