We’re striving to use clear language, but there are a few words where it’s helpful to expound upon how we interpret them.
Craft Responsibility Definitions
The responsibilities defined below make up the foundation of the Machine Learning Engineer craft:
- ML Fluency: Ability to select the right ML algorithm, tooling, and technique for ML projects and following through with robust statistical analyses and visualization techniques.
- ML Design: Ability to formulate business objectives to ML tasks; defining quality metrics and experimentation strategy that lead up to the objectives; proficiency in designing for different lifecycle* stages and interactions thereof in an ML project.
- Code fluency: The ability to read and write code fluently and well.
- Software design: The ability to design software components with reasonable APIs and interaction patterns (writing good classes, modules, etc - building out a box in your architecture diagram)
- Architecture design: The ability to design systems of interacting components - e.g. a collection of interacting features or the architecture of a product, binary or significant service (what are the boxes in your architecture diagram, how do they interact)
- Technical strategy: Ensuring the right long-term technical decisions are being made by the organization - knowing what systems to build; making technical choices when there are not clear solutions. What standards apply to all the boxes in the organizations architecture diagrams?
* ML development lifecycle refers to the stages/tasks in the life of an ML projects: task formulation; dataset collection, cleaning, and aggregation; feature extraction; modeling, optimization, and evaluation; off/on-line testing, deployment and monitoring; and iteration based on feedback from each stage.