Перевод статьи: “14 Ways to Learn From Creative Programmers“
- LifeDev.net

Фото от morganglines
Общее сложившееся представление о программистах это – необщиетльный, непривликательный и очень, очень скучный человек. Никто, не связывает профессию программиста с креативной личностью. Но, это далеко не так. Работа с кодом это одна из наиболее креативных профессий. Программистам приходится балансировать между двумя разными мирами: структурным миром и миром воображения.
Я знаю это, так как сейчас, я работаю над крупными и интересными веб-сайтами и хорошо поднял свои знания в PHP и в программировании. Я понял, что программирование это отличное упражнение повысить свою креативность.
И вот почему:
- Программирование дает полный контроль. Создавая что то из ничего, это возможно самый лучший пример криативности. Полный контроль над программой или веб сайтом, дает программисту превосходную возможность направить развитие проекта в ту сторону в которую он пожелает.
- Много разных путей решить одну задачу. Программисты используют большой набор инструментов и методов для поиска наилучшего решения задачи среди множества вариантов решений.
Программисты должны найти креативное решение задачи, иначе они ее не решат.
Программисты это пример людей, которые могут размышлять вне рамках границ, потому что…. программисты сами создают эти границы. Вот несколько путей, как научиться думать креативно – позаимствованных у программистов.
1. Выучите новый язык
Программисты постоянно учат новые языки, иногда просто ради развлечения, а иногда по надобности. Не ограничивайте себя только тем, что вы сейчас знаете. Развивайте себя и повышайте свои знания.
2. Начните с самого начала
Если вы собираетесь начать писать программное обеспечение, то вы не можете начать с половины проекта. Вы должны начать с самого начала. Иногда начать сначала это лучший путь найти креативное решение проблемы.
3. Спрашивайте про все
Спрашивайте про все, означает, делайте предположение и проверяйте верно ли оно. Само программирование начиналось с самых простых предположений, и дальше строилось на их усложнении. Если, что то не так в коде, то и приложение не будет работать правильно.
Иногда креативность ограничена установленными предположениями, и новое решение может придти только если вы начнете с чистого листа и посмотрите на проблему с другой стороны.
4. Делайте это ради развлечения
Если ты знаешь нескольких программистов, то ты наверняка знаешь, что они постоянно, что то создают. Даже если у них нет сегодня проектов по работе, то они все равно тратят время на создание собственных проектов. Их работа это также их хобби.
Постоянное сочетание новых идей и решений, никак не может быть нудной работой.
5. Постоянно проверяйте новые идеи
Программисты постоянно проверяют свой код, чтоб убедится, что он работает настолько эффективно насколько это возможно. Так как даже самые незначительные изменения могут поломать всю программу или веб сайт, поэтому тестирование и проверки очень важная часть разработки ПО.
Идеи должны быть хорошо протестированы и проверены, только последовательные проверки и тесты сделают идею по настоящему ценной. Постоянное оценивание и тестирование – это наилучший способ “проверить” свою идею.
6. Найдите страсть
Если вы когда-либо разговаривали в течении нескольких минут с программистом о его работе, то вы наверное очень скоро заметили, что программисты имеют страсть к тому, что они делают.
А у вас есть страсть к вашим идеям и проектам?
7. Мастер своего дела
Программисты постоянно улучшают свои знания. Хороший кодер постоянно следит за программным обеспечением и постоянно улучшает свои знания в использовании подручных инструментов. Вы редко встретите программиста, который не улучшает свой набор инструментов.
Не важно какие у вас сейчас знания, вы все равно ограничены тем набором инструментов, который используете в работе. Чем больше вы знаете свои инструменты, тем больше вы можете сделать.
8. Начните думать абстрактными ассоциациями
- Что если использовать компьютер как телефон?
- Что будет, если использовать веб-сайт как Word процессор?
- Что если люди будут озабочены тем, что делают сейчас другие люди?
Люди стоящие за Skype, Google и Twitter схожи в одном: Они все использовали абстрактные ассоциации. Предполагая, “что-если”, и тестируя это – лучший способ начать думать по-другому, в более креативном свете.
9. Думайте о границах как о помошнике, а не как о ограничениях
Люди ассоциируют креативную деятельность как запись идей на чистом листе бумаги, без обдумывания вообще каких либо ограничений. Но как бы то нибыло, такой вид мышления является ошибочным.
Подумайте только, ведь ограничения они повсюду. Мы не можем игнорировать их, мы можем только надеятся, что сможем работать вместе с ними. Программист понимая ограничения языка программирования или инструмента с которыми он работает, использует ограничения в своих нуждах. Эти ограничения помогают ему, так как они являются основой его работы. Иногда поиски обходных решений приводят к более красивым идеям.
10. Не начинайте руководить чем либо, пока сами это не попробуете
Ваш учитель был прав: Нет ничего хуже чем глупый вопрос. Если вы будете придерживаться #3 и даже проверите все предположения, то вы все равно не сможете быть уверенными будет это работать или нет, пока сами не попробуете. Как вы узнаете, что это не работает, пока не попробуете? Вы удивитесь! Но, даже если предложенное решение не работает, то это все равно может помочь вам найти правильное решение.
Иногда лучше начать с прототипа и испытать его. Если прототип не заработает, то просто удалите его. А если заработает, то вы все равно в процессе будете натыкаться на какие то проблемы, пока решение наконецто не заработает, и это поможет лучше узнать проблему и найти более подходящие решения или идеи.
11. Всегда, всегда ищите более простое и более элегантное решение
Хороший программист понимает, что поиски простого решения всегда ведут к хорошим результатам. Сложные решения ведут… к сложностям. Применяя это к программированию всегда дает хороший результат в перспективе.
Наши идеи иногда становятся очень сложными. Мы пытаемся схватится за новую идею игнорируя, что она из себя на самом деле представляет. Самое простое решение проблемы, обычно всегда самое лучшее.
12. Не бойтесь использовать чужой код
Красота интернета в том, что решение которое вы ищете, скорее всего уже кем то другим сделано. Когда я создаю новый сайт, я почти всегда использую существующий open-source код. Зачем изобретать колесо?
Воплощая новую идею в жизнь, не означает, что вы должны начинать с чистого листа. Используйте существующие идеи и создавайте на их основе что то лучшее. Иногда хорошая идея, это изменение существующей, которая уже была сделана. Gmail хороший тому пример. Они “переизобрели” email добавив удобные возможности к традиционному email.
13. Не бойтесь сотрудничать
Одни из наилучших программ – или просто креативных проектов – не осуществлялись одним программистом, наоборот они объединяли много замечательных людей и вдохновляли на работу к единой цели. Соберите замечательную команду, используйте самые лучшие идеи, и дозвольте всем сотрудничать.
14. Двигайтесь малыми шагами к большой цели
Программисты снова и снова используют простые конструкции кода, которые из себя ничего особого не представляют, но вместе, все эти конструкции создают великолепный продукт. Не важно над каким проектом ты сейчас работаешь – уделяй внимание деталям, особенно тому как эти детали влияют на весь проект в целом.