Snowflake
Software Engineer - Openflow
About this role
Snowflake is seeking a Software Engineer to join the Openflow team, building a next-generation data integration platform powered by Apache NiFi. You'll design and implement features for real-time, scalable data movement across cloud environments, working on distributed systems for both batch and streaming workloads.
What you'll do
- Design and implement control plane and data plane features for reliable, scalable data movement services
- Build distributed systems supporting batch and streaming pipelines with high-throughput, low-latency performance
- Deliver end-to-end projects from requirements through implementation, testing, and rollout
- Operate and support components including monitoring, on-call participation, and incident response
- Analyze and optimize performance, scalability, and reliability of existing services using metrics and profiling
- Collaborate on code reviews, design discussions, and mentor junior engineers
What they're looking for
- Java, Scala, Go, or C++ proficiency
- Distributed systems design and operation
- Cloud-native service development (AWS, Azure, or GCP)
- Container orchestration and CI/CD practices
- Multithreading, concurrency, and fault tolerance
- Performance profiling and debugging at scale
- Strong computer science fundamentals and systems design
- Data pipeline and streaming architecture
Opens the application — the Jobs AI extension fills it for you. Set up autofill
Opens the official application on the employer’s site. No login required.
Snowflake
Snowflake builds a cloud data platform with marketplace capabilities, analytics infrastructure, and AI-powered data solutions, supported by robust security and streaming systems. The company is hiring full-stack engineers, analytics engineers, solution engineers, security-focused software engineers, and principal engineers to enhance its platform and infrastructure.
- Website
- snowflake.com
Likely interview questions
- Describe a time you optimized performance or scalability in a distributed system—what metrics did you use to measure success?
- How would you approach designing a fault-tolerant data pipeline that handles both batch and streaming workloads?