21 Oct
|
Jobgether
|
Calgary
As a Senior Software Engineer, you will help build and scale advanced machine learning infrastructure designed to detect fraud and financial crime in real time. You will contribute to the development of distributed systems, streaming architectures, and large-scale data processing pipelines that power sophisticated fraud detection capabilities. Working at the intersection of software engineering, big data, and machine learning, you will help improve detection accuracy and enable rapid responses to increasingly complex fraudulent activities. You will collaborate with experienced engineers and technical specialists to design reliable, high-performance systems capable of processing massive datasets. This role offers the prospect to solve challenging technical problems using technologies such as Java, Python, Kafka, Spark, and Cassandra. Join a collaborative, innovation-driven engineering environment where your contributions directly strengthen the security and reliability of digital services.
Accountabilities:
- Design and develop machine learning infrastructure: Build and maintain scalable systems that support advanced machine learning algorithms, including supervised learning, unsupervised learning, and deep learning, to identify suspicious patterns and fraudulent behavior.
- Develop distributed real-time systems: Design, implement, and optimize distributed architectures that enable real-time data processing and fraud detection across high-volume datasets.
- Build large-scale data pipelines: Leverage big data technologies such as Apache Spark, Hadoop, HBase, and Cassandra to develop efficient machine learning pipelines and process data from large consumer-facing platforms.
- Implement streaming solutions:
Develop and maintain real-time data processing systems using technologies such as Apache Kafka and Apache Flink to support rapid detection and analysis of emerging fraud patterns.
- Improve detection capabilities: Collaborate with machine learning specialists to enhance detection algorithms, optimize data processing workflows, and support the continuous improvement of fraud detection performance.
- Build engineering tools and validation frameworks: Develop internal systems, tools, and testing strategies that support new features, validate system behavior, and maintain software quality.
- Optimize system performance: Identify bottlenecks and improve the scalability, reliability, efficiency, and responsiveness of distributed services and data infrastructure.
- Contribute to architectural decisions: Participate in technical design discussions and help develop robust, maintainable architectures for complex data-intensive applications.
- Support continuous innovation: Explore and implement engineering approaches that improve real-time analytics, automated model training, and the ability to respond to evolving fraud techniques.
- Collaborate across technical teams: Work with software engineers, machine learning experts,
and infrastructure specialists to deliver reliable solutions and advance the platform's technical capabilities.
Requirements:
- Professional experience: At least five years of professional software development experience, with a strong background in building and maintaining production-grade systems.
- Programming expertise: At least five years of experience developing software with Java, Python, and Shell scripting, including the ability to write efficient, reliable, and maintainable code.
- Database knowledge: Strong understanding of relational databases, SQL, and database design. Familiarity with object-relational mapping technologies such as JPA2 and Hibernate is an advantage.
- Distributed systems and big data: Experience with one or more technologies such as Apache Cassandra, HBase, Spark, Hadoop, Flink, or Kafka is highly desirable.
- Machine learning infrastructure: Interest or experience in supporting machine learning systems, large-scale data processing, streaming architectures, or automated data pipelines.
- Software engineering best practices: Ability to design scalable systems, troubleshoot complex technical issues, optimize performance, and maintain high standards of code quality.
- Testing and validation: Familiarity with test-driven development, automated testing, and validation techniques is an asset.
- Problem-solving abilities: Strong analytical and critical-thinking skills, with the ability to address complex engineering challenges in distributed and data-intensive environments.
- Collaboration and communication: Ability to work effectively with multidisciplinary engineering teams, communicate technical concepts clearly, and contribute constructively to design discussions.
📌 Senior Software Engineer (Calgary)
🏢 Jobgether
📍 Calgary