Software Engineer
Full-time
About the Role:
We are looking for a Software Engineer to join our client's Data Streaming team and help build the foundational infrastructure that powers real-time data flows across the platform. You will work on distributed systems at scale, design reliable ingestion pipelines, and shape the future of our streaming architecture. This is a high-impact, hands-on engineering role ideal for someone who is as passionate about systems design as they are about clean, well-performing code.
Responsibilities:
- Contribute to building a distributed and reliable framework for streaming data from various sources into our database.
- Design, develop, test, implement, and maintain software applications, distributed systems, and real-time data streaming platforms in accordance with business and technical requirements.
- Develop efficient data pipelines for ingesting and pre-processing structured and semi-structured data at scale.
- Identify, analyse, debug, and resolve defects, application failures, and system performance issues through root cause analysis and corrective actions.
- Build lightweight tools and services to monitor and visualize data ingestion and processing flows.
- Conduct code reviews and quality assurance activities to ensure compliance, security requirements, and best practices.
- Monitor software applications and systems in production environments and implement corrective actions where required.
- Evaluate software performance, scalability, reliability, and maintainability.
- Stay informed about evolving trends in data science and apply them to streaming infrastructure and architecture.
Requirements:
- Master’s degree in computer science or a related field with 4+ years of relevant industry experience.
- Solid programming fundamentals; proficient in Java, Go, or any other major programming language.
- Strong understanding of distributed systems principles and the ability to evaluate trade-offs in system design.
- Familiarity with Kafka or similar streaming technologies; knowledge of Kafka Connect, Flink, or Spark Streaming is a plus.
- Ability to identify and address performance bottlenecks related to serialization, buffering, and data flow in streaming systems.
- Proficiency with Linux command-line tools and shell scripting for effective debugging and development workflows.
- Proactive and collaborative team player with strong communication skills.
- Open to adopting AI-assisted engineering practices to improve productivity and code quality.
Bonus Points:
- Experience with data Lakehouse technologies such as Apache Iceberg, Delta Lake, or Hudi.
- Familiarity with container tools such as Docker.
- Experience with Kubernetes or basic cloud-native development concepts.
- Interest in distributed coordination systems like Zookeeper, ETCD, or Consul.
- Hands-on experience with gRPC or REST APIs.
- Passion for systems performance profiling, tuning, or debugging.
Pay: $200,000.00 – $220,000.00 per year
Work Location: Remote