Я расскажу вам про одну знакомую девочку, которая начала изучать программирование и технологии искусственного интеллекта в свои 10 лет. Имя у нее сказочное – Василиса. И живет она от меня за тридевять земель – на другом континенте. Какая же она будущая программистка?
Я помню, на первом занятии по программированию на Python спросила у нее, а любит ли она рисовать? А еще - любит ли рассуждать. Наверное, вы решили, что так я пыталась наладить контакт с ней? Но нет! Это был особенный тест на то, подходит ли ей профессия программиста. Она ответила, что любит и рисовать и всякие поделки делать и совсем не против поговорить и даже поспорить.
А дальше я спросила: «А вот что значит для тебя рисование? Зачем ты это делаешь? Это просто желание нарисовать то, что видишь вокруг себя и таким образом развлечься? Или может в рисунки ты вкладываешь свои мысли и чувства и даже идеи?» Ей ближе оказался второй вариант ответа. Ну и всё – тест был пройден!
Как же так, спросите вы? Как связаны программирование и творчество? Заглянув через плечо в монитор любого программиста ничего кроме скучного кода там не увидишь. Но ведь код - это инструмент, технический инструмент для создания интересного решения. Надо смотреть на результат.
Его, кстати, не всегда легко увидеть и оценить по-достоинству обычному пользователю. Если это UI-дизайн сайтов и приложений, то и сомнений не возникает в том, что дизайнер интерфейсов - это творческая профессия.
Но если это бэкенд сайта?
👀Бэкенд отвечает за внутреннюю логику работы сайта или приложения
Если вы в поисковой строке онлайн-магазина ввели «меч джедая», то этот запрос улетает куда-то в невидимые для пользователя миры и почти мгновенно возвращается списком подходящих ему товаров.
Разве в настройке работы бэкенда есть творчество, возможно, спросите вы? Наверняка это скучная техническая рутина. Дело в том, что любую рутину можно автоматизировать и это постоянно происходит. Но жизнь так устроена, что от программистов требуют постоянно чего-то нового и чаще всего именно за это готовы платить. И это новое должно работать еще быстрее, еще точнее и стоить в содержании минимально. В решении этой задачи не обойдешься рутинной перенастройкой параметров.
Когда-то давно, когда рисование не было моим хобби, я смотрела на кисти, холсты, мастихины и думала, что выглядят они невыносимо скучно, и названия у них скучные, как будто покрытые пылью. Но потом я увлекалась росписью по ткани и вдруг оказалось, что на кисточки можно смотреть с любовью и больше часа выбирать краски. С программированием оказалось все тоже самое. Смотришь на хорошо написанный код как на текст любимого автора и думаешь, как же он мог ограниченным набором слов, которые вроде все знают и постоянно произносят, создать целый мир с внутренней логикой, красотой и законами?
Так что же такое творчество? Надеюсь, вы согласитесь со мной что творчество это никак не копирование окружающего мира в рисунках, музыке, текстах. Мы вкладываем в творчество свои идеи и нам хочется, чтобы эти идеи были «прочитаны» другими, понравились им. Так ведь? То есть я хочу сказать, что творческий подход к любому делу начинается с идеи как сделать то, что есть лучше, интереснее, красивее, ярче, быстрее, креативнее и так далее. И в программировании без такого подхода сложно стать по-настоящему востребованным и хорошо зарабатывающим специалистом.
Рассмотрим типичную Data Science задачу и попробуем понять, нужен ли творческий подход, чтобы решить ее. Я специально взяла не творческую, на первый взгляд, задачу.
👀 Science - наука о данных. Объединяет методы по обработке больших объемов данных: статистические методы, методы интеллектуального анализа данных и технологии искусственного интеллекта
Допустим, к команде разработчиков пришел менеджер крупного онлайн магазина и рассказал, что магазин регулярно делает скидки для своих покупателей к праздничным распродажам, но, по его мнению, эти скидки не достаточно эффективно стимулируют продажи. Маркетологи пробуют разные стратегии, но нет уверенности, что найдены оптимальные.
Это и есть Data Sceince задача, поскольку сделать прогноз будущего поведения покупателей необходимо на основе анализа данных истории их покупок. Технологии машинного обучения как раз помогут в этой ситуации. Анализ больших данных, скидки, покупки, цифры, прогнозы... Что в этой задаче творческого, спросите вы? Читайте дальше.
Команда разработчиков берется за дело, чтобы понять, какие предложения скидок в прошлом сработали лучше всего. И вот одному разработчику пришло в голову, что среди прошлых предложений возможно не было действительно хороших стратегий и их анализ не даст нужный результат. Что если покупатель онлайн магазина будет по-настоящему рад, если однажды ему предложат скидку на товар, который он ни разу не брал, но несколько раз добавлял в корзину и удалял, не решаясь купить. Может ему очень хочется купить мантию Невидимку, но он в последний момент решает, что это не практично. И тут появляется персональная скидка именно на нее. Магия!
Может такое сработать? Это предположение нужно проверять, а для этого нужно сохранять данные о несовершенных покупках, а этого магазин не делал. Надо созвониться с клиентом и убедить его сохранять новые данные, а это дополнительные затраты.
Таких идей для успешной реализации проекта должно быть много. И все их интересно проверить! И какая-то идея обязательно принесет успех! С другой стороны, проверять все идеи это слишком дорого по времени и ресурсам, клиент не готов оплачивать бесконечные эксперименты.
Поэтому дата сайентист должен крутить все эти идеи прежде всего в своей голове, разглядывать их с разных сторон, представлять себя на месте покупателей, может даже читать статьи по психологии продаж, связываться с маркетологами клиента, в конце концов делать выбор в пользу конкретного предположения, а потом уже отбирать данные для машинного обучения.
Дата сайентист сначала прокручивает идеи решения в своей голове и только потом отбирает данные для машинного обучения
А может случится так, что у программистов своих идей нет. Такое бывает, когда программисты считают, что их работа делать ровно то, что их попросили. Клиент заплатил за анализ собранных данных, только их и использовали для тренировки модели искусственного интеллекта. А получилась ли из этого система, дающая хороший прогноз по будущим скидкам – неизвестно.
👉Хорошая новость для тех, кто любит экспериментировать и проявлять инициативу заключается в том, что разработчики, готовые предлагать креативные идеи, обсуждать их, убеждать коллег и клиентов в их состоятельности ценятся на рынке труда в несколько раз выше. Заметьте, не на 20%, не на 50%, а в разы больше.
Вернемся к разговору о том, можно ли считать программирование творческим процессом.
Творчество, по определению, это - создание чего-то нового, ценного не только для одного человека, но и для других.
В любом деле, от музыки до бизнеса, нужны творческие люди. Каждый ребенок полон идей и ему нужно дать разные инструменты для их выражения.
Кстати, важно ограждать детей от шаблонов. Например, вот таких. В одном объявлении недавно увидела рекламу IT-курса для девочек по дизайну и видеоблогингу. Там был намек на то, что это именно те, цифровые навыки, которые девочки осилят. Я не считаю себя феминисткой, но захотелось спросить: «Вы серьезно?!».
Почему для девочек только дизайн или видеоблогинг? А как же дата сайенс или бэкенд?! Да, в программировании кроме творческого подхода, очень важны логическое мышление, внимательность, хорошая память. И что? Этого нет у девочек?!
Доскажу вам сказку про Василису. Это девочка с легкостью прошла курс «Искусственный интеллект роботов» в нашей летней школе и совсем не против развиваться в программировании дальше.
Потому что программирование для всех... ❤️
Программирование - это интеллектуальное творчество. Это инструмент, который позволит вашему ребенку решать в будущем интереснейшие задачи в разных областях человеческой деятельности и создавать что-то новое и ценное для себя и других, то есть творить.
✍️Подпишитесь на канал Искусственный интеллект для детей и гуманитариев, чтобы вдохновляться на обучение в сфере IT.
Поставьте 👍, если согласны.