• Стоит ли идти в Embedded разработку?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    будто бы с меня сняли розовые очки и окунули в реальность будущей работы в этой сфере

    Привыкайте, впереди интереснее!

    Действительно ли всё так плохо с Embedded в России?

    Чекаем основной сайт по поиску работы (17.05.2023):
    - Микроконтроллеры: 161 вакансия.
    - C++: 996 вакансий.
    - Rust: 16 вакансий.
    - Python: 1078 вакансий.
    - Java: 1554 вакансии.

    Вывод: C++ очень востребован, микроконтроллеры относительно востребованы, Rust не востребован.
    Ответ написан
    3 комментария
  • Стоит ли идти в Embedded разработку?

    @Wan-Derer
    Зобанели на Хабре, волки́ ;((
    Эмбед в России есть. Собственно, он всегда был: из советского перетёк в российский. И это не только госуха/война. Я знаю людей, которые занимаются вполне гражданскими темами, причём начинали они ещё во времена кооперативов. Направления разные: ЖКХ/Умный город, банкоматы/терминалы/киоски, промка, узкоспециальные темы (например, телевидение/телеком).
    На волне импортозамещения многие подняли объёмы, занялись более сложными проектами.
    Ковид, наверно, кого-то подкосил, Сисянкции... ну по-разному. Кого-то прибили, а кто-то ищет и находит новые возможности.
    Также развивается всякая беспилотная тема. Не только военная. МЧС, контроль дорожной обстановки, беспилотные авто, доставка. Вот недавно ехал по Москве, глядь, стоят две коробки Яндекс-доставки... на пешеходном переходе, ждут когда светофор переключится :)
    Ответ написан
    Комментировать
  • Стоит ли идти в Embedded разработку?

    @dima20155
    you don't choose c++. It chooses you
    Диагонально прочитал статью и хочу сказать, что с частью пунктов соглашусь, но, не абсолюнто со всем.
    Прежде всего задайте себе вопрос а чего вы хотите? Что вам интересно?
    Действительно написание ПО под MCU требует понимание (в основном, цифровой) электроники. Например, классические цифровые интерфейсы передачи данных (UART, I2C, SPI) это прямой мостик между знаниями software и hardware и хороший embedder должен понимать как эти протоколы работают и куда ткнуть осцилограф/логический анализатор, чтобы понять что не так.

    Помимо описанного выше есть более hardcore уровень - программирование под embedded Linux. В ситуации, когда вам не хватает ресурсов MCU для, например, проигрывания высококачественного звука, считывания изображений с камер, а также все ещё нужно управлять сигналами на плате напрямую, то ваш выбор это embedded Linux и так далее. Тут опять же много чистого С.

    Есть и третья известная мне сфера для embedded разработчиков (которая также не лишена славы). Компании, занимающиеся разработкой CPU, MCU и иных цифровых/цифроаналоговых микросхем. Да, вам покажется, что это только про Intel, AMD, Samsung, Huawei. Но даже в РФ минимум с пол десятка компаний, которые занимаются подобными разработками и активно нанимают людей. Все это довольно сложные и, в то же время, интересные темы.

    Как вы догадываетесь, для каждого из трех пунктов нужны немного разные знания (хотя базовое образование, в основном, требуется одно и тоже). Также для 2 и 3 пункта ваше физическое присуствие на рабочем месте, вряд ли, потребуется, ровно как и лезть руками что-то паять (просто потому что руками в этих областях уже никто не паяет). Обычно, для embedded из 1 абзаца, требуется больше работы с железом, но и тут есть вариации.

    P.S. Лично мне несколько наскучило копаться с железками (а их проектирование - это моя магистерская работа)) и отлаживать низкоуровневые интерфейсы и код, поэтому я и сам немного свернул с этой embedded дорожки, но я занимался только тем, что описано в 1 пункте и совсем немного из 2 (к слову оба успел поработать и оффлайн и онлайн). Найти работу с моим опытом не было особо сложно, так что embedded не приговор: разонравилось вполне сможете перейти в С++/Rust было бы желание.
    P.S.S. Извиняюсь, что получилось немного скомкано, спрашивайте, могу рассказать про свой опыт подробнее.
    Ответ написан
    5 комментариев
  • Стоит ли идти в Embedded разработку?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Идти надо туда, чем интересно заниматься. Тем более, что в каждой области свои проблемы. У кровавого энтерпрайза может и красивые офисы на 37-м этаже, но из них тоже хочется выйти в окно. Как мне кажется, сейчас как раз такое время, когда спрос на железячников может сильно возрасти, а как следствие, и условия работы улучшатся.
    Ответ написан
    Комментировать
  • Почему C++ код работает неправильно?

    wataru
    @wataru Куратор тега C++
    Разработчик на С++, экс-олимпиадник.
    Много ошибок:
    1) number[i - 3] == 8; number[i - 2] == 8;, вопреки вашим ожиданиям, не присвоит значения в массиве значению 8. Тут выполняются 2 сравнения с 8, результат которых игнорируется.

    2) Неинициализированные переменные. В частности, k, из-за чего происходит выход за границы массива.
    Плюс, если x изначально окажется 3 (а она тоже не инициализирована), то после первой же 8 вы как бы найдете вхождение и тоже будете выходить за границы массива.
    Ответ написан
    3 комментария