С файлами на компьютере можно обращаться множеством способов. В основном людям удобно оперировать ими через визуальный интерфейс, поэтому они используют файловый менеджер 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-5 летние дети и нищие со всего мира будут решать задачи асимметричной криптографии, компьютерного зрения, структурной протеомики и высокочастотного трейдинга. А заказывать им всё это сможет любая домохозяйка типа Татьяны за 50 баксов.
Так Татьяна права, не ? Народ, ведь на самом деле айти обросло хипстотой, которые могут удовлетворять потребности среднестатистического человека а.к.а. Татьяна за небольшие деньги. Сколько раньше стоило настроить сетку малого\среднего бизнеса? А сколько стоит сейчас? Конечно, обидно когда Вы застали и время за 5к и время за 500 у.е., но таковы реалии. Бум айти-профессионалов набирает обороты. Ютуб поспособствовал приросту самоучек айти-шников. В конце-концов, гуглить умеет каждый. Имея небольшой бэкграунд и айти-ориентированный склад ума можно сваять практически что угодно. :) айти знания обесцениваются, т.к. предложениий много и выживают сильнейшие и умнейшие, остальные дерутся за остатки. Это факт и понятно что бьет по самолюбию, но вернусь к ежедневным реалиям - 80% заказчиков готовы идти к low-cost спецу, т.к. он берет меньше ибо это не business critical. Если Вы макдональдс и Вам нужен серъезный, крутой софт илм Вы девелопите реальный фейсбук(масштабы, вовлеченность пользователей, функционал и его ценность), то Вам нахер не нужен кодинг гуру за 5к за 1 строку кода. Айти спецы, очень часто, узко мыслят в рамках IT. Типо - "как это можно платить Васе самоучке, когда есть я такой офигенный с цистерной знаний. Да, дороже, но я делаю как гуру и пишу код для Фейсбуков?", но заказчикам не нужен свой гугл и фейсбук, им нужна аппа с отображением последних предложений с кнопкой - "Позвонить". Они не будут платить за дорогое время гуру, если они будут использовать толко 10% КПД этого гуру. Реальные гуру идут работать в большие компании(не обязательно айтишные) либо создают свой продукт, который потом продают через интеграторов или клиентам напрямую.
Вы софт макдональдса то видели? кривой и багнутый на флеше который падает )) С остальным согласен, пример просто привел меня в оргазм учитывая количество багов в их терминалах заказа еды :)
Латвийский вроде нормуль. Я вот в Призме видел BSOD на терминале :D :D Вот это был тачдаун
Да я в нескольких странах и городах видел BSOD, во франции при мне все упало )))) Так что проиграл я когда сказали что в макдаке качественный софт. Не учитывая что он тупит как будто на калькулятуре запущен ..
хахха, у нас в торговом центре один дисплей постоянно показывает что апдейт на джиФорс пришел