Software Engineer
Cerebri AI
 New York, NY
Title: Software Engineer
Location: Toronto, ON
About Cerebri AI

Cerebri AI is an advanced customer analytics company that uses state-of-the-art AI technologies, such as reinforcement learning, to analyze customer touchpoints across multiple channels. Cerebri's AI solutions quantify a customer’s commitment to a brand or a product, at any point in time, expressed in monetary values and derive Best Actions that drive customer commitment and financial results.

After nearly two years in semi-stealth mode devoted to developing a truly world-class product, our Series A financing was led by M12 (formerly Microsoft Ventures). To date, the team has filed 11 patents pertaining to the Cerebri AI way. We now have 60 employees in three offices in Austin, Toronto and Washington DC. Over 80% of the staff are in technical roles in data science and software engineering. Our team of senior executives averages 20+ years selling software successfully to enterprises worldwide. Cerebri AI is a proud Microsoft Partner and an active member of the Mastercard Start Path network.
To learn more, visit cerebriai.com.

“Cerebri AI was named a 2019 Cool Vendor in Artificial Intelligence for Customer Analytics by Gartner“

Role:

  • As a Software Engineer, you will have the opportunity to become a member of our world class software team experiencing various technology tracks. The Cerebri AI track system allows you and the team to determine the most viable track based upon your knowledge, skills, background and experience. During your initial time with Cerebri AI the cross functional experience begins as a QA Engineer in our Quality Assurance Machine Learning application track. Based upon your skills, fit for the role, and preference, one can then either remain on the QA team or move to either a Front-End Software Engineer (Machine Learning application) track or a Back-end Machine Learning Engineering track, utilizing your specific interest of skills. Whichever track followed, the cross-functional experience enriches your own personal technical knowledge with a broad understanding of the Cerebri AI platform.  
  • You will play an integral role in the development of our flagship AI product offerings for enterprise. You will be part of a small, focused team working in a fast-paced start-up environment.
  • While we do not require a match on all Qualifications below, a successful candidate will have a number of these requirements met. 

Responsibilities:

  • QA Engineer track (Machine Learning platform and application)
  • Support the following QA areas: manual testing, test automation and performance testing setup, configuration, and operation
  • Support both front-end full stack application QA and back-end Machine Learning pipeline QA as required
  • Design and perform automated tests for Smoke, Integration, Functionality, Performance, and Regression Testing
  • Work in collaboration with development team on the CI / CD pipeline
  • Participate in all stages of the agile SDLC, including requirements and user stories reviews and sign-offs, release management and release sign-offs

  • Front-end Software Engineer track (Machine Learning application)

  • Develop adaptive full stack API / UI front-end web and mobile applications that manage large datasets in conjunction with machine learning models trained against that data
  • Maintain automated test coverage against all code you produce
  • Contributing to design discussions related to product
  • Build and maintain Continuous Integration, Development, and Deployment (CI / CD) pipelines to maximize efficiency and ensure quality in the development process.
  • Learn the latest advancements in machine learning and data engineering while simultaneously looking for opportunities to apply them in our products
  • Meet product deliverable deadlines set in a rapidly evolving startup environment

  • Back-end Machine Learning Engineer track (Machine Learning platform)

  • Build, test, deploy distributed, scalable, and resilient Spark/Scala/Kafka Data processing, AI, and Machine Learning data pipelines for batch, micro-batch, and streaming workloads connecting to various source systems using flat files, API, streaming, and other interfaces
  • Deploy pipelines using scheduling and orchestration frameworks: Cron and Airlfow
  • Build, test, deploy distributed, scalable, and resilient persistence and storage layers in support of the Data processing, AI, and Machine Learning data pipelines utilizing a combination of SQL (PostgreSQL) and No-SQL databases (Cassandra), distributed file systems (HDFS, Azure ABFS, AWS S3, or equivalent), Search (Elastic), and SQL acceleration layers (Presto)
  • Deploy fully containerized Docker/Kubernetes Data processing, AI, and Machine Learning data pipelines into Azure, AWS, GCP cloud environments and on-premise systems

  • Overall responsibilities (all tracks)
  • Document Detailed Designs (including source to target mappings) and Code for Data Quality frameworks that can measure and maintain Data Completeness, Data Integrity and Data Validity between interfacing systems
  • Ensure all solutions comply with the highest levels of security, privacy, and data governance requirements as outlined by Cerebri and Client legal and information security guidelines, law enforcement, and privacy legislation, including data anonymization, encryption, and security

Qualifications:

  • A degree in Computer Science, Engineering, Machine Learning or another technology field
  • Big Data certification, including Hadoop, Spark, Scala, Kafka would be an asset
  • Proficiency and development experience in Java and JavaScript
  • Proficiency in one or more of the following: Scala, Spark, Python, Elastic, Kafka
  • Working knowledge of relational databases (Postgres, Oracle), No-SQL databases (e.g. Cassandra), Hadoop Big Data technology stack (HDFS, Hive)
  • Proficiency in React or Angular front-end frameworks (Play, React or equivalent)
  • Experience developing APIs and microservices
  • Experience setting up automated tests that provide full code coverage and building/maintaining Continuous Integration (CI) pipelines (e.g. Jenkins, Travis CI)
  • Experience in developing test automation framework using Protractor-Jasmine or Selenium
  • Experience with load/performance testing tools such as JMeter and other open source JavaScript based libraries
  • Working knowledge of Bitbucket and/or GitHub
  • Experience with deploying containerized Docker/Kubernetes applications 

Nice to Haves:

  • Experience with Scala, AngularJS, React, D3, Lightbend Reactive Platform (Play and Akka), HTML, CSS, Grunt,
  • Understanding Machine Learning fundamentals and common API frameworks that can be used to deploy ML pipelines (e.g. Spark MLlib, Python scikit-learn, Tensorflow).
  • Experience in deploying statistical models for use in applications (e.g. Naive Bayes, Gaussian Mixture Models, Hidden Markov Models, etc.).
  • Familiarity with common neural network configurations and the problems they can be used to solve.

  • Problem Solver – You are proficient at using a combination of intuition and logic to come up with solutions
  • Detail Oriented – You are an expert at identifying nuances and aligning small details with larger objectives
  • Independent Worker – Your experience and capabilities allow you to require little instruction and guidance
  • Excellent team player – You are humble, ambitious and driven to make a difference