Комментарии 28
Все так. Читать надо вместе со статьей про Fizz Buzz.
Подобная некомпетентность ни за что бы не сошла с рук в других инженерных дисциплинах. Мы бы ни на каких условиях не смирились бы с мостами, имеющими столько же багов, что и среднестатистическая программная система.Боюсь это идеалистическое заблуждение, и, самое страшное, что сходит с рук. Почему так происходит? Тому есть множество причин, начиная от человеческого фактора и неадекватности системы управления и, заканчивая экономикой производства… Не нужно идеализировать мир, вокруг единицы идеальных решений и многие миллионы «приемлемых»
Некорректное сравнение с мостами, чтобы построить мост вам нужно (очень упрощенно):
- посчитать расстояние между берегами
- провести разведку грунта
- рассчитать нагрузку на опоры и повесить знак на въезде "не больше 5 тонн"
- при этом за проектирования, строительство, проверки отвечает больше 100 людей различной квалификации
А теперь представьте что заказчик:
- не знает в каком месте реки ему нужен мост
- будет ли это вообще мост через реку или через большой каньон
- вначале он хочет чтобы по нему ездили машины, потом еще поезда, а завтра вообще корабли
- при этом в зависимости от загрузки мост должен превращаться из подвесного в деревянный, а при высоких нагрузках в вантовый
- и да вы ведь уже строили мосты из палочек для мороженного, там все то же самое, думаю за пару недель справитесь
- при этом вам нужно самостоятельно создать бетонную смесь, бетономешалку и процесс смешивания бетона, выплавить необходимую сталь, сварить ее в арматуру или закрутить в троссы, и т.д. потому что нет общих стандартов, зато есть только библиотека для "выпекания кирпичей", когда вам нужна библиотека для "бетонирования опор"
при этом в зависимости от загрузки мост должен превращаться из подвесного в деревянный, а при высоких нагрузках в вантовый
Я изучил Ваш аргументированный выпад в стилистике «гордость наизнанку» и принял решение предложить Вам поучаствовать в моем некоммерческом проекте, который я пишу для инжене
При чем тут гордость? Я про равнозначную постановку задачи. Мост это массовый стандартный продукт. Вы же не удивляетесь тому что не падают панельные многоэтажки? (вообще-то падают)
При создании приложения вы можете не знать предметной области, не иметь опыт с используемыми в проекте технологиями, писать алгоритмы с нуля и в единственном экземпляре, получать все новые требования в процессе написания кода. Представьте что было бы если бы инженеры работали в таких же условиях?
P.S. спасибо за приглашение, pet project у меня есть
Про гордость наоборот - это была отсылка к Эрику Берну "Игры в которые играют люди". По-этому я предложил сменить игру ;) и перевести диалог в конструктивное русло, ибо эта статья эмоции, но понимает правильные вопросы, однако причин, по которому так происходит очень много. У меня, так же как и у автора, нет ответов, как все исправить. Я регулярно вижу это вокруг, я даже написал статью на Хабре об этом и.... не опубликовал ее, потому что в основе проблем лежат общественные законы и предпосылки которых лично мне не дано изменить... наверное
Для тех кто как и я не читал эту книгу, гордостью наизнанку это когда «мои несчастья лучше ваших». Не совсем то что я имел в виду, но пусть будет так.
В статье сравниваются различные сферы:
- строительство, с длительной историей развития и высоким импакт фактором на жизни людей, где результат не меняется после реализации
- разработка, которой не более 30 лет, где падение приложения на неделю не приведет к человеческим жертвам
И да, я описал только часть из целого вороха проблем, просто их никто не решает, потому что всем нужен быстрый продукт, а не правильный процесс.
Хотите конструктивное предложение, посмотрите на инженерные практики под другим углом и попробуйте перенести их в программирование. В разработке нужны стандартные строительные блоки разного размера и сложности, качество кода должно регулироваться ГОСТами быть проверяемым алгоритмически, образование должно быть доступным, более структурированным и последовательным.
Сорри за ненормативку. Прорвало…
www.youtube.com/watch?v=LsLsWif_e0s
— 10 центов штука
— а что б количество кнопок совпадало с ожидаемым?
— 50 центов
— а что б не было страшно в руки брать?
— 1 доллар
— а что б не ломалось?
— ну тогда десятка…
Так что им там реально все равно что делать, вопрос бюджета заказчика.
Некачественное ПО будет до тех пор, пока на него будет спрос. Вина в некачественном ПО не только на производителе. Они делают как умеют. Но и в покупателе, который платит больше, чем оно стоит.
Про мосты… В деревнях и селах через канавы-ручьи именно такие мосты и стоят. Переходить по одному, приставным шагом, упираясь в дно жердинкой.
Я нашел в сарае бензопилу и научился спиливать бревна. Кинул на даче у своего домика переправку. Сосед соседу рассказал "мост построил". Предложили мне еще один построить. Ну и понеслось. Так и хожу по округе бревнышки через ямы кидаю. Очередь выстроилась — цену поднял. Потом кто-то решил свой поршик в коттедж закатить по моим бревнышкам. Ну, переехать пришлось...
Блин, я читал и прям ждал что в конце будет реклама «хочешь стать программистом? трёхнедельный курс с гарантией трудоустройства…»
Прям немножко расстроился. Без такой вишенки статья выглядит хорошей, но неполной =(
В мире много чего отстойного — однако он существует
А так есть куча спецов, которые с 90-х в совершенстве осваивают инструменты из 90-х. Только вы же сами их и не возьмёте на работу, потому что вам не нужен софт, написанный как будто в 90-е.
Проблема в спецах, которые при выходе каждой новой технологии тут же стремятся её освоить, забрасывая все предыдущие, считая их «древними» (привет js'еры). А еще проблема в том же найме, когда не почитав даты выхода релиза новой технологии, тут же ищут синьёра с 5+ лет по ней.
Потом, новые технологии появляются не на пустом месте, они призваны решить проблемы существующие в старых технологиях (скорость разработки, мультиплатформенность, масштабируемость и т.п.).
Особенно, если многие из этих навыков нафиг не нужны, но они на хайпе, и большинство считают что обязаны их знать и использовать. (привет React).
Качественно, дёшево, быстро.
Заказчика интересует только последние 2, к этому добавляются неправильные KPI и общий беспорядок-бюрократия.
Вокруг куча стёмных товаров, это так во всех сферах, состав продуктов уже страшно даже читать...
Но в сфере ПО есть и интересные моменты, когда разработчик откровенный баг или отсутствие базового функционала выдает за фичу, и предлагает заплатить за доработку.. (биллинги конечно это особый мир вымогательства)
Почему в мире так много отстойного ПО