Indigo is an established provider of Identity, Governance and Access Management solutions. Our products and services help our customers by increasing security, reducing fraud and managing risk. Our technology captures high velocity high volume event streams in real time to detect risks based on deterministic and configurable rules. We further use Machine Learning/Artificial Intelligence and Graph Analysis techniques to define, detect and defend against on-line fraud.
Candidates for this position are software engineers with strong programming skills who demonstrate curiosity, continuous learning, and an ability to adapt. Ideal candidates have a background in full life cycle software development using modern agile methodology. A thorough understanding and practical experience with Object Oriented Languages like Java, hands on experience with designing and developing REST web services, proficiency with the Unix Operating System and familiarity with source control systems like GIT are required. Any previous experience with Machine Learning and Artificial Intelligence, Streaming technologies like Apache Spark, Access Management products and Directory Services, Virtualization and Cloud Orchestration including Docker and Kubernetes will be beneficial. Our products are developed to very high standards of quality and reliability and you will be expected to learn and conform to our software development process during all development activities. You will have the opportunity to create best-of-class products that use cutting-edge technologies that make the on-line world a safer place.
- Perform duties in all areas of development (i.e. requirements analysis, high and low-level design, coding, documentation, testing, and validation).
- Participate in cutting edge Machine Learning (ML) research and product development, focused on on-line risk mitigation and fraud detection systems.
- Collaborate with the Dev/Ops team in providing a continuous integration and deployment (CI/CD) pipeline which greatly reduces the integration, deployment and testing time
- Collaborate with multi-disciplinary product development teams to identify functional and performance improvement opportunities.
- Flexible, results-oriented problem-solver who requires minimal supervision. Projects can vary greatly from one to the next, so you must thrive on variety and enjoy taking on new challenges.
- Excellent understanding and hands on experience with full life cycle development of Java based systems using REST services
- Experience with Cloud Deployments using Docker containers and Kubernetes orchestration
- Experience with AI/ML frameworks (Spark MLib, TensorFlow, Caffe, or MXNet) and knowledge of neural network fundamentals.
- Willingness to learn one or more Streaming Technologies (Apache Spark/Storm etc).
- Agile software development and/or Git/JIRA experience is a plus.
- Ability to meaningfully communicate with members of all teams (Development, Operations, Testing), as well as management
- Excellent verbal and written communication skills.