- PVSM.RU - https://www.pvsm.ru -
Я хотел бы начать с истории:
Учитель керамического дела объявил в день открытия, что разобьет класс на две группы. «Те, кто сидят слева» — сказал он: «будут оцениваться только по количеству проделанной работы, те, кто справа — только по её качеству». Его методика была проста, в последний день он принесет весы и взвесит работу группы «количество»: 50 фунтов горшков это «5», сорок фунтов горшков это «4» и так далее. Те, кто оцениваются по «качеству», однако, должны сделать один, пусть и совершенный, горшок, чтобы получить «5». Время сдачи пришло, и обнаружился любопытный факт: работы лучшего качества были сделаны в группе, оцениваемой по количеству. Похоже, в то время, как группа «количество» упорно штамповала свои работы и училась на своих ошибках, группа «качество» теоретизировали об идеале и, в конце концов, только и могла показать свои старания и грандиозные теории об идеале, а также кучу бесполезной глины.

Эта история из книги Art & Fear [1].
Признаюсь, я еще не прочитал ее, но я наткнулся на эту историю однажды, и она поразила меня.
Разработка ПО — сложная профессия. Довольно легко научиться программировать, но чтобы научиться, действительно строить полноценные программные системы, может потребоваться много лет обучения и практики.
Одна вещь, которую я заметил — разработчики ПО имеют тенденцию быть очень продуктивными.
Я помню дни, когда у меня была дискета с разными программами, над которыми я работал. Тогда казалось, я начал понимать разработку ПО лучше, в действительности я начал становиться менее продуктивным.

Почему так случилось?
У меня есть несколько теорий, но основная в том, что, когда мы не знаем, что мы делаем, мы просто пытаемся довести задачу до конца.
Помните, вы были ребенком? Скорее всего вы много рисовали. И наверняка эти рисунки не будут так хороши, если судить их по вашим сегодняшним стандартам, вы даже могли бы назвать их ужасными.
Почему вы перестали рисовать так много сейчас? (Может быть вы и нет, но большинство перестали.) Лучше поставить вопрос так: «почему вы рисовали так много тогда?»
Есть много ответов, но я думаю большинство из нас решит, что одна из причин в том, что дети просто познают и учатся, и они не скованы какими-то ограничениями.
В какой-то момент мы становимся старше, и понимаем, что такое искусство, и как оно должно выглядеть. Мы могли бы даже узнать, как рисовать правильно. В конечном итоге у нас появляется представление о том, что такое хорошая картина, которое приводит к тому, что очень сложно взять в руку этот карандаш.
Я знаю, что прошел через фазу в разработке, в которой не был и близко так продуктивен, как мог бы.
Я потратил много времени на «восхищение задачей», и еще больше на «превращение простого в сложное».
Как разработчики ПО мы имеем тенденцию ставить себе ограничения и искать идеальное решение проблемы.
Пока я не зашел слишком далеко: я ни в коем случае не советую писать говнокод и распространять его. Не делайте этого!
Я предлагаю лишь стараться искать решение оптимальное на 90 процентов, зная, что можно будет вновь вернуться к проблеме, если вам действительно нужно будет найти лучшее решение, делайте так вместо того, чтобы тратить время на решение оптимальное на 95 процентов и более.
Я писал ранее, что это самая сложная вещь, с которой я боролся [2], и я думаю, это актуально для многих разработчиков.
Проблема в том, что, когда мы начинаем как разработчики, мы не знаем «правильных путей» и менее ограничены в своих действиях. Мы просто идем вперед и делаем.
Когда мы начинаем учиться делать «правильно», нас часто душит это знание и ограничения, с ним связанные. Это делает нас менее продуктивными и заставляет изобретать избыточные решения для проблем.
Не во всех смыслах, но, возможно они лучше в чем-то. Может в том, что производят больше.
В моем понимании, решение в том, чтобы перестать бояться и отбросить ограничения, но умерить себя знаниями и мудростью опыта.
Я применил это сам, и в последние несколько лет моя производительность возросла невероятно.
Вот несколько практических советов, которые увеличили мою производительность, как разработчика.
Иногда быть хорошим, это плохо, потому что это мешает и парализует нас. Я обнаружил, что гораздо больше вещей делается исполнителями, а не мыслителями.
Не давайте своим знаниям «ремесла» разработки ПО быть помехой вашей производительности, или вы будете вынуждены наблюдать как те, у кого меньше навыков и знаний, постоянно превосходят вас, пока вы гневно и резко критикуете их со стороны.
Автор: fo2rist
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/razrabotka/13684
Ссылки в тексте:
[1] Art & Fear: http://www.amazon.com/gp/product/0961454733/ref=as_li_ss_tl
[2] самая сложная вещь, с которой я боролся: http://simpleprogrammer.com/2010/07/20/the-hardest-thing-i-struggle-with/
Нажмите здесь для печати.