Software Developer 2/Software Engineer
At the AI Innovation team, we work in a fast-paced and high-growth environment. You will have the opportunity to work on challenging projects and develop your expertise. The software engineer will be working closely with the product owner, technical lead, Machine Learning Software Engineers, and stakeholders for project delivery. As a software engineer, you will help the team integrate with IT services and infrastructure, build internal services and design/develop/deploy machine learning model wrappers. You will also be responsible for driving tools, processes and best practices in software development for the AI Innovation team.
• Integration between AI modules and infrastructure (Databases, User Interface, Server, etc...)
• Work with GM IT to offer compute infrastructure to the AI Innovation Team members
• Build and maintain CI/CD pipelines
• Setup services for internal or external users
• Design and develop front-end interfaces for machine learning models
• Produce high-quality and reliable results by contributing heavily to large cross-functional projects.
• Assist our Machine Learning Software Engineer to ensure efficient development and deployment.
• Improve engineering standards, tooling, and processes.
• Build and maintain data visualization dashboards
• Bachelor degree in computer science or computer engineering
• Experience working on high-paced agile environment
• Experience as a solution architect for business information systems, focusing on database architecture, data modeling, data analysis, and application integration.
• Advanced knowledge in SQL and NoSQL and familiarity with various types of databases
• Experience with containerization (e.g. Dockers)
• Experience with distributed systems like big data processing/streaming/storage engines (e.g., Apache Hadoop, Apache Spark, Apache Kafka), different Cloud environments (e.g., AWS, GCP, Azure), or resource management systems (e.g., Apache Mesos, Kubernetes)
• Experience with continuous integration and automated deployments (CI/CD)
• Experience with Web Services: REST API, etc. (Python?)
• Experience with frontend software development
• Strong computer science fundamentals: data structures, algorithms, distributed systems.
• Strong communication skills
• Strong collaboration skills
• Nice to have:
o Familiarity with machine learning and statistical approaches
o Porting machine learning models on embedded systems and mobile environments