Silné stránky programátorů

Miloš Čermák přišel s trefným shrnutím: „AI je dnes v podstatě tři věci najednou: obtěžující, znepokojující a fascinující.“ I bez toho jsem již dřívě uvažoval, čím bych se živil, kdybych zrovna nebyl programátorem. Pokusím se co nejméně plivat síru na AI a najít důvody, jak bych mohl obstát.
Kdysi jsem napsal pro Heroine článek o kroužku programování, jako titulek si vybrali: „U budoucích ajťáků je nejdůležitější touha nespokojit se s prvním řešením.“
Ano, mimo jiné, ale kdybych měl jmenovat superschopnosti programátorů, co by to asi bylo?
Psaní kódu versus řešení problémů
Nejsme placení za psaní kódu (i když nás to baví), ale za řešení problémů. Hned mi vytane scéna z Pulp Fiction: „Jsem pan Wolf, řeším problémy.“
Pokud jste si mysleli, že vaším problémem je rychlost psaní kódu, máte mnohem větší starosti.
Analytická mysl
Klademe otázky, na které nikoho jiného nenapadlo se zeptat, a rozbíjíme špatná zadání.
Aby bylo možné nahradit programátory roboty, budou muset zákazníci přesně popsat, co chtějí.

Martin Fowler a jeho kolegové se zamýšleli nad strojovou migrací COBOLu
Přímý překlad by v nejlepším případě věrně zachytil stávající architektonická omezení, nahromaděné technické dluhy a zastaralá projektová rozhodnutí. Neřešil by slabá místa; pouze by je převedl do jiného jazyka.
…
V praxi modernizace málokdy spočívá v zachování minulosti v nové syntaxi.
Hravost a odvaha
Richard Stallman se zamýšlí nad původním významem slova Hacking.
Je obtížné napsat jednoduchou definici něčeho tak rozmanitého jako je hacking, ale myslím si, že společným znakem těchto aktivit je hravost, chytrost a objevování. Hacking tedy znamená zkoumání hranic možného v duchu hravé chytrosti.
Programátoři jsou podle mě troufalí až drzí, ve stylu Pipi Dlouhá punčocha: „To jsem ještě nikdy nedělala, to mi určitě půjde!“ Naučit se nový framework, opravit myčku, debuggovat kotel či postavit dům svépomocí? Pusťte mě k tomu!
Myšlení
Budu citovat Frantu Řezáče:
Umět programovat znamená ve své podstatě umět myslet. Kdo to neumí sám, toho LLM nezachrání.
A mě baví myslet.
Zodpovědnost
Programátoři jsou za svoji práci zodpovědní. AI agenti zlevňují výstupy. Nezlevňují však odpovědnost.
Závěr
Tento výčet superschopností programátorů jistě nebude kompletní. Věřím, že bychom je uplatnili i jinde, kdyby nás náhodou nahradily stroje.
Související
- U budoucích ajťáků je nejdůležitější touha nespokojit se s prvním řešením (Heroine)
- What Actually Makes You Senior
- If you thought the speed of writing code was your problem - you have bigger problems
- Verification debt: the hidden cost of AI-generated code
- On Hacking
- The Death of the Software Craftsman