С файлами на компьютере можно обращаться множеством способов. В основном людям удобно оперировать ими через визуальный интерфейс, поэтому они используют файловый менеджер Mac Finder. Но можно пойти другим путем и заморочиться с командной строкой в приложении Terminal. В работе с одной и той же информацией может быть несколько подходов.
Веб-приложения тоже могут быть представлены по-разному: в виде архитектурных диаграмм, макетов или в формате диалога. Мы, разработчики, постоянно имеем дело с кодом, но есть подозрения, что такой подход не самый интуитивный и продуктивный.
Когда-то я писала электронную музыку в программе Reason. В ней наглядно представлены связи между отдельными блоками: просто бери провод и тяни его из одного гнезда к другому. Этим она в свое время меня и покорила. Провода лучше выпадающих меню, которыми были заражены передовые программы 2000-х годов (по схожим причинам я очень люблю Adobe Flash CS3 Professional). С интерфейсом Reason я осознавала, что делала, поэтому музыки я создала больше, чем Flash-роликов.
Нам не хватает веселья
Не знаю, как так получилось, но в какой-то момент представители ИТ-сферы стали разработчиками, а из разработчиков получились инженеры программного обеспечения. Мне нравится, когда меня называют инженером: ещё бы, я же посвятила «обучению» три месяца. Вот только быть инженером — значит решать новые проблемы и копать глубже. Это интеллектуальная работа, на какую наша работа не очень похожа.
По принципу CRUD созданы уже тысячи программных продуктов. Мы этому научились, проблема решена, хватит. Но чего-то ради мы продолжаем делать и делать подобные приложения, причем с чистого листа.
Воспроизводимость одного решения в похожих случаях — сильная вещь. Работники автомобильного завода получают на руки инструкции и чертежи, чтобы не создавать дизайн автомобиля с нуля, а повторить его, ничего не перепутав. Упрощение инструкций приводит к тому, что по ним может работать любой сотрудник, даже самый низкоквалифицированный. Впоследствии ему на замену приходит робот. Роботы делают скучную монотонную работу, они для этого и придуманы — инженеры же должны решать новые и интересные задачи.
Не накидать ли побольше CSS
Пожалуй, это неоспоримый факт: чем оригинальнее дизайн твоего интерфейса, тем сложнее людям в нем разобраться. Есть исправно работающие пользовательские сценарии, есть выбитый в камне визуальный язык. Так зачем выдумывать новый? Это контрпродуктивно.
Чтобы работа в интернете шла гладко, нам нужно использовать основные элементы и тасовать их для достижения цели: «металл, черный цвет, зло», «бизнес, респектабельность, голубой цвет», «хипстеры, веселье, Apple» или «мило, мама оценит». Несколько ключевых слов — и вот вам готовый стиль. И пропади оно пропадом — писать код, чтобы подвинуть что-то на пять пикселей.
Нужно умерить пыл
Написание кода у инженеров считается священным Граалем. «Правильные инженеры пишут код, — говорит правильный инженер. — Написание кода — как раз то, что делает тебя правильным инженером». Многие соединяют свое «эго», свою идентичность с тем, что они пишут код. Не исключено, что таким людям нужна помощь психолога, и я не шучу. Я сама становлюсь таким человеком.
Ни модно-молодёжный синтаксис, ни прокачанные навыки не делают человека хорошим инженером, и умнее он тоже не становится. Ты можешь быть одновременно отличным кодером и ужасным инженером. Но ещё несколько лет — и настоящую ценность обретут навыки быстрого, масштабируемого и творческого решения реальных проблем людей.
Кодить — это тупо
Кодинг предполагает опечатки. Более того, он дает простор для «творчества», и тогда код получается с душком. А вообще, код — в большинстве случаев попросту громоздкая штука. Инженеры копаются в синтаксисе, опечатках и отступах, проводят линтинг, исправляют ошибки, спорят о стилях и лучших практиках и создают ярлыки для того, чтобы часть кода писала себя сама. Это абсурд и трата времени.
Будущее близко
Подход GraphQL от Facebook в некоторых случаях снижает необходимость в бэкенд-разработчике и в ближайшие годы заменит собой привычный REST. Вы когда-нибудь задумывались, зачем между клиентом и базой данных воткнут сервер? С этим следовало бы уже завязать.
Стартап Algolia позволил улучшить поиск. Я не знаю, как они это делают, но точно знаю, что компьютер дешевле и лучше человека в вопросах оптимизации структурированных данных.
Нам следует сваливать данные в кучу, а базы данных должны сами приводить себя в порядок на основе машинного обучения и остальных нашумевших инноваций. Нам, людям, не следует писать архитектуры баз данных, потому что ошибка в этом деле неизбежна. Это задачи алгоритмов оптимизации, а не пространство для инженерных штудий.
Инженеры по всему миру на один лад пишут аутентификации, системы обмена сообщениями и прочие бесконечные фичи, ставшие общим местом. И многие из них думают, что это круто.
Решение
Задача продуктового менеджера — сделать продукт таким, каким он должен быть, и не иметь никаких дел с кодом. Единственное, о чём нужно думать компаниям — об уникальности их разработки, а всё, что уже придумано, просто следует использовать заново. Всем, кто испытывает энтузиазм по поводу опенсорса, хочу сказать, что большинство проектов — отстой, они не поддерживаются и не используются компаниями-энтерпрайзами. Компании изобретают велосипед и делают двойную работу.
Сейчас я размышляю над таким интерфейсом, который по принципу drag-and-drop позволит создавать разработки со всеми нужными фичами, с клиентской и серверной частью и без строчки кода. Понятия не имею, как я буду это делать, но, думаю, пущу в ход уже упомянутые навыки работы с Adobe Flash CS3 Professional. Ладно, шучу. Скорее всего, я сделаю это на React.
Выгоды
Компании заинтересованы в том, чтобы порог входа в профессию разработчиков был ниже, как и в снижении числа наемных сотрудников, которые нужны, чтобы внедрять новые фишки и создавать ощущение роста. Чем проще станет делать веб-приложения, тем больше людей будут способны с этим справляться. Как следствие, зарплаты снизятся.
Оздоровление инженерной среды
Разработчикам неистово переплачивают, и многие (в том числе и я) чувствуют свое право на те деньги и привилегии, которыми они (я) наслаждаются. На самом же деле разработчик не умнее и не лучше любого другого специалиста. Со смертью кодинга инженеры повернутся лицом к остальной части человечества, а не будут лишь маленькой прослойкой социально и экономически обособленных людей.
Что делать? Уходить в виртуальную реальность и созидать там. Я купила себе шлем HTC Vive и просто зависла, настолько это круто.
Вы когда-нибудь задумывались, зачем между клиентом и базой данных воткнут сервер?Очередной хипстер (точнее хипстерша). Этот сервер воткнут по множеству причин. Например, это первый этап распределения нагрузки. Бизнес логикой занимается один сервер, а другой с БД занимается запросами к данным. В эту цепочку даже еще один сервер можно воткнуть для кеширования частых запросов к БД.
А если пока нет нагрузки, то можно все и на один сервер/вирт. сервер воткнуть как БД, так и логику.
Еще одна причина, что каждый должен заниматься своим делом. Такое решение гибче и проще в поддержке. Нежели в БД понапихать кучу всего.
На самом же деле разработчик не умнее и не лучше любого другого специалиста.Ну автор данной статьи точно не очень умный человек.
Автор девушка-флешер с 3 месячной стажировкой по "профессии", в общем то дальше уже и говорить не о чем, это диагноз как бы :)
вот что значит когда абсолютно некомпетентные менеджеры лезут к инженерам, человек вобще грубо говоря "азбуки" не знает (что такое полнота по Tьюрингу) и с искренней верой в то что 10 формочек в визуальном конструкторе, может им описать всё многообразие идей и реальности)
"позволит создавать разработки со всеми нужными фичами, с клиентской и серверной частью и без строчки кода. Понятия не имею, как я буду это делать"
вот когда поймёт, что ей в такой среде разработке и 5000 визуальных формочек не хватает для описания всего многообразия, можно будет с ней заново обсудить эти шедевральные концепции современной инженерии)
Еще с появления narod.ru периодически появляются статьи о том, что программисты больше не нужны.
Ну немного все поторопились. Когда мой друг уезжал в силиконовую долину в 2000 году, я тоже искренне считал, что профессия программиста не имеет будущего, потому что программы будут как бы из кирпичиков складывать)) За это время сильно рынок вырос и прогноз не сбылся. Но не значит, что не сбудется совсем