Please include a cover letter with your resume (in one file) outlining why you think you'd be a great fit at Photonic and what attributes you could bring to our growing team.
Software Engineers at Photonic are part of the Quantum Development team, providing the software “surround” for our quantum processors based on silicon colour centres. You move fluidly from strategic architecture discussions to articulating requirements to translating those requirements into clean production code. You are responsible for building, deploying, and maintaining quality software in a distributed service architecture for production environments. You will work closely with high-performing teams of product engineers and scientists on a range of topics. You enjoy the thrill of learning new technology and new science, while bringing your software expertise, open mind, and creativity to tackle key challenges as we build the world’s first truly scalable quantum computing system.
What we need you to do:
- Design, develop, test, deploy, and maintain innovative software technologies in distributed computing environments
- Collaborate with experienced cross-disciplinary teams to conceive, design, and bring innovative quantum services to market.
- Build distributed storage, index, and query systems that are scalable, fault-tolerant, low cost, and easy to manage/use.
- Work through ambiguous or undefined problems and think abstractly to come up with creative solutions to challenging problems
- Provide technical leadership to the team
- Work in an agile environment to deliver high-quality software
- Effectively articulate technical challenges and solutions
- Create solutions to run predictions on distributed systems with exposure to innovative technologies at incredible scale and speed
- Evangelize proper software development practices throughout the team
- Architect, build and deploy microservice architectures
- Collaborate with the Photonic team to tailor fault-tolerant architectures to real-world silicon devices
- Identify and resolve issues
- Train, guide, and develop current and additional team member
What you bring to our team:
- Undergraduate degree or equivalent in computer science, engineering, mathematics, or physics, plus 5+ years of industry experience.
- 5+ years of hands-on experience with multiple modern programming languages (Python, Java, React, C++, SQL)
- Significant experience contributing to the architecture and design (architecture, design patterns, reliability and scaling) of new and current systems
- Deep experience with the full life cycle of software management
- Strong proven ability in building high-performance, highly available, and scalable distributed systems
- Experience working anywhere in the software stack, from databases, to REST APIs and above
- Experience with distributed, multi-tiered systems, algorithms, and databases.
- Expertise with object-oriented design, algorithm design, data structures, problem-solving, and complexity analysis.
- Solid understanding of machine learning and AI.
- Strong knowledge of data structures, algorithms, and designing for performance, scalability, and availability
- Excellent communication skills and ability to express complex technical concepts in a clear and easy-to-understand way.
- Problem-solving skills and ability to resolve ambiguous requirements
- Experience working in a start-up company, working with senior leadership, scientists, engineers, and other team members
- Demonstrated ability to creatively solve problems, prioritize, and manage simultaneous tasks
- Outstanding teamwork skills
Photonic is designing the world’s first quantum processor in silicon. It would be awesome if you had some familiarity with quantum physics, mathematics, and programming, but we will ensure that team members will have the opportunity to learn about quantum computing as we grow.