Senior Software Engineer, Backend - Data Streaming
New
J
JobgetherSoftware Engineering
CanadaFull-TimeSenior
SalaryC$152,700–C$251,200 in annual total target cash
Apply NowOpens the employer's application page
Job Details
- Experience
- 7+ years
- Required Skills
- JavaKafkaDistributed Systems
Requirements
- 7+ years of professional backend engineering experience, with strong expertise in Java.
- Focus on distributed or data-intensive systems.
- Hands-on experience working with object-storage technologies such as Amazon S3, Google Cloud Storage, Azure Blob Storage, or similar.
- Experience designing reliable, idempotent upload and commit protocols for object-storage systems.
- Practical experience with Kafka or a comparable streaming or event-log platform.
- Strong understanding of distributed-systems fundamentals, including consistency, durability, fault tolerance, and scalable data processing.
- Proven experience leading medium-to-large engineering initiatives lasting three months or longer.
- Demonstrated ability to operate effectively in ambiguous environments.
- Strong backend development skills and track record of building/operating production-grade systems.
- Experience with Apache Iceberg, Parquet, or broader data-lake/lakehouse architectures is a plus.
- Familiarity with embedded state stores such as RocksDB is advantageous.
- Experience with stream-processing frameworks such as Apache Flink is desirable.
Responsibilities
- Design and build core streaming infrastructure that separates process-data access from the live execution engine and is backed by durable, cost-efficient storage.
- Develop customer-facing data-streaming capabilities, including reliable integrations with technologies such as Kafka.
- Help evolve analytics capabilities by creating scalable data-consumption patterns that operate independently of the engine’s critical path.
- Make foundational architectural decisions within a small, high-ownership team, particularly around distributed processing, consistency, durability, and reliability.
- Develop reliable and idempotent data-ingestion and storage mechanisms for object-storage environments.
- Drive significant engineering initiatives from solution design and planning through implementation, cross-team coordination, and predictable delivery.
- Work closely with Product Management to translate customer and product requirements into actionable technical solutions.
- Collaborate with Data Layer, Distributed Systems, QA, Support, and SRE teams to deliver robust production systems.
- Participate in L3 support and on-call rotations, investigating production data-layer issues.
- Contribute to code reviews, technical discussions, and engineering practices.
View Full Description & ApplyYou'll be redirected to the employer's site