Под другим углом

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

Все достаточно просто. Допустим, стоит перед вами не простая задача: «Написать новый сложный модуль», «Привести 100 клиентов за неделю», «Повысить конверсию на 200%» и много еще каких вариантов проблем и задач подобного рода. Как мы привыкли их решать? Берем и делаем сразу же самым понятным и простым способом, не смотря на то что вопрос не простой, просто потому что горит! Потратив силы на простой способ (точнее сказать, очевидный способ) нам начинает казаться, что задача не решаема, особенно, в озвученные сроки. Поверьте, такого не бывает. Любую, абсолютно любую задачу можно решить в адекватный срок, предварительно проработав ее со всех сторон и выбрав максимально правильный вариант решения. Как же это сделать правильно, давайте рассмотрим.

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

Для чего это нужно делать? Наш мозг — хитрая штука, которая может обрабатывать информацию параллельно с другими задачами и вопросами. Очень часто, в процессе решения рутинных задач, может прийти отличное решение для основной, наиболее важной, так как мозговая деятельность входит в привычный ритм, без пиковой нагрузки, как при получении сложной задачи.

Второе — составить список предполагаемых решений.

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

Третье — пообщайтесь с профессионалами в этой области.

Профессионалы помогут накинуть в ваш заготовленный список решений еще больше вариантов реализации. В процессе, вы обсудите доступные способы, и решение станет более прозрачным.

Четвертое — пообщайтесь с НЕ профессионалами в этой области.

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


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

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

А какие способы используете вы?

Лень в программировании

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

Ну, например. Делал я тут недавно автоматический deployer сайтов на WordPress. Задача не сложная, но интересная:

  1. Сервер — родитель имеет свой репозиторий с архивом WordPress и дампом базы данных. Мы даём ему сигнал скопировать все это дело на удаленный сервер.
  2. Файлы копируются в определенную папку на удаленный сервак.
  3. Архив разархивируется по ssh.
  4. По ssh идёт замена строк с названием сайта в дампе, а также в файлах-конфигах и в robots.txt.
  5. По ssh разворачивается дамп базы.
  6. Все установщики удаляются.

Все это в автомате! Круто? Здорово!

Потом я лезу руками в админку и делаю замены названия сайта, имени пользователя, надписи в футере и так далее! Меня это бесит! Я хочу автоматизировать, но мне лень. Это же слишком просто! Найти параметр — unserialize, потом изменение, serialize и запись в базу данных. Мозгу лень заниматься этой простотой, потому что он знает, что при создании удаленного инструмента по смене этих элементов, придётся сделать много рутинных тестов. Но, чтобы сохранить нервную систему, я должен это сделать. Обещаю!

А у вас как с ленью?