В комментах к предыдущему посту спросили, неужели я настолько хорошо рисую интерфейсы, что мое «дешевое» время как дизайнера настолько эффективно, чтобы заниматься им вместо «дорогого» кодинга? Отвечаю.
Во-первых, ребята, очнитесь. Время дизайнера не «дешевое», это самое дорогое время, которое в разработке продукта вообще может быть. Всем глубоко пофиг и насрать, что там у их ежедневных программ под капотом: лапша, не лапша, монолит или микросервисы, электрон или позитрон, json или xml, хаскель или джаваскрипт, стратегия или фабрика. Вот серьезно, мем с Райаном Гослингом, объясняющим девушке на вечеринке.
А на то, как продукт выглядит и как работает – нет, не пофиг. Неправильно поставленная кнопка может буквально разорить компанию. Сложная навигация — похоронить продукт. Неприятный визуал — сдержать рост. Я уж не говорю про просранные пользовательские сценарии или, прости господи, про левую идею продукта.
А баги — ну, а что баги? Любую мартышку посади, она будет разгребать тебе жиру и фиксить, если что-то серьезное. Вы же не думаете, что нужно каким-то особо умным быть, чтобы этим заниматься? Занудным, да, склонным к монотонной работе — тоже да, но только и всего, ум тут не особо нужен.
И я так же надеюсь, что вы не думаете, что вот те самые продукты, зарабатывающие «серьезные» миллиарды, что из этого каким-то причудливым образом следует, что у них под капотом тоже что-то серьезное? Да самый скучнейший на свете код там под капотом, а программисты, которые его написали — самые взаимозаменяемые люди на свете. А вся разница между джуном и сеньором сводится к тому, что сеньор ворчит больше, делает меньше, обходится дороже и носит пончо.
И серьезно, в реальном мире, где люди живут, а не дроны из силиконовой долины, всем глубоко пофиг, что эти программисты там себе думают и какие идеалы себе строят, лишь бы копались в своей песочнице и не сильно отсвечивали.
Во-вторых, по фактам. У любой программы, которой вы пользуетесь, есть интерфейс. Да, даже у CLI утилит.
Теперь, вы можете игнорировать этот факт и не прилагать к дизайну этого интерфейса сознательных усилий. Но это не значит, что интерфейса у вашей программы не будет. Это значит, что он будет случайный, а в среднем это значит, что очень плохой.
Ну а дальше сама польза продукта может быть настолько высокой, что люди закроют глаза на проблемы интерфейса и будут им пользоваться скрепя зубы. Мы все знаем такие примеры: Git, Kubernetes, JavaScript. Такие продукты можно пересчитать по пальцам одной руки.
Дальше собственно вопрос, на что вы собираетесь делать ставку: на то, что вы случайно найдете того самого золотого гуся (которых, вообще-то, единицы, даже не десятки) среди триллионов возможных идей и всем будет пофиг на интерфейс? Звучит это как разумная, рациональная стратегия?
Или все-таки заморочитесь и сделаете нормально, чтобы люди могли пользоваться вашей программой не превозмогая себя, не вопреки?
Я уж молчу про то, что умение рисовать интерфейсы делает код лучше. Потому что в дизайне кода все те же принципы, что и в дизайне UI: коммуникация, потребности, человеческие ограничения, эргономика. Да и вообще, полезно хоть немножно что-то про людей понимать, даже если код пишешь — коллеги-программисты, в конце концов, они ведь тоже немножечко люди.
А, ну и отвечая на исходный вопрос. Нет, я не хорошо рисую интерфейсы. Но это не значит, что этим не нужно заниматься.