• Какие навыки требуются Junior программисту микроконтроллеров?

    @dima20155
    you don't choose c++. It chooses you
    1. Прежде всего, нужно знание схемотехники, но в вашем случае этот этап можно вычеркнуть.
    2. Естественно, знание основ С и С++ (синтаксиса, базовых конструкций). Советую вам использовать в своих проектах С++, поскольку зачастую вы сможете писать в стиле С без каких-либо проблем, а при необходимости воспользоваться фичами/библиотеками для С++.
    3. Навыки hardware и software отладки. Здесь просто нужна практика с любимой IDE.
    4. Понимание указателей, типов памяти (статическая, динамическая, автоматическая, регистровая). Как память выделяяется и прочее.
    5. Знание базовых структур данных. Это немного скользкий пункт, поскольку С++ предоставляет хорошую (хотя и весьма минималистичную) стандартную библиотеку STL, в которой есть большинство из необходимых структур данных, но они используют довольно много дополнительной аллокации памяти, поэтому если пишете под что-то 8битное, то имейте это ввиду.
    6. Знание git на базовом уровне сейчас важно для джуна любой IT специализации.
    7. Неплохо бы иметь базовое представление о том как устроен микроконтроллер и его архитектура.
    8. Неплохо бы понимать RTOS (FreeRTOS - классика жанра), а главное зачем он нужен, а когда он не нужен или вреден.
    9. Лично мне всегда в работе пригождается python, но это всегда сторонние задачи/автоматизация.

    P.S. Нашел ещё вот такой RoadMap.
    P.S.S. Получилось довольно объемно. Но пункты 2-5 по сути можно объединить в один. Все это можно изучить написав парочку проектов для классической STM32 + HAL.
    P.S.S.S. Сам начинал как hardware разработчик. Путь embedded разработчика начального уровня не был сложным для меня и занял не очень много времени.
    Ответ написан
    Комментировать
  • Как получают зарплаты с запада?

    @other_letter
    Хорошая попытка, товарищ майор
    Ответ написан
    Комментировать
  • Как найти программистов и сделать свой штат программистов?

    newross
    @newross
    Product owner
    4 года - это слишком долго для решения стандартной проблемы роста. В голову сразу приходит 3 вопроса:
    1. А есть ли вообще ресурсы на формирование команды?
    2. Почему за 4 года ни разу не обратились хотя бы каким-то консультантам? Условные 50к, оплаченные за работу консультантам могли сэкономить годы времени, а новые продукты принести прибыли в 1000 раз больше.
    3. Не страшно ли завязывать все процессы и продукты на единственного разработчика, поведение которого вам непонятно?
    Ответ написан
    Комментировать
  • Как найти программистов и сделать свой штат программистов?

    AgentSmith
    @AgentSmith
    Это мой правильный ответ на твой вопрос
    Очевидно, что проблема в том единственном твоём любимом программисте. Наверное, он не терпит конкуренции более сильных разработчиков и тогда надо гнать его в шею.
    Варианта два: уволить его, либо воспользоваться услугами профессиональных нанимателей, HR
    Ответ написан
  • С чего начать в 30 лет?

    EveningEugene
    @EveningEugene
    Unity-разраб
    Unity - это игровой движок. Движок - это набор реализаций общих типовых задач в предметной области, в данной случае - геймдева. Использование Unity не избавляет вас от программирования, а значит, прежде чем изучать Unity, вам нужно сначала научиться программировать на C#.
    Ответ написан
    6 комментариев
  • Как правильно передавать функцию в качестве параметра?

    @res2001
    Developer, ex-admin
    Оба варианта правильные. Имя функции это и есть указатель на функцию, так что sizeof(foo) == sizeof(&foo). По сути тут компилятор просто игнорирует операцию взятия адреса от функции.
    Вся функция никогда не передается - только указатель.

    Я бы предпочел второй вариант, т.к. тут явно указано, что надо передавать указатель на функцию.
    На самом деле тип указателя на функцию я бы оформил через typedef, и в параметре указывал бы уже имя типа:
    typedef void (*foo_t)();
    void fooPrint(foo_t foo) {
        foo();
    }
    Ответ написан
    4 комментария
  • В чём суть шутки про ноги в С/С++?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега C
    Седой и строгий
    "Выстрелить себе в ногу" - это идиома англоязычного мира, означающая причинение себе вреда необдуманными действиями. Языки C и C++ достаточно низкоуровневые языки, чтобы на них можно было делать опасные вещи. При этом первый вообще никак не контролирует действия программиста и позволяет написать любую ересь, а у второго такое количество тёмных уголков, в которых можно ересь сделать случайно, что не все знают даже спецы с десятилетиями опыта. Эти два совокупных фактора превращают программирование на Сях и Плюсах в изготовление приспособлений для стрельбы по собственным ногам.
    Ответ написан
    Комментировать
  • Имеет ли смысл изучать электронику и железо ПК?

    sepulkary
    @sepulkary
    Инженер-электронщик, в основном
    Не ходите в электронщики. Как хобби - да, как профессия - не стоит.

    Я работаю инженером-электронщиком с 1998 года, с момента выпуска из университета. Работа очень интересная, относительно высокооплачиваемая, но прямо сейчас потолок зарплаты высококвалифицированного (10+ лет опыта) разработчика примерно равен зарплате программиста нижней-средней квалификации (2+ лет опыта), зарплата ремонтника еще вдвое меньше. Рынок вакансий мал, поменять работу, если что-то не устраивает, довольно проблематично.

    Рассмотрите лучше такие варианты с относительно низким порогом вхождения, как изучение Python или front-end разработка на стеке JavaScript/React/Redux. Даже если живете не в Москве, через пару лет упорной практики можете рассчитывать на зарплату 120+, вкалывая на удаленке. А паяльником вечером, для души будете работать.
    Ответ написан
    Комментировать
  • Что нужно уточнить на собеседовании?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Уточните нужные для вас условия работы.
    Расписание и наличие овертаймов.
    Кто принимает решение о размере ЗП и есть ли регулярные пересмотры. Бывают ли задержки, привязана ли ЗП к курсу валюты
    Как определяется прохождение испытательного срока.
    Будет ли выделен индивидуальный ментор.
    Есть ли какие-то бонусы в компании кроме ЗП (страховки, бесплатные курсы английского), командировки.

    А так - присматривайтесь к людям на техническом собеседовании, возможно один из них ваш тимлид, а другой будущий ментор.
    Ответ написан
    2 комментария
  • Клиент присылает 100500 правок, при этом проект завершен на 99%. Как быть?

    DevMan
    @DevMan
    правки бывают двух типов:
    1. исправление косяков.
    2. дополнительные фичи/изменение уже реализованных.

    1 делается бесплатно и как можно быстрее.
    2 делается за отдельные деньги. или не делается вообще и работа с клиентом прекращается.

    есть ещё 3: дать клиенту скидобан на конкретно оговоренный объем дополнительных работ.

    это из основного. есть ещё методы, но они уже для постоянных клиентов.
    Ответ написан
    1 комментарий
  • Есть ли простой софт для управления изменениями?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Трекеров разработчика - вагон и маленькая тележечка.

    Bugzilla, redmine, trac, mantis - что первое пришло в голову
    Ответ написан
    Комментировать
  • Есть ли простой софт для управления изменениями?

    @ComodoHacker
    Trac — дешево и сердито.
    Ответ написан
    Комментировать
  • Есть ли простой софт для управления изменениями?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Не совсем подходит, но может работать немного офлайн с последующей синхронизацией
    https://www.redmine.org/issues/20952
    Ответ написан
    Комментировать
  • Есть ли простой софт для управления изменениями?

    nki
    @nki
    bezkart.ru готовая система лояльности
    Trello подходит кроме требования к локальной работе.
    Ответ написан
    Комментировать
  • Какой самый эффективный способ контроля времени и внимания в рабочее время?

    vabka
    @vabka
    Токсичный шарпист
    Сам постоянно отвлекаюсь на тостер, так что для меня актуально.

    Раз отвлекаешься, значит другие занятия для тебя интереснее, чем работа.
    Я вот такую методику выработал и пару дней с ней успешно работаю:
    1. Вырубаем вообще всё, что можно. Уведомления и все отвлекающие сайты.
    Телефон убираем подальше и на беззвучный режим.
    2. Рабочее место чистим от всего мусора.
    Кроме мониторов, мыши и клавиатуры на столе ничего быть не должно.
    3. Блокируем все сайты, которые отвлекают.
    4. Заводим распорядок дня. И придерживаемся его. В него нужно внести сон и работу. Добавить приёмы пищи и всё прочее. Пустоту заполняем чем-нибудь типа "посмотреть youtube", "почитать хабр", "поиграть в доту"
    5. Убираем рутину по возможности. Все инструменты должны настроены так, чтобы не пришлось воевать с IDE
    6. Добавляем разнообразие.
    Например мне очень сложно даются всякие задачи на фикс багов.
    Теперь, когда я нахожу причину бага, я разбиваю её на несколько небольших задач и пишу на каждую тест.
    Каждый такой тест становится для меня промежуточной точкой, и благодаря достаточно мелкой разбивке - мозг не начинает "скучать" и постоянно видит, что происходит какое-то продвижение.

    Заставлять себя я не советую, тк со временем вы так начнёте ненавидеть свою работу и перегорите.
    Ответ написан
    1 комментарий
  • Как начать работать на бирже Upwork?

    sHinE
    @sHinE
    веб-разработчик, php/js/mysql и сопутствующее
    Лично у меня видео-конференция была короткой и простой, посмотрели на меня, спросили что-то типа имени и адреса. Представился и назвал адрес, который указал в профиле. Т.е. минуту-две всё заняло.
    Ответ написан
    Комментировать
  • Какое самое наилучшее приложение для чтения книг на android?

    Lillipup
    @Lillipup
    Allons-y, Алонсо!
    Мне нравится EbookDroid
    Ответ написан
    Комментировать
  • Остались ли еще толковые русскоязычные биржи?

    @Stalinko Куратор тега Фриланс
    PHP'шник и фрилансер до мозга костей
    какие отклики можете дать?

    Учите английский и не связывайтесь с русскими биржами.
    Ответ написан
    4 комментария
  • Как в Python "красиво/правильно" преобразовать "число" в байты и обратно?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Для целых можно так (число должно быть неотрицательным):

    (1).to_bytes(2, byteorder='little')
    (-1+2**16).to_bytes(2, byteorder='little')

    Для произвольных следует использовать struct.pack

    struct.pack("i", -1)
    struct.pack("f", math.pi)
    Ответ написан
    Комментировать
  • Как легализовать платежи от иностранных клиентов?

    @Grant1979
    Руководитель проекта b2-print.ru и upbook.ru
    Не надо демонизировать налоговую. Их задача собирать деньги, Ваша - платить налоги. Никто ничего искать не собирается.
    Хотите платить налоги - хорошо, это будет плюсик вам в карму и в какой-то момент может уберечь от бОльших проблем.
    Если вы фрилансер, то самый безопасный вариант - ИП 6%. Можно зарегистрироваться в налоговой не выходя из дома, заказываете ЭЦП, регистрируете её на госуслугах, и регистрируете ИП. После того, как всё сделано, примерно 3-5 дней вы идёте в один из "молодёжных банков" - Модуль, Точка, Тинькофф (мой личный рейтинг, по убыванию). К вам приедет их менеджер, спросит - чем занимаетесь, вы ли это. Открываете счета на каждую нужную валюту - свой.
    Что вы получите?
    1) вы сможете предоставлять заказчикам документы, чаще всего хватает инвойса со своими реквизитами, а они будут напрямую переводить вам средства в российский банк, например если это Точка, то они будут сразу падать к вам на карту и вы сможете ей рассчитываться.
    2) Нет никаких сложностей с получением денег из-за рубежа - надо уточнить в банках условия принятия платежей, но чаще всего нужно будет оформлять паспорт сделки, у Модуля это как-то очень просто, отправляете им инвойс, они подскажут даже, как его правильно составить, чтобы у них не возникло вопросов. Но надо смотреть по ценам, в некоторых банках, типа ВТБ, это отдельный квест и отдельная внушительная сумма.
    3) Во всех банках есть встроенные системы расчёта налогов, в Модуль, насколько я помню, это условно бесплатно.

    По затратам: 3 раза в год надо платить государству деньги, банк об этом обычно напоминает, и можно даже его попросить оплачивать налоги автоматически. "минимальная цена" около 40 000 р. в год, это социальные выплаты, типа пенсионные и прочее, но не более 6% + услуги банка.

    Поверьте, всё в этом мире автоматизируется и систематизируется, в один прекрасный (не для вас) момент пэйпал проинформирует налоговую о том, что у вас были поступления на счёт. Никого не будет интересовать, мама вам перевела или это заработная плата, это будет просто сокрытие дохода, которое стоит 100% + штраф. И если несколько лет назад штраф в 0,13 р. был невозможен, потому что делался вручную, то сейчас они сыпятся как из рога изобилия, потому что их делает какой-то копеечный бот. И те люди, которые считают, что "Ваши 500 долларов никого не интересуют", взгляните на ситуацию с другой стороны: в стране таких как вы около 5 млн человек, и всех можно оштрафовать на 500*12* 10 лет, например, просто нажатием 1 кнопки.

    Теперь о хорошем: можно почитать о самозанятых, но те же 6%, но минус социальные налоги, институт новый, я бы не практиковался. Но есть такая штука, как патент, купив его вы можете серьёзно снизить свои налоговые отчисления, если в вашем регионе на вашу деятельность есть возможность оформить, то не стоит этим принебрегать. Если вы дизайнер, посмотрите на патент "деятельность фото- кинолабораторий", вы же занимаетесь обработкой фотографий? значит он вам подходит, но надо почитать, подходит ли он для работы с иностранными компаниями, могут быть нюансы. Главное - что вы, как ИП сможете оформить на себя эквайринг, и вообще получать деньги через платёжную систему, с пластиковой карты, а там уже не будет никакой разницы, где ваши заказчики, они платят, вы получаете сразу в рублях, платите налоги, "проводите", как патент - профит.
    Ответ написан
    Комментировать