Job Title: Developer with Functional Programming Expertise
We are seeking a highly skilled developer with a strong background in functional programming and distributed data processing. This role involves designing, implementing, and optimizing scalable systems that leverage functional paradigms, concurrent processing, and modern runtime architectures.
Key Responsibilities
- Develop and maintain high-performance, reliable, and distributed applications using functional programming principles.
- Work with Spark in DataBricks, ensuring resilience and elasticity in large-scale deployments.
- Build and optimize data-intensive workflows using Apache Spark or comparable frameworks.
- Utilize solid knowledge of runtime environments, execution contexts, and pure functional design to deliver predictable, testable software.
- Collaborate with teams to design architectural solutions based on a sound understanding of distributed and parallel data transformation.
- Write efficient, maintainable code in Python.
Must-Have Qualifications
- Strong hands-on experience in functional programming using one or more paradigms, such as:
- ETL pipelines,
- Actor model systems (e.g., Akka, Apache Pekko),
- Category theory–based systems, or
- Map-reduce frameworks.
- Real-world experience with Apache Spark or similar libraries/technologies (e.g., Apache Flink, Cats/Cats Effect, Hadoop, Kafka Streams).
- Solid understanding of runtime systems, execution contexts, and pure functions.
- Deep understanding of compiled, JIT, and interpreted execution models.
- Proficiency in Python and in one of Scala, Java, C/C++, or Rust.
Nice to Have
- Experience applying functional programming principles in Python.
- Experience designing and maintaining ETL pipelines.
- Familiarity with Databricks, Delta Live Tables (DLT), or Delta Sharing.
- Exposure to Power BI or other BI tools.
- Understanding of projective programming concepts and graph query models.
- Background working in Linux and Azure environments.
- Additional experience with Scala, TypeScript, C++, Rust, Haskell, or SQL.
Apply online using the form below. Please note that only applications matching the job profile will be considered.