Senior Software Engineer, Platform - Type System
C3.ai, Inc. (NYSE:AI) is a leading Enterprise AI software provider for accelerating digital transformation. The proven C3 AI Platform provides comprehensive services to build enterprise-scale AI applications more efficiently and cost-effectively than alternative approaches. The C3 AI Platform supports the value chain in any industry with prebuilt, configurable, high-value AI applications for reliability, fraud detection, sensor network health, supply network optimization, energy management, anti-money laundering, and customer engagement. Learn more at: C3 AI
We are seeking a senior software engineer to join our Type System team. In this role, you will power the core of our platform. The ideal candidate will have a strong computer science background and solid knowledge of programming languages.
A successful candidate will thrive in a fast-paced, highly collaborative environment and demonstrate the ability to lead teams to execute precisely and quickly. The ideal candidate will have excellent communication and leadership skills and enjoy solving challenging problems with elegant solutions.
As a C3 AI Platform engineering team member, you will closely collaborate with product owners and data scientists and be responsible for the entire software engineering lifecycle.
Responsibilities:
- Own the C3 Type System, the core abstraction layer, and the building block for the entire C3 AI Suite and all C3 applications.
- Own the language software development toolkits (SDKs) and execution engines for all supported languages (Java, JavaScript, Python).
- Drive architecture of the C3 Type System to satisfy functional and performance requirements while ensuring the product is easy to use and bug-free.
- Engage in innovation/R&D that leads to measurable improvement in the stability and performance of the system.
- Uphold high technical standards for the team by reviewing design and code. Help the team evaluate tradeoffs, pick the right design, and avoid technical debt.
- Work with product owners to ensure the team works on high-value projects.
- Mentor junior members of the team.
Qualifications
- Bachelor's degree in computer science, math, or similar field.
- Strong knowledge of Python or JavaScript, language internals, and advanced language features.
- Extensive Java programming experience.
- Passionate about programming languages.
- Strong competency in object-oriented programming, data structures, and algorithms.
- Experience in one or more of the following is a plus:
- Compiler
- Abstract syntax tree
- Metaprogramming
- Code generation
- Inter-language communication frameworks such as Rhino, JEP, Py4J
- Internal knowledge of conda/mamba/pip/npm
- Inter-process communication
- Creating domain-specific languages (DSL)
- Data serialization formats such as msgpack, pickle, Apache arrow, protocol buffers
- End-to-end development of a Python package
- Strong understanding of software development principles and design patterns.
- Strong knowledge of core operating concepts and Linux.
- Stellar communication and leadership skills.
- Experienced with agile development principles.
- Enjoy working with abstract concepts and finding elegant, rigorous solutions to complex problems.
- Intellectually curious and naturally drawn to challenges.
- Persistent and can-do attitude.
- Thrive in a fast-paced, dynamic environment and value end-to-end ownership of projects.
- A minimum of 3 years of work experience in a fast-paced software company.
C3 AI provides excellent benefits, a competitive compensation package and generous equity plan.
C3 AI is proud to be an Equal Opportunity and Affirmative Action Employer. We do not discriminate on the basis of any legally protected characteristics, including disabled and veteran status.