Some examples of product work you could work on are:
- Build for high-scale, collaborative, geospatial workflows (Gaia)
- Design sophisticated frameworks to enable complex workflows across applications in a single workspace
- Develop the next generation of real-time collaborative tooling and data-analysis solutions (Secure Collaboration)
Core Responsibilities
- Architecting, developing, and maintaining high-performance, scalable backend services that underpin our our operational data and AI systems
- Maintaining high coding standards through the development of guidelines, active participation in code reviews, and fostering a culture of continuous improvement and knowledge sharing among your team
- Building robust APIs for use by front-end developers and interfacing external systems, and collaborating with front-end developers to integrate user-facing elements with server-side logic
- Designing efficient data structures and algorithms to manage large-scale and high throughput data
- Optimizing applications for speed and scalability through performance analysis
- Actively improve user workflows by collaborating with cross-functional teams, ensuring seamless experiences across product boundaries and a cohesive user experience
Technologies We Use
- Different backend languages, including Java, Rust, Python and Go
- Distributed systems technologies such as Kafka, Cassandra, Elasticsearch and Spark
- Docker and Kubernetes for containerization and orchestration
- Industry-standard build tooling, including Gradle and GitHub
What We Value
- A deep understanding of server-side logic, efficient data handling, and distributed systems
- Strong focus on creating user-oriented workflows and solutions, crossing product boundaries to deliver cohesive and solid user workflows that ensure a seamless and intuitive user experience
- Experience building high-quality software in a fast-paced CI/CD development environment
- Ability to work collaboratively in teams of technical and non-technical individuals and understand how technical decisions impact the people who will use what you're building
- Skill and comfort working in a constantly evolving environment with dynamic objectives and iteration with users
What We Require
- Experience in designing and developing features and improvements, as well as supporting and maintaining, live backend systems
- In-depth understanding of data structures, system architecture, API development for microservices frameworks, distributed systems and other backend-related concepts and best practices
- Engineering background in Computer Science, Mathematics, Software Engineering, Physics or similar field
- Strong coding skills with demonstrated proficiency in programming languages, such as Java, C++, Python, Rust, or similar languages
- Strong written and verbal communication skills and ability to iterate quickly with teammates, incorporating feedback and holding a high bar for quality
- Eligibility and willingness to obtain a US Security clearance
