Requirements
- Professional experience with F# for backend service development.
- Solid understanding of functional programming principles, which are considered a core requirement.
- Strong grasp of distributed systems fundamentals including messaging semantics, consistency models, backpressure strategies, windowing, and eventual consistency.
- Practical experience with event-driven architectures and message passing concepts, including idempotency and eventual consistency.
- Hands-on experience with Apache Kafka: designing topics, partitions, consumer groups, and applying delivery semantics such as at-least-once and exactly-once.
- Hands-on experience developing and operating cloud-hosted applications, preferably on AWS, due to an ongoing migration from Azure.
- Strong understanding of relational databases, including SQL querying, indexing, and debugging.
- Experience with PostgreSQL and SQL Server is utilized.
- Proficiency in unit and integration testing practices.
- Experience with Docker for containerization is required.
- Familiarity with CI/CD practices is necessary for maintaining a strong working knowledge of the stack.
- Ability to work collaboratively in high-impact teams, supported by strong documentation and communication practices.
Nice to Have
- Familiarity with container orchestration tools like Kubernetes.
- Familiarity with gRPC or similar RPC frameworks for inter-service communication, including defining service contracts and versioning schemas.
- Knowledge of infrastructure and networking within cloud environments.
- Familiarity with stream processing concepts such as partitioning, parallelism, low-latency processing, backpressure, batching, windowing, and stateful stream processing (e.g., using Kafka Streams or equivalent frameworks).
- Experience with CI/CD tools and practices, including GitHub Actions and Terraform for deployment templates.
- Familiarity with NoSQL databases, such as MongoDB.
- Experience with front-end technologies like React and TypeScript.
- Familiarity with observability tools and practices for production systems.
- Experience with SQL Server and PostgreSQL databases.
Additional Information
- Participation in an on-call rotation will be required in the near future as the team grows.