Должен ли программист думать о дизайне?
=========================================

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

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

**Программист тоже дизайнер**  

<https://www.youtube.com/watch?v=h4QuJ0xBGfc> 

 То что делает дизайнер и то, как это будет в программе - очень разные вещи. Зачастую, потому что дизайнер понятия не имеет как работает пользовательский интерфейс. В основном, это касается программ ближе к нативу и дальше от css стиля форм. Т.е. чем нативнее интерфейс, тем сложнее будет воплотить дизайнерские задумки.   

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

Или, дизайнеру нужно иметь понимание возможностей того или иного граф. фреймворка.  

  

Дешевле программисту уметь делать UX/UI, нежели найти дизайнера, который знаком с конкретным фреймворком. К слову, в вебе немного иначе.  

  

Лично я стараюсь делать хороший интерфейс и трачу на это уйму времени. И самому приятно и показать не стыдно.   

  

Также, как уже тут сказали, продумывание интерфейса влияет и на логику алгоритмов. Углубляться не буду, скажу только несколько слов: многопоточность, колбеки, асинхронность. 

 Программисту нужно думать о дизайне своего кода. Об архитектуре проекта.  

А о дизайне в плане картиночек пусть думают специально обученные люди. 

 Дизайн - это маркетинговая обертка вашего проекта.  

Более продуманный и удобный дизайн дает конкурентное преимущество. 

 Дизайн потенциально может оказывать влияение на код. Поэтому в какой-то определенной мере должен думать. Как минимум необходимо учитывать и понимать, где дизайн оказывает влияение на код (навскидку, какие-нибудь фильтры для интернет магазина с целью их оптимизации еще при разработке). Полностью отрицать нельзя.   

  

Да и разработка, например, API или архитектуруы в чем-то близка к дизайну. Потому, что людям (пусть и профессионалам) надо будет этим пользоваться (DX - Developer Experience).  

  

Знание дизайна полезно при разработке всяких MVP и прототипов.  

  

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

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

Ну и вот например - будешь ты петпроект делать - его часто делают в одно лицо. Чтобы не был он "на лицо ужасный" - или сам что-то сделаешь, или идёшь клянчить к знакомым дизайнерам, или расчехляешь кошелёк и идёшь к фрилансерам. Что тебе ближе.  

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

Ну и проектировать интерфейсы тоже надо хотя бы минимально уметь.  

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

  

Специализация — удел насекомых.  

  

Роберт Хайнлайн, Достаточно времени для любви, 1973 

 Нет конечно, дизайны рисуют другие люди 

 Сферическому программисту в вакууме нет.  

Реальному -- обязательно! Дизайн рисуют "другие люди" только тогда, когда они есть.  

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

Во-вторых, иногда лучше без них, чем с ними.  

Базовые знания дизайна UI и UX должны быть обязательно, как и любые другие смежные с программированием области. В програмисстской практике встречается огромное количество ситуаций, когда это требуется. Даже в эмбеддед программировании.