Your day-to-day workflow will vary, adapting to the requirements of our users and the technical challenges that arise. One day, you may find yourself collaborating with other engineers to architect a new system that enables a novel workflow, the next you could be fine-tuning performance to enable low-latency operational outcomes.
Our Product Development organization is made up of small teams of Software Engineers. Each team focuses on a specific aspect of a product and work collaboratively to build cross functional capabilities, streamline user workflows and continuously improve our software's efficiency and reliability.
We're hiring engineers who are passionate about solving real-world problems and empowering developers and end-users to do their work optimally. If you’re motivated to develop reliable, performant, scalable systems and design robust APIs and primitives, please join us.
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