Backend Software Engineer - Data Services
Fetcherr
Software Engineering
Israel
Posted on Sep 3, 2024
Backend Software Engineer - Data Services
- Applications
- Israel
- Full-time
Description
Backend Software Engineer - Data Services
We are looking for a skilled Backend Data Engineer to join our team, focusing on defining, creating, and optimizing data flows within our microservices system while contributing to general service development.
Key Responsibilities:
- Design, develop, and maintain scalable high-performance microservices.
- Design and implement efficient data pipelines and ETL processes
- Contribute to backend service development as part of the engineering team
- Optimize data storage and retrieval mechanisms for microservices
- Develop and maintain data models and schemas
- Implement data validation and quality assurance processes
- Collaborate with data scientists and analysts to support data-driven decision making
- Monitor and optimize database performance
Requirements
Required Skills:
- 5+ years of experience with backend programming languages such as Java, C#, Go, Python, Rust (minimum 2 from the list)
- 3+ years of experience in backend development with high-performance distributed systems.
- Strong knowledge of microservices architecture and design patterns
- Experience designing and developing high-performance APIs.
- Experience with writing and maintaining unit and integration tests.
- Vast hands-on proficiency with large-scale, low-latency distributed cloud systems (GCP - preferred, AWS) - must.
- Strong knowledge of advanced data structures and algorithms.
- Understanding of data modeling and normalization techniques
- Knowledge of databases (SQL and NoSQL), data storage solutions, data querying and manipulation tools.
- Experience in building large-scale of Streaming/Batch ETL using processing engines (Dataflow and Spark - preferred, Beam, Flask etc) - must
- Expertise to write efficient, low-latency SQL queries vs modern data-warehouse solutions (BigQuery - preferred, Redshift, ClickHouse etc) - must
- Experience with data streams systems (Pub-Sub - preferred, Kafka or Flink) - must
- Experience in DevOps architecture with CI/CD workflows, and DevOps practices.
- Hand-on experience with Docker and Kubernetes.
Preferred Skills:
- Knowledge of C++ and Rust programming languages
- Experience with Google Cloud Platform (GCP) data services
- Familiarity with data visualization tools
- Experience with graph databases
- Experience with high performance protocols, like gRPC, HTTP/2, HTTP/3, WebSockets.
- Experience with Big Data technologies and frameworks.
- Exposure to AI and Machine Learning concepts, tools and pipelines.
Additional Requirements:
- Fluent in English, with excellent communication skills.
- Bachelor’s degree in computer science, IT, or a related field.
- Excellent problem-solving with passion for learning new technologies and practices.
- Excellent communication and teamwork abilities
- Experience working in Agile/Scrum environments