Automotive domain: специфіка розробки ПО для автомобілебудування
Привіт спільнота!
Недавно нечистий попутав мене звязатися з одним проектом в галузі автомобілебудування.
До цього досвід був з Екомерс, Веб-апп, Банківськими системами, а тут щось вроді і подібне, але все таки інше.
Прошу допомоги, все що можна: якісь курси, чи статті, чи книги десь зустрічали — що завгодно, щоб краще зрозуміти специфіку розробки в цьому домені.
Особисті поради в коментарях теж годяться!
18 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарівЕсли это не Тесла или автомотив стартап, то совет валить и побыстрее.
1. С точки зрения технического роста там все плохо потому что они очень архаичны и по технологиям и по процессам. То, что уже стало стандартом индустрии в том же Вебе годами обдумывается и потом годами внедряется. Большой кусок технологий практически не имеет аналогов во внешнем мире, в результате, вернуться назад становится все сложнее. А эджайл там закрепился в виде переименования должностей и событий.
2. С точки зрения роста в сторону менеджерства все еще хуже. Т.к. это классическая пирамида власти «я начальник — ты дурак», паническим страхом изменений, инноваций и ответственности и неизменным перекладывание вины за факапы на стрелочников.
Много лет опыта в этой сфере.
+1 досить закритий на специфічний ринок
треба уважно дивитися наскільки те шо робите с своєму болоті конвертується в риночне.
Бо людей вони не цінують
Например?
У меня есть подозрение, что 3/4 называет аутомотивом какую-то свою очень узкую и закрытую нишу, думая что так везде.
Начну хотя бы с того, что в автомотиве еще не все даже перешли на git. Сидят на PTC и Per4rce.
Много где CI или не существует или находится в полуручном режиме. От gitHub / gitLab и клаудов открещиваются как черт от ладана (типа их говнокод кто-то красть будет). Соответственно, в лучшем случае все билдится на бэр-метале, причем локально на месте (а не на каком-то внутреннем клауде). В лучшем случае Дженкинсом. И так во всем.
Также обычная практика это взять какой-нибудь опенсорс, но не выступить спонсором и не вступить в коммьюнити, а сделать из него собственную, закрытую версию. Соответственно, возможности делать себе портфолио на мировой арене контрибьютеру хрен с машинным маслом.
Проблема еще и в том, что, за исключением Теслы и нескольких стартапов (возможно), весь рынок одинаковый и бежать особо не к кому. Лучше просто не вляпываться в это.
Я лично знаю случай где был git push -f в мастер, а порядок пушей устанавливался очередностью на листике бумаги. Еще был цветок в горшке, который таскали со стола на стол, это был push mutex что б случайно не запушили нерибейзеные ветки (хотя это все равно происходило). Юнит тесты гонялись локально, и в одну кучу было смешано все — юниты и интеграционные.
А как на счет code review и хранение review findings — в Excel таблице которая пересылалась друг другу через файлообменник? Ладно в клауде хранить это плохая идея в общем то, их можно понять, но есть же версии для локальной установки как платные, так и бесплатные (gogs/gitea).
В общем, в большинстве случаев оно все затхлое и отстает лет на10-20 от мира.
здається ми з вами працюємо на одному проекті ..)
сомневаюсь )
Скажи сразу о каком месте (Tier) supply-chain ты говоришь? Если это Tier 3/4, то что спускают украинскому аутсорсу — там может быть всё, что угодно, включая соддом и гоморру. Если про Tier 1 — то Denso, Bosch, LGe, Harman/Samsung — это на вскидку четыре стороны квадрата, где полностью свои миры и они играют так, как хотят. Если это Tier 0, к примеру GM, Ford, Toyota — то там серьёзной разработки не очень много, может быть микроконтроллеры для ECU и т.п., но не более, так как все ADAS, IVI, infotainment отдаются Tier 1, ибо экспертизы не очень много у них, тот же Ford кидается от одного к другому и в конце концов отдаст разработку Tier 1.
Опять же интересно послушать о том, что ты конкретно имеешь в виду? Что за проект? Например, тот же Android Auto, который во власти Гугла вполне себе закрытый, они только совсем недавно SDK открыли для third-parties. Если ты на проекте или платформе ты делаешь несколько сот лимонов в год в полу-пассивном режиме, то весь оупен соурс идёт на йух с его красноглазиками и бородачами %)
Так и специфики особой нет, например, мы как продавцы safety решений имеем свою специфику, но safety нужно много где и спецов отрывают с руками за бешенные деньги. А вот впечатление по поводу Теслы как раз у меня обратные — слишком кустарный софт, стартапы тоже.
Работал в Tier1, Tier2. Tier0 видел своими глазами. Собственно, никакой принципиальной разницы между этими уровнями не заметил.
И проекты тоже разные пробовал от ECU до Infotainment.
об этом и речь, что играют по своим правилам, как хотят. И, к сожалению, это «так хотят» плохо соответствует современным принципам и инструментарию разработки софта.
Последний тренд как раз в том, чтобы сосредотачивать центры экспертизы по таким ключевым технологиям как ADAS, AD, Infotainment у себя
Им это совершенно не мешает. В результате куча менеджеров, которые никогда хеллоу-ворлд не написали, принимают решения на каком технологическом стэке что разрабатывать.
Теслу и стартапы я не адвокатирую. Просто я их не видел и говорить не могу, но они явно выделяются из общего болота.
Я наборот многих чморю, потому что слишком передовое и сырое используют. Но оно и понятно, им ещё 5+ лет это поддерживать после выхода на рынок. Не будем показывать пальцами, но, например, взяли самый распоследний Андроид, запускают как гостевую ОС под нами и столько лулзов выхватывают, что мне кажется, что 3/4 разработки у них — это борьба с сырым андроидом. Подключают N мониторов к нему, оно с одним монитором работает и сам Андроид не предназначен для работы с несколькими мониторами, ибо у них до сих пор есть понятие главного монитора, по которому идёт синхронизация.
Судя по количеству заказов — как раз обратная картина, все поигрались, говна наелись и больше такого не хотят.
Может это разница между американским и европейским рынками. Но мы отошли от темы. Речь о том, почему не стоит работать в этой отрасли.
А в какой работать? Мне тут очень нравится, но у нас роль особая, мы являемся вендором платформы и одновременно Tier 2 для Tier 1. Одновременно и диктуем политику и прогибаемся :)
Я, допустим, работаю с железом и за 12 лет единственное, что сильно надоело, так это то, что работаем с pre-market железом за1-2 года до его выпуска, всё сырое и кривое.
Працював, що називається, С++ Generalist’ом в двох лідерах ринку на автомотів проектах, специфіки нема. Все, нема що обговорювати.
На першій роботі працював джуном в автомотіві, на другий прийшов сіньйором і доріс до тімліда.
Береш вимоги, реалізуєш, все. Достатньо хорошого знання плюсів і лінукс систем.
МОЖЛИВО, можливо але не точно, є специфіка при роботі з Embedded, мікроконтролерами та розробка якихось low level realtime модулів, аже все ж таки тачка на ходу це в чистому виді realtime система.
Якщо не спускатися на цей рівень, а працювати з бізнес-логікою, мультимедіа, навігацією, радіо, рештою систем, то різниці нема взагалі.
Зависит от того что ты хочешь делать
Если это что-то на приборную панель (проиграть музыку, показать погоду), то это одно, и свободы будет много (как в выборе технологий, так и процессов разработки).v-model, iso 26262 и различные coding guidelines в избытке (для С++ это Autosar, MISRA). Оверхед по бюрократии (документация, сертификации, подбор софта, компиляторов, итд) огромен, кратно больше усилий на написание кода.
Если это какой то safety critical модуль, например АБС или индикатор скорости на той же приборке — то тут все очень зарегулировано. Скорее всего у вас будет
В любом случае начинать с ISO 26262, вот хороший quick intro: www.feabhas.com/...e to ISO 26262[1]_0_0.pdf (с примерами)V-Model информацию
И далее уже искать по
Autosar: www.autosar.org/...AR_RS_CPP14Guidelines.pdf
MISRA: www.tlemp.com/...SRA-CPP-2008-STANDARD.pdf (2008, старенькая, уже есть новее, но она платная)
И еще нужно знать о QM, ASIL (Их 4 уровня — A, B, C, D)
Что делать будешь? А то звучит как есть у кого опыт разработки под винду, дайте пару советов.
Окей,
я AQA, мене запросили на проект ТОП-1,2 світового автомобільного розробника (хто на якому місці їх тримає) поставити процес тестування.
з того що я уже зрозуміла:
Проекту 2 роки, пишеться ПО на медіа панель автомобілів, на Harman з підключенням ще купи сторонніх модулів, типу навігаціі. кар пей етк.
Дві команди розробників , 24 людини комітять зразу в мастер. Ні про яке ревью чи тестування взагалі не йде мови. Є автоматизація Е2Е на сайпресі, що в цілому чудо — врахвуючи що це досить свіжий фреймоврк. Клієнт змінює свою думку по 2 рази в день.
Взагалі за 2 тижні на проекті я зрозуміла що існує дуже багато хаосу з боку Хармана і інших доп модулів, але на жаль команда теж впустила цей хаос в середину свого SDLа.
Ну по-ходу это самый последний Tier, соддом и гоморра. Вам выставляют сильные ограничение по технологиям и софту, ибо на платформе больше ничего другого, кроме того, что положили до вас, больше ничего нет.
Для такого уровня разработки ничего страшного :) Проект не сильно большой и объёмный.
Если Харман тут Tier 1 интегратор, то это их головная боль. Но, например, у Хармана есть свои R&D центры в Индии и Китае, они ещё как-то заботятся об интеграции сторонних компонент в свои, но если это проект, где Tier 1 выступают в роли чистого интегратора и собирают в кучу то, что написали Tier 2/3, то тут уж как повезёт. Коллеги по Tier 2/3 бывают очень ущербные и коммуникация поломана совсем, если не дай бог что-то друг-другу мешает, то виновных не найти.
Сродни подвигу Геракла и Авгиевых конюшен. Как по мне это отличный опыт для роста и расширения своих скиллзов, специфики аутомотива тут почти нет, просто выпуск продукции где сборная солянка софта. Наберись опыта, потом прыгай на уровень Tier выше к своему заказчику, заберут вместе с багажом не раздумывая.
dou.ua/lenta/tags/Automotive — статті зі стрічки DOU на тему
dou.ua/forums/tags/Automotive — обговорення на форумі
Бажаємо успіхів у новій галузі! 💪