Senior Software Engineer
Job description
About the role
This position invites you to join the team developing Neo4j Graph Analytics for Snowflake, a native application that integrates graph data science capabilities directly into customer Snowflake environments. You will own the design and implementation of the containerized runtime and SQL-based API that empower data professionals to perform complex graph operations without moving their data. In this role, you will act as a key contributor to the bridge between high-performance graph processing and the scalability of cloud data platforms. You will collaborate closely with product managers, data scientists, and platform engineers to ensure the solution meets real-world analytical demands. The focus is on building robust, secure, and efficient components that abstract complexity while delivering tangible value to enterprise users. You will be responsible for translating ambiguous requirements into concrete technical designs that align with both product strategy and infrastructure constraints. Your work will directly influence how organizations leverage connected data insights within their existing cloud ecosystems.
Key facts
What you'll do
- Develop and maintain the Neo4j Graph Analytics for Snowflake application, ensuring reliability and performance across distributed workflows.
- Design SQL-facing APIs, including user-defined functions and stored procedures, to expose graph capabilities seamlessly within Snowflake.
- Manage the end-to-end build, release, and deployment pipeline using Gradle, container images, and the Snowflake CLI with precision and automation.
- Enhance platform security through managed access controls and proactive image scanning to mitigate vulnerabilities before deployment.
- Translate customer needs into scalable technical features that operate efficiently within the constraints of cloud data warehouses.
- Maintain operational standards, including observability, runbooks, and reproducible development environments to support production stability.
- Collaborate with cross-functional teams to prioritize technical debt reduction and architectural improvements that support long-term scalability.
- Implement monitoring and logging strategies that provide actionable insights into runtime behavior and user interaction patterns.
- Optimize query execution paths and resource utilization to reduce cost and improve response times for graph analytics workloads.
- Contribute to documentation and knowledge-sharing practices that enable onboarding and continuity across the distributed team.
- Participate in code reviews and pair programming sessions to uphold quality standards and share expertise across the engineering organization.
- Support the evolution of the Snowpark Container Services integration to expand execution models and improve isolation.
- Evaluate new graph algorithms and data structures for applicability within the Snowflake execution context.
- Act as a technical owner for specific features from conception through retirement, including post-release validation and iteration.
Requirements
- 4+ years of professional software development experience with a demonstrated track record of delivering production-grade software.
- Proficiency in SQL and practical experience with cloud data warehouses like Snowflake, Databricks, BigQuery, or Redshift for querying and optimization.
- Strong programming skills in Java or Python, with the ability to work in both languages effectively and switch context as needed.
- A DevOps mindset with experience managing container images, build pipelines, and product releases using modern tooling and practices.
- Ability to design software for performance, cost-efficiency, and scalability on cloud infrastructure while balancing trade-offs.
- Experience writing unit and integration tests to ensure correctness in complex data transformation and graph computation scenarios.
- Comfort working with RESTful services, asynchronous messaging, and secure authentication mechanisms in distributed environments.
- Understanding of software development lifecycle practices including version control, continuous integration, and semantic versioning.
Nice to have
- Direct experience with Snowflake Native Apps, Snowpark Container Services, or stored procedure development to accelerate initial delivery.
- Familiarity with Docker, OCI registries, and security tools like Snyk, Trivy, or Semgrep to enhance image integrity and compliance.
- Knowledge of graph theory and algorithms such as community detection, centrality, pathfinding, or embeddings to contribute to feature innovation.
- Background in distributed systems, JVM performance tuning, or analytical query engines to address scalability and throughput challenges.
- Experience working within remote-first, distributed teams to thrive in a flexible and asynchronous collaboration model.
Practical notes
This role is part of a remote-first, distributed team environment where flexibility and ownership are highly valued. Neo4j is a company with over $200M in ARR and is backed by significant venture funding, providing stability and resources for impactful work. The company encourages applicants from underrepresented groups to apply even if they do not meet every listed qualification, promoting diversity and inclusion across the engineering organization. The position is based in London under a hybrid engagement model, requiring periodic in-person collaboration while supporting remote productivity. No specific deadline for applications is published, and interested candidates are advised to submit materials as soon as possible for full consideration. Travel requirements are not specified beyond standard team meetings that may occur within the designated location.