Все статьи | Мотивация

Есть ли креативность в работе программиста? Отвечают опытные разработчики

Есть ли креативность в работе программиста? Отвечают опытные разработчики главное изображение

Многим кажется, что программирование — это скучная и монотонная деятельность. Сутками сидишь за монитором, молча пьешь кофе для бодрости и кодишь, кодишь, кодишь. Мы пообщались с опытными разработчиками. Все они сходятся во мнении: программирование не творческая профессия, но в ней есть и даже должно быть место креативности.

Креативность — это как

Креативность часто сравнивают с творчеством, но это не одно и то же. Посмотрим на две ситуации, чтобы понять разницу.

Ситуация 1. Вы приехали на отдых в лес и хотите развести костер. У вас с собой спички, но вы решаете добыть огонь трением палочки о бревно. Вам любопытно сделать именно так. После нескольких попыток у вас даже получается.

В этом случае вы творчески решили обычную задачу, но потратили неоправданно много времени и усилий. Если на отдыхе это может быть уместно, то на работе вас вряд ли похвалят за такой подход.

Ситуация 2. Вы приехали все в тот же лес, но на этот раз забыли спички дома. Костер нужно развести обязательно, иначе замерзнете. Магазинов в округе нет, домой ехать далеко и долго. Вам на помощь снова приходят палочка, бревно и сила трения.

В этом случае нестандартное решение задачи не только уместно, но и необходимо: вы буквально спасли себе жизнь и сэкономили время, не поехав на поиски спичек. Вы поступили креативно.

Кирилл Мокевнин, СЕО Хекслета: «Я не очень люблю слово креативность. В понимании большинства, решить задачу креативно — значит каким-то хитрым способом, как-то витиевато и необычно. Но это противоречит инженерии. Я предпочитаю называть эту компетенцию “инженерная смекалка” — когда разработчик придумывает простое решение для сложной задачи, а не усложняет процесс».

Марина Арефьева, разработчица и основательница консалтинговой компании Creative Mind Consulting: «Реальный кейс: программистам ресторана быстрого питания нужно было выполнить задачу клиента и обновить программу лояльности. Они создали свой язык программирования и добавили новые возможности в него. Это потащило за собой ряд сложностей. Например, пришлось поддерживать не только сайт, но и обновления безопасности этого языка».

Креативность — это не изобретение велосипеда. Это созидательная деятельность, в результате которой рождается наилучшее в заданных условиях решение — максимально эффективное и минимально ресурсоемкое.

Есть ли место креативности в программировании

Креативность можно применить в любой профессии, ведь она позволяет решить повседневную задачу неординарно, создав что-то новое и полезное. Профессия программиста — не исключение.

Марина Арефьева, разработчица и основательница консалтинговой компании Creative Mind Consulting: «У меня была рабочая обязанность — каждый понедельник читать 25 email-рассылок про уязвимости Internet Explorer и выбирать информацию, касающуюся уязвимостей Linux. Эта деятельность удручала, отнимала много времени и душевных сил. Я решила покреативить и создала скрипт на Python, который позволил автоматизировать задачу. Так я вернула себе рабочее время и посвятила его программированию».

Креатив кроется в мелочах. Не обязательно создавать что-то глобальное. Главное, чтобы результат деятельности приносил пользу: помогал экономить, оптимизировать процессы, повышать эффективность команды.

Андрей Мошков, руководитель отдела разработки на Хекслете: «В страницы с уроками на Хекслете входит теория, обсуждение, квиз и упражнение. Раньше у этих блоков был общий скролл — когда студент переключался между ними, положение на странице ломалось. Человек попадал то в конец теории, то в начало обсуждения, то еще куда-то. Учиться было неудобно. Решение оказалось максимально простым и исключительно в рамках верстки: мы разделили блоки и добавили в каждый свой скролл, а сайдбар с кнопками закрепили отдельно. Теперь при переключении между блоками позиция сохраняется, как есть».

Креативность — отход от правил. В работе программиста используются паттерны и схожие подходы, которые помогают найти путь для решения задачи. Будет ли разработчик с этого пути сходить — зависит от бюджета, ресурсов и других условий.

Должен ли каждый программист быть креативным

Инженерная смекалка — желательная, но необязательная компетенция. Все зависит от амбиций разработчика. Если хочется продвигаться по карьере и попасть в интересную команду, то без креативности не обойтись. Если же вполне устраивает выполнение рутинных задач по шаблону, то всегда можно найти компанию, в которой требуется как раз такой линейный сотрудник. Правда, это может быть не так просто.

Во-первых, работодатели ценят креативность: при выборе из двух кандидатов наймут того, у кого есть этот навык, а при сокращении в первую очередь попрощаются с тем, кто не умеет мыслить нестандартно.

Кирилл Мокевнин, СЕО Хекслета: «Считаю, что инженерная смекалка полезна на самом базовом уровне и при выполнении примитивных задач. Работаешь с Excel, увидел, что пять человек в команде делает задачу руками, написал маленький скрипт — и теперь все происходит автоматически за секунду».

Во-вторых, представить себе две абсолютно одинаковые задачи в разработке трудно.

Никита Михайлов, автор курсов по верстке на Хекслете: «Предположим, нужно сделать карточку товара для двух магазинов. У одного из них сайт справляется с большим количеством посетителей, а у другого — нет. Действовать по шаблону не получится, нужна “креативность”: отключаем загрузку того, что пользователь не видит, удаляем то, что уже пролистал, и так далее».

Наконец, любая компания заинтересована в развитии, а оно невозможно без креативных сотрудников. Буквальное понимание задач и работа исключительно по техническому заданию могут привести к печальным последствиям.

Так должен ли каждый программист быть креативным? Нет. Но креативное мышление точно не помешает, особенно если есть желание активно продвигаться по карьере. Эффективный ИТ-архитектор, менеджер и тим-лид всегда старается минимизировать затраты на разработку за счет нешаблонных решений, мыслит глобально и ориентируется на финальный результат.

Как программисту прокачать креативность

Лучше всего с нестандартными задачами справляются специалисты с широким кругозором и большим практическим опытом. А еще неплохо выручают базовые знания по ИТ-архитектуре и обмен опытом с коллегами. Разберемся подробнее.

Любопытство — это двигатель развития. Чем больше у человека знаний из разных областей, тем проще ему взглянуть на проблему под другим углом или вообще перевернуть ее с ног на голову.

Андрей Мошков, руководитель отдела разработки на Хекслете: «Стоит расширять свой кругозор, начиная от изучения других языков программирования и технологий, заканчивая знаниями из других сфер. Это называется быть T-shaped специалистом: уметь при случае применять “чужое” у себя на проекте».

В решении сложных задач помогает архитектурная база. Когда она есть, все дается проще. Это как с домами. Ремесленник успешно строит из кирпича, но при виде бетонных блоков теряется. Архитектор же понимает, как строятся здания в принципе — материал не имеет значения.

Марина Арефьева, разработчица и основательница консалтинговой компании Creative Mind Consulting: «Получить базовые знания можно на курсах по ИТ-архитектуре. На них программисты учатся действовать системно, глубоко анализировать данные, автоматизировать некоторые этапы разработки и мыслить финальным результатом. Бонусом получают навык адаптивности, который позволяет работать практически с любым языком».

Конечно, многое приходит с опытом. Профессиональные вызовы мотивируют на поиск новых подходов и развивают мышление.

Никита Михайлов, автор курсов по верстке на Хекслете: «Я за решение задач. Желательно нестандартных и с применением новых подходов. Не столь важно выучить сто алгоритмов, важно увидеть новые направления для решения одних и тех же проблем. Чем больше вариаций будете видеть, тем меньше будут пугать трудности».

Также можно учиться на опыте коллег с креативным мышлением: наблюдать за лидерами в команде и просить консультацию 1:1, посещать хакатоны или специальные конференции для разработчиков, например, SaintHighLoad++ или FrontendConf.

Кирилл Мокевнин, СЕО Хекслета: «Насмотренность — лучший способ прокачать креативность. Как правило, это приходит само в компаниях с хорошей инженерной культурой, где работают не в огне и постоянно улучшают то, с чем работают».

Креативность и креативное мышление — это то, что отличает программистов высшего звена от «младших» коллег. Всем, кто хочет расти в профессии и претендовать на более высокую зарплату, это умение необходимо. Прокачать креативность поможет постоянное решение нестандартных задач и насмотренность.

Советуем посмотреть по теме:

Никогда не останавливайтесь: В программировании говорят, что нужно постоянно учиться даже для того, чтобы просто находиться на месте. Развивайтесь с нами — на Хекслете есть сотни курсов по разработке на разных языках и технологиях

Аватар пользователя Валерия Костоварова
Валерия Костоварова 15 сентября 2022
Рекомендуемые программы

С нуля до разработчика. Возвращаем деньги, если не удалось найти работу.

Иконка программы Фронтенд-разработчик
Профессия
Разработка фронтенд-компонентов для веб-приложений
6 октября 10 месяцев
Иконка программы Python-разработчик
Профессия
Разработка веб-приложений на Django
6 октября 10 месяцев
Иконка программы Java-разработчик
Профессия
Разработка приложений на языке Java
6 октября 10 месяцев
Иконка программы PHP-разработчик
Профессия
Разработка веб-приложений на Laravel
6 октября 10 месяцев
Иконка программы Node.js-разработчик
Профессия
Разработка бэкенд-компонентов для веб-приложений
6 октября 10 месяцев
Иконка программы Верстальщик
Профессия
Верстка с использованием последних стандартов CSS
в любое время 5 месяцев
Иконка программы Fullstack-разработчик
Профессия
Разработка фронтенд- и бэкенд-компонентов для веб-приложений
6 октября 16 месяцев
Иконка программы Разработчик на Ruby on Rails
Профессия
Создание веб-приложений со скоростью света
6 октября 5 месяцев
Иконка программы Инженер по тестированию
Профессия
Новый
Ручное тестирование веб-приложений
дата определяется 4 месяца