Скидки до 20% + 2-ая профессия бесплатно и подарки на 50 000₽

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Интервью с Мариной Арефьевой: о методологиях и креативном мышлении программистов
  • Подкаст «Мысли и методы»: Ритуалы, упрощение и расширение сознания
  • Сайт с разными задачками для ума: Games for the brain
  • Подборка из девяти книг для развития креативности и творческого мышления
  • Публичные выступления, грамотные коммиты и еще два навыка для долгосрочного роста программиста. Статья в блоге

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

Аватар пользователя Валерия Костоварова
Валерия Костоварова 15 сентября 2022
3
Похожие статьи
Рекомендуемые программы
профессия
Верстка на HTML5 и CSS3, Программирование на JavaScript в браузере, разработка клиентских приложений используя React
10 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на Python, Разработка веб-приложений и сервисов используя Django, проектирование и реализация REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
Тестирование веб-приложений, чек-листы и тест-кейсы, этапы тестирования, DevTools, Postman, SQL, Git, HTTP/HTTPS, API
4 месяца
с нуля
Старт 26 декабря
профессия
Программирование на Java, Разработка веб-приложений и микросервисов используя Spring Boot, проектирование REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
новый
Google таблицы, SQL, Python, Superset, Tableau, Pandas, визуализация данных, Anaconda, Jupyter Notebook, A/B-тесты, ROI
9 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на PHP, Разработка веб-приложений и сервисов используя Laravel, проектирование и реализация REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на Ruby, Разработка веб-приложений и сервисов используя Rails, проектирование и реализация REST API
5 месяцев
c опытом
Старт 26 декабря
профессия
Программирование на JavaScript в браузере и на сервере (Node.js), разработка бекендов на Fastify и фронтенда на React
16 месяцев
с нуля
Старт 26 декабря
профессия
Программирование на JavaScript, разработка веб-приложений, bff и сервисов используя Fastify, проектирование REST API
10 месяцев
с нуля
Старт 26 декабря
профессия
новый
Git, JavaScript, Playwright, бэкенд-тесты, юнит-тесты, API-тесты, UI-тесты, Github Actions, HTTP/HTTPS, API, Docker, SQL
8 месяцев
c опытом
Старт 26 декабря