Какие языки программирования могут понадобиться дизайнеру?

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

Вёрстка: HTML и CSS

Начнем с простого. Откровенно говоря, это еще не программирование. HTML — язык разметки гипертекста (Hypertext Markup Language). Он определяет структуру страниц и то, из каких элементов она состоит. Эти элементы определяются тегами: заголовки, текст, ссылки, списки и др. Важная задача тегов — определение семантики веб-документов. Например, заголовок первого уровня (h1) должен быть только один, а правильное оформление структурных элементов (header, footer, article и др.) облегчит чтение кода и его считывание поисковыми (и не только) роботами.

Язык CSS нужен для стилизации HTML-вёрстки. Название расшифровывается как Cascading Style Sheets или, если по русски, каскадные таблицы стилей. Каскадные они потому, что язык использует наследование от родителя к потомку, спускаясь вниз по элементам. При помощи CSS мы можем позиционировать элементы, менять их размер, задавать правила типографики, создавать анимации и многое другое.

Какие языки программирования могут понадобиться дизайнеру?

Умение верстать поможет вам создавать реалистичный и реализуемый дизайн, наладить коммуникацию с разработчиками, а также претворять свою работу в жизнь. Более того, в Европе и США это умение — уже стандарт рынка и поможет вам соответствовать его требованиям.

Если вы еще не умеете верстать, вот несколько источников, которые помогут научиться:

Также советую обратить внимание на эту статью, которая научит вас верстать современно и гибко.

JavaScript

Этот язык изначально создавался для того, чтобы исполняться в браузере и сделать веб-странички “живыми”. Он умеет создавать и удалять HTML-теги, посылать запросы на сервер, получать данные без перезагрузки страницы, реагировать на действия пользователя и многое другое. На сегодняшний день, на нём можно писать не только фронтенд, но и бэкенд, создавать мобильные и десктопные приложения, а также автоматизировать работу с некоторыми программами (например, c фотошопом).

Умея верстать и зная основы JavaScript-а, дизайнер может полностью взять на себя разработку несложных продуктов: лендингов, сайтов-визиток и пр. Более продвинутые смогут создавать свои плагины для Sketch, импортировать в него реальные данные (как мы автоматизировали создание рассылок) или генерировать дизайн-системы из кода.

Если вы решили изучить JavaScript, обратите внимание на следующие ресурсы:

SQL

Если о необходимости знания вёрстки и JavaScript-а многие слышали еще до моей статьи, то об SQL они могут услышать впервые. Если вы занимаетесь UX-исследованиями, то без работы с данными вам не обойтись, а язык SQL как раз поможет в этом. SQL расшифровывается как Structured Query Language — структурированный язык запросов. Он был создан специально для создания, управления и модификации данных в базах данных.

Отрывок из Гарвардского курса CS50, где объясняется что такое БД

Язык работает в формате “запрос-ответ”: вы пишите свой запрос в базу, а она присылает результат его обработки.

При помощи SQL мы можем агрегировать, группировать и сортировать данные.

Если перед вами встал вопрос изучения SQL, советую пройти классный курс на Stepik-е. Если же нет времени на объёмный курс, можно начать знакомство с этой статьи.

R

R — язык программирования, который был создан около 20 лет назад исключительно для академических исследований в области анализа данных. Так как язык тесно связан со статистикой и прикладным анализом данных, он может стать полезным инструментом для UX-аналитика. Язык позволяет применять основные методы статистического анализа: t-тест, корреляцию, дисперсионный и регрессионный анализ и др. При помощи инструментов этого языка можно также визуализировать полученные данные. Для работы с R необходимы хотя бы базовые знания математической статистики.

Ресурсы для изучения:

Python

Python — высокоуровневый язык программирования, ориентированный на читаемость кода и повышение производительности разработчиков. Язык придерживается своей определённой философии, называемой «The Zen of Python», который гласит (если в двух словах), что любая программа на языке (как и сам язык) должна быть простой и не двусмысленной. Из-за своей простоты, Python является первым изучаемым языком программирования у многих студентов по всему миру. Оказывается, он может быть полезным и для дизайнера. Например, Python активно используется архитекторами и промышленными дизайнерами для алгоритмического моделирования в Rhino при помощи плагина Grasshopper.

Вот такие (и не только) сложные штуки легко генерируются в Rhino благодаря Grasshopper и Python
Вот такие (и не только) сложные штуки легко генерируются в Rhino благодаря Grasshopper и Python

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

Заключение

Как видно из статьи, работа дизайнера давно не ограничивается проектированием UX и UI, но и требует некоторых навыков разработчика. В США и Европе эти навыки давно стали стандартом рынка, а в некоторых направлениях деятельности они позволяют оптимизировать рутину и выйти за стандартные рамки профессии. Почему-то многие люди боятся изучения программирования, но на самом деле в этом нет ничего сложного. Главное — определить контекст применения и грамотно подобрать учебные материалы.

Пишите свои комментарии, если есть что добавить и исправить, а также подписывайтесь на мой Telegram-канал. Периодически я пишу о чем-то интересном о дизайне и управлении продуктом. Спасибо!

66
5 комментариев

Хотелось бы какой-то живой пример для sql и R. Хотя бы такой, как для Python приведён (это я про красивую картинку). Хотя если честно, и из этой красивой картинки не понятно, как там применено программирование.

1

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

1

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

Еще знание ЯП шибко пригождается в прототипировании. Самый тупой и простой кейс - гибко настраивать поведение интерфейса в Axure, тамошний condition builder является надстройкой над Ява-скриптом - обойтись без знаний можно, но сложно.

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

Можно зеркальную статью написать, Что нужно фронту чтобы избавится от дизайнера)

1

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

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

Когда я сажусь задизайнить какой-то интерфейс, например, 80% времени у меня уходит на возню с инструментами, у каждого из которых своя логика и воркфлоу, и я напоминаю себе человека-оркестра, который словно паук жмёт педальки на десятке инструментов, чтобы породить прекрасный звук. Убери один инструмент - и звука _вообще_ не получится.

Суть проблемы в том, что на сам дизайн остается мало времени и сил. Может, поэтому в интерфейсах сейчас ситуация в основном плохая. А визуальная составляющая постоянно "заезженная".

1