BSc or higher in Computer Science or equivalent experience
Theoretical background in Distributed Systems and/or Database Management Systems
At least 5 years of practical experience in Software Engineering
At least 2 years of experience building and operating scalable, distributed production systems in a compiled language (Java, C#, Go, Rust, etc.)
Experience at mitigating and resolving outages or other high-impact events in production cloud environments
Prior experience building async workflow orchestration and streaming/eventing systems is a plus.
Strong verbal and written communication skills, including technical writing
Ability to work backwards from business problems to technical solutions
Ability to break down complex technical problems and deliver solutions incrementally
Responsibilities
Define requirements and scope of work for new software components or features in collaboration with peer engineers and other stakeholders (product managers, engineering leadership, etc.)
Lead the design and implementation of robust services and software components
Operate large-scale, distributed systems including root cause analysis of defects and mitigation in case of outages
Adhere to and improve engineering and operational best practices and processes for the team
Take ownership of software delivery, including setting and meeting milestones and stakeholder communication