Maciek's wroclove.rb 2018 lightning talk reflecting on two questions: what does it mean to be a developer, and will computers replace us? Argues a programmer works with code while a developer works with problems; most developers are programmers but not all. Developers must be fluent in two languages — the language of code and the language of the client — and build mental models of both the problem and the solution. When those languages diverge (CRUD terminology vs business terminology like 'place an order' or 'prepare a shipment'), reasoning becomes expensive; DDD nails this by pulling the two models together. Conclusion: AI will keep replacing low-level coding (as we already moved from punch cards and C++ to Ruby) but struggle at the high-level, empathic work with clients, e.g. participating meaningfully in an EventStorming session — and if that ever changes, job security will be the least of our concerns.