Как стать автором
Обновить

Комментарии 28

Подобная некомпетентность ни за что бы не сошла с рук в других инженерных дисциплинах. Мы бы ни на каких условиях не смирились бы с мостами, имеющими столько же багов, что и среднестатистическая программная система.
Боюсь это идеалистическое заблуждение, и, самое страшное, что сходит с рук. Почему так происходит? Тому есть множество причин, начиная от человеческого фактора и неадекватности системы управления и, заканчивая экономикой производства… Не нужно идеализировать мир, вокруг единицы идеальных решений и многие миллионы «приемлемых»

Некорректное сравнение с мостами, чтобы построить мост вам нужно (очень упрощенно):


  • посчитать расстояние между берегами
  • провести разведку грунта
  • рассчитать нагрузку на опоры и повесить знак на въезде "не больше 5 тонн"
  • при этом за проектирования, строительство, проверки отвечает больше 100 людей различной квалификации

А теперь представьте что заказчик:


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

Я изучил Ваш аргументированный выпад в стилистике «гордость наизнанку» и принял решение предложить Вам поучаствовать в моем некоммерческом проекте, который я пишу для инженегров ПТО на связке Excel+VBA, распространяемой бесплатно, в качестве тестера хотя бы разово. Вы так творчески подходите к вопросу проблем и ошибок, что было бы непозволительной роскошью не предложить Вам сотрудничество.

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

Про гордость наоборот - это была отсылка к Эрику Берну "Игры в которые играют люди". По-этому я предложил сменить игру ;) и перевести диалог в конструктивное русло, ибо эта статья эмоции, но понимает правильные вопросы, однако причин, по которому так происходит очень много. У меня, так же как и у автора, нет ответов, как все исправить. Я регулярно вижу это вокруг, я даже написал статью на Хабре об этом и.... не опубликовал ее, потому что в основе проблем лежат общественные законы и предпосылки которых лично мне не дано изменить... наверное

Для тех кто как и я не читал эту книгу, гордостью наизнанку это когда «мои несчастья лучше ваших». Не совсем то что я имел в виду, но пусть будет так.
В статье сравниваются различные сферы:


  • строительство, с длительной историей развития и высоким импакт фактором на жизни людей, где результат не меняется после реализации
  • разработка, которой не более 30 лет, где падение приложения на неделю не приведет к человеческим жертвам

И да, я описал только часть из целого вороха проблем, просто их никто не решает, потому что всем нужен быстрый продукт, а не правильный процесс.
Хотите конструктивное предложение, посмотрите на инженерные практики под другим углом и попробуйте перенести их в программирование. В разработке нужны стандартные строительные блоки разного размера и сложности, качество кода должно регулироваться ГОСТами быть проверяемым алгоритмически, образование должно быть доступным, более структурированным и последовательным.

Раскажите мне, почему MS Teams, — говно? Я не просил делать подобного мостра для коммандных коммуникаций. Отвратительный интерфейс. Вечное глюкалово. Невозможность удалить галлерею или всю область презентации целиком увеличить на весь экран. А ещё это тормозной мега-комбайн.
Сорри за ненормативку. Прорвало…
Да что уж там, я позавчера смотрел тест набора инструмента китайского. У молотка отвалилась рукоятка после попытки забить первый или второй гвоздь. Рукоятка оказалась из трубки, диаметром миллиметров 10. На пассатижах чехлы на рукоятках прокручивались при сжатии. При попытке откусить разумного размера гвоздь пассатижи перекрутило, и они стали непригодны к работе сразу.
Да, примерно тоже самое. И еще непонятно, что опаснее.
Только не китайского. А китайского за 100 рублей набор.

И есть на эту тему чудный не факт что анекдот из далеких 90-х:
— вот чертежи, сколько будет стоить?
— 10 центов штука
— а что б количество кнопок совпадало с ожидаемым?
— 50 центов
— а что б не было страшно в руки брать?
— 1 доллар
— а что б не ломалось?
— ну тогда десятка…

Так что им там реально все равно что делать, вопрос бюджета заказчика.
Ну кстати, оно не 100 рублей стоило. Хотя да, набор конечно дешевейший был. Тут скорее вопрос в том, что и за одну и туже цену можно нарваться как на что-то приличное, так и на полный отстой.
Это до вас оно дошло не за 100. А я условную цену с завода имел ввиду.
А про совесть маркетологов, которые ту цену чуток подтюнили, я писать не буду, не обладаю достаточным запасом соответствующих терминов )

Некачественное ПО будет до тех пор, пока на него будет спрос. Вина в некачественном ПО не только на производителе. Они делают как умеют. Но и в покупателе, который платит больше, чем оно стоит.


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


Я нашел в сарае бензопилу и научился спиливать бревна. Кинул на даче у своего домика переправку. Сосед соседу рассказал "мост построил". Предложили мне еще один построить. Ну и понеслось. Так и хожу по округе бревнышки через ямы кидаю. Очередь выстроилась — цену поднял. Потом кто-то решил свой поршик в коттедж закатить по моим бревнышкам. Ну, переехать пришлось...

Блин, я читал и прям ждал что в конце будет реклама «хочешь стать программистом? трёхнедельный курс с гарантией трудоустройства…»

Прям немножко расстроился. Без такой вишенки статья выглядит хорошей, но неполной =(

В мире много чего отстойного — однако он существует

Почему-то никто из нытиков в упор не желает замечать 3-й «проблемы» — отрасль очень быстро развивается. Невозможно «в совершенстве освоить все навыки», если они появляются быстрее, чем их массово успевают осваивать. То самое «нужен lead-senior c 5-ю годами опыта по технологии, вышедшей в позапрошлом году».
А так есть куча спецов, которые с 90-х в совершенстве осваивают инструменты из 90-х. Только вы же сами их и не возьмёте на работу, потому что вам не нужен софт, написанный как будто в 90-е.
Что мешает использовать стабильные проверенные технологии? И я не говорю о чем-то древнем. Куча продуктов так и работают. Пусть отрасль хоть 7-ми мильными шагами развивается. Все обычно крутиться вокруг фундаментальных основ.

Проблема в спецах, которые при выходе каждой новой технологии тут же стремятся её освоить, забрасывая все предыдущие, считая их «древними» (привет js'еры). А еще проблема в том же найме, когда не почитав даты выхода релиза новой технологии, тут же ищут синьёра с 5+ лет по ней.
Ну вот можно было бы разработать нормальную прогу под Windows, всё равно ведь на 95% компов в РФ стоит Винда. Но какой-нибудь менеджер потребует, чтобы запускалось и на его макинтоше. Поэтому приходится из говна и палок используя новые технологии делать какую-то кроссплатформщину, которая нужна маргиналам, чаще всего не входящих в целевую аудиторию.
Технологии сейчас устаревают до того, как становятся стабильными и проверенными. На примере Unity3D. Мне очень нравится стабильный, быстрый и надёжный юнити версии 5.6. Но на нём под ось и под дроид не получится выпустить приложение. Потому как новшества, обязательные для дроида и оси были внедрены в свежий, полный багов и фич юнити в прошлом году. А без этих обязательных новшеств в стор не пройти.
Новые платформы: железо, ОС, браузеры. Любое ПО требует обновлений для работы на новой/обновленной платформе. Может получиться и в итоге получается так, что дописать поддержку (в компиляторе, интерпретаторе, виртуальной машине и т.п.) нового железа будет дорого или некому. К тому же возникают проблемы с обратной совместимостью. Сложность такой системы растет, как и количество багов. В итоге выгоднее взять новый стек технологий, без легаси, и написать новый продукт на нём. Существующие продукты так же зачастую переписываются, так как иначе не будут удовлетворять потребностям рынка.
Потом, новые технологии появляются не на пустом месте, они призваны решить проблемы существующие в старых технологиях (скорость разработки, мультиплатформенность, масштабируемость и т.п.).

Особенно, если многие из этих навыков нафиг не нужны, но они на хайпе, и большинство считают что обязаны их знать и использовать. (привет React).

Что поделать, чем больше программистов, тем меньше программистов.

Качественно, дёшево, быстро.
Заказчика интересует только последние 2, к этому добавляются неправильные KPI и общий беспорядок-бюрократия.

Вокруг куча стёмных товаров, это так во всех сферах, состав продуктов уже страшно даже читать...

Но в сфере ПО есть и интересные моменты, когда разработчик откровенный баг или отсутствие базового функционала выдает за фичу, и предлагает заплатить за доработку.. (биллинги конечно это особый мир вымогательства)

Так не только в ПО. Поваренная соль без ГМО, растительное масло без холестерина, недели высокой моды в неважногде, айфоны без зарядок, боинги с чуток улучшенным мотором, моторы с пониженым выбросом СО2… Это имеет место быть во всех сферах, было б желание увидеть )
А ещё беда в том, что где-то на границе Competent и Master открывается дополнительная сюжетная ветка «пойти в менеджеры» и многие люди выбирают её. В результате из тех, кто спустя пару лет мог бы стать хорошим программистом, получается ещё один средненький менеджер.
собственно, так умерла нокия в свое время.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий