Це магія!
Коли люди, які не мають технічного досвіду, запитують, що це означає писати програмне забезпечення / програми / робити інженерію програмного забезпечення, я просто кажу їм, що це насправді: магія. Маги спонукають заклинання езотеричною мовою для виконання певних завдань, вони махають паличками, і відбувається щось магічне. Я маю на увазі певні заклинання езотеричною мовою, мотаю мишкою, і відбувається щось магічне (наскільки вони стосуються).
Якщо вони не впевнені, я попросив увімкнути їхній смарт-телефон і розповісти, як все на цьому дійсно працює. Зазвичай вони кажуть: "Я не знаю, це просто так. Я натискаю кнопки і все відбувається". Тоді я їм кажу: "Так, але я знаю, що насправді відбувається, і це в основному те саме, що Гаррі Поттер махає паличкою і каже:" Hocus pocus "" Для всіх намірів і цілей, для непрофесійних працівників, я думаю, що це цілком законне пояснення.
Майже всі знають, хто такий Гаррі Поттер, чим він займається, і що робить його особливим (принаймні, що він чарівник і вміє робити магію потужних справ). Можна просто пояснити, що інколи магам потрібно писати свої заклинання новою мовою, щоб зробити їх магію ще сильнішою, що насправді не так далеко від істини. Ви можете просто сказати їм, що ви вивчаєте процес створення більш потужних книг орфографії, щоб допомогти поколінню ще більш потужних майстрів, які можуть створити ще більше магії на своїх улюблених споживчих пристроях. Усі це цінують.
Епічний провал
Якщо це не вдається, я повертаюсь до прикладу рецептів, тому що нерівномірність рішень принаймні вчить людей, що існує більше ніж один спосіб зібрати кота (або спекти торт), і це частина того, що робить програмування так хитрий. Це також допомагає поставити людину в становище центрального процесора, а іноді дотримуючись інструкцій, які вони можуть не зрозуміти (більшість людей, мабуть, не знають різниці між харчовою содою та пекарським порошком, і чому рецепт мав би той чи інший).
Мертві закінчується
Мені не подобається використовувати математику як приклад, тому що, щоб займатися математикою, ти повинен розуміти, для чого потрібні кроки. Ви не можете робити дуже багато математики, сліпо слідуючи інструкціям (ну, ви можете, але люди зазвичай це не навчаються). Мені не подобається сортування в якості прикладу, тому що це занадто технічно, щоб лайперсон оцінив. Якщо я розмовляю з кимось, хто може оцінити приклад сортування, то, напевно, вони вже мають певне уявлення про програмування і, ймовірно, спробували самі.