<mxfile host="app.diagrams.net" modified="2026-10-25T00:00:00.000Z" agent="OpenAI Codex" version="24.7.17" type="device"><diagram id="becoming-an-ai-engineer-2026" name="A Practical Path into AI Engineering"><mxGraphModel dx="1440" dy="920" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1440" pageHeight="920" math="0" shadow="0"><root><mxCell id="0"/><mxCell id="1" parent="0"/><mxCell id="s1" value="FROM FOUNDATIONS TO PRODUCTION" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#fffefa;fillOpacity=45;strokeColor=#222222;strokeWidth=2;dashed=1;dashPattern=8 6;fontColor=#676761;fontSize=14;fontStyle=1;verticalAlign=top;spacingTop=12;" vertex="1" parent="1"><mxGeometry x="44" y="220" width="1352" height="430" as="geometry"/></mxCell><mxCell id="software" value="&lt;div style=&quot;text-align:left&quot;&gt;&lt;small&gt;01 · FOUNDATION&lt;/small&gt;&lt;br&gt;&lt;b&gt;Software and&lt;br&gt;data&lt;/b&gt;&lt;br&gt;Python · SQL · APIs&lt;br&gt;Git · tests · debugging&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#efeee9;strokeColor=#222222;strokeWidth=2;fontColor=#222222;fontSize=16;spacing=12;arcSize=14;" vertex="1" parent="1"><mxGeometry x="62" y="370" width="220" height="130" as="geometry"/></mxCell><mxCell id="ml" value="&lt;div style=&quot;text-align:left&quot;&gt;&lt;small&gt;02 · UNDERSTAND&lt;/small&gt;&lt;br&gt;&lt;b&gt;Machine learning&lt;br&gt;basics&lt;/b&gt;&lt;br&gt;Data · baselines&lt;br&gt;Metrics · error analysis&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e2edf5;strokeColor=#222222;strokeWidth=2;fontColor=#222222;fontSize=16;spacing=12;arcSize=14;" vertex="1" parent="1"><mxGeometry x="345" y="370" width="220" height="130" as="geometry"/></mxCell><mxCell id="build" value="&lt;div style=&quot;text-align:left&quot;&gt;&lt;small&gt;03 · APPLY&lt;/small&gt;&lt;br&gt;&lt;b&gt;Build a useful&lt;br&gt;AI feature&lt;/b&gt;&lt;br&gt;Models · retrieval&lt;br&gt;Tools · controls&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#e4efe7;strokeColor=#222222;strokeWidth=2;fontColor=#222222;fontSize=16;spacing=12;arcSize=14;" vertex="1" parent="1"><mxGeometry x="628" y="370" width="220" height="130" as="geometry"/></mxCell><mxCell id="evaluate" value="&lt;div style=&quot;text-align:left&quot;&gt;&lt;small&gt;04 · VERIFY&lt;/small&gt;&lt;br&gt;&lt;b&gt;Evaluate and&lt;br&gt;secure&lt;/b&gt;&lt;br&gt;Test cases · risks&lt;br&gt;Failure behavior&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f6edcf;strokeColor=#222222;strokeWidth=2;fontColor=#222222;fontSize=16;spacing=12;arcSize=14;" vertex="1" parent="1"><mxGeometry x="911" y="370" width="220" height="130" as="geometry"/></mxCell><mxCell id="operate" value="&lt;div style=&quot;text-align:left&quot;&gt;&lt;small&gt;05 · SHIP&lt;/small&gt;&lt;br&gt;&lt;b&gt;Deploy and&lt;br&gt;operate&lt;/b&gt;&lt;br&gt;Monitor · improve&lt;br&gt;Explain tradeoffs&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#f4e2df;strokeColor=#222222;strokeWidth=2;fontColor=#222222;fontSize=16;spacing=12;arcSize=14;" vertex="1" parent="1"><mxGeometry x="1194" y="370" width="200" height="130" as="geometry"/></mxCell><mxCell id="evidence" value="&lt;div style=&quot;text-align:left&quot;&gt;&lt;small&gt;PORTFOLIO EVIDENCE&lt;/small&gt;&lt;br&gt;&lt;b&gt;Reproducible code · evaluation results · design decisions · known limits&lt;/b&gt;&lt;br&gt;Make your portfolio show the evidence behind the system.&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;fillColor=#efeee9;strokeColor=#222222;strokeWidth=2;fontColor=#222222;fontSize=16;spacing=12;arcSize=14;" vertex="1" parent="1"><mxGeometry x="250" y="720" width="940" height="100" as="geometry"/></mxCell><mxCell id="e1" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#222222;strokeWidth=2;fontColor=#676761;fontSize=12;labelBackgroundColor=#fbfaf7;" edge="1" parent="1" source="software" target="ml"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="e2" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#222222;strokeWidth=2;fontColor=#676761;fontSize=12;labelBackgroundColor=#fbfaf7;" edge="1" parent="1" source="ml" target="build"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="e3" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#222222;strokeWidth=2;fontColor=#676761;fontSize=12;labelBackgroundColor=#fbfaf7;" edge="1" parent="1" source="build" target="evaluate"><mxGeometry relative="1" as="geometry"/></mxCell><mxCell id="e4" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=1;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=1;strokeColor=#222222;strokeWidth=2;fontColor=#676761;fontSize=12;labelBackgroundColor=#fbfaf7;" edge="1" parent="1" source="evaluate" target="operate"><mxGeometry relative="1" as="geometry"/></mxCell></root></mxGraphModel></diagram></mxfile>