Skip to main content

[CV]: Резюме эмбеддер-инженера: специфика составления и продвижения

Как и везде, резюме в зависимости от того как оно оформлено может создать дополнительные возможности либо наоборот закрыть возможности имеющиеся. Если отмести такое частое явление, как трудоустройство по рекомендации (через «цеховое братство») , то резюме — чуть ли не единственный способ заявить о себе и добиться приглашение на собеседование.

Итак, каким же должно быть «идеальное» резюме цифрового дизайнера? Ниже представлены опробованные на практике советы (из личной копилки или копилки коллег-единомышленников).

Очевидные вещи

Начну с таких неспецифичных для отрасли и очевидных вещей как то:

  • Имя кандидата должно быть написано крупно, как и должность, на которую он претендует
  • Указывайте опыт работы и работодателей в порядке от нового к старому
  • Лучший формат файла для CV — это PDF со встроенными шрифтами, иначе все ваши красивости и форматирования улетят в тар-тарары

Краткость — сестра таланта, но не в CV

По какой-то неизвестной причине с каких-то пор стандартом де-факто стало считаться одностраничное резюме, в лаконичной форме содержащее только основную информацию. Считаю это правило устаревшим и не соответствующим специфике отрасли — на одной страничке при сохранении юзабилити можно уместить только имя и информацию о паре компаний (но не стоит также ударяться в минификацию — играя с размером шрифта, межстрочным расстоянием и полями, пытаясь разместить на одной странице трёхстраничное резюме). Не стоит бездумно верить в предрассудки, кроме одного — одностраничное резюме с высокой долей вероятности полетит в корзину.

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

Но и перебарщивать тоже не стоит — весь непрофильный опыт должен быть выжжен калёным железом: о том, что вы в студенчестве работали разносчиком пиццы/барменом или ваши замечательные навыки работы с офисным ПО врядли будут интересны для потенциального наймодателя.

Проекты

Пункт, вытекающий из предыдущего: как показать опыт, как не скурпулезным перечислением проектов, в которые был вовлечен и подробного описания что именно было сделано и к каким результатам привело? Недооцененное соискателем значение оказывает демонстрация метода решения поставленной перед ним проблемы. Для более стройного изложения участия в проекте будет полезным использовать ненумерованные списки с разным уровнем вложенности, например:

  • В качестве разработчика ПЛИС реализовал:
    • СФ-блок интерфейса CAN
    • СФ-блок интерфейса LIN
  • В качестве верификатора написал комлект тестов для проверки:
    • СФ-блока UART
      • в т.ч. в режиме работы LIN-master & LIN-slave
    • СФ-блока WDT
    • а также освоил методологию UVM
  • В качестве сетевого инженера занимался:
    • Поддержанием бесперебойной работы серверной инфраструктуры
    • Администрированием хранилища git
    • Балансировкой нагрузки серверов

В начале карьеры при отсутствии опыта можно на волонтерских началах поучавствовать в опенсорцном проекте или даже организовать свой DYI-проект формата «сделай сам» (нелишним будет перечислить выполненные стадии проекта и извлеченные уроки), а еще круче — принести на собеседование объект творчества и рассказать о процессе создания. При прочих равных предпочтение в найме отдаётся самомотивированным и увлеченным кандидатам.

Помимо проектов строго обязательным является список с перечислением навыков (опять же — избегайте принуждения наймодателя читать между строк и выводить формулу ваших навыков на основе опыта работы). В этот же раздел полезно отнести навыки работы с конкретным типом измерительного оборудования, известные архитектуры процессоров/семейства ПЛИС, коммуникационные интерфейсы/протоколы, владение EDA/CAD-тулами, скриптовые и языки программирования (таки-удержался, чтобы дописать сюда же — фреймворки 😉 ).

Позиционирование

Чётко определите для себя область, в которой хотите работать и профессионально развиваться и исходя из этого подавайте себя. Не стоит писать: «по чётным дням разработчик, по нечётным — верификатор«, или «в тёплое время года готов писать драйвера устройств,  для которых разрабатывал PCB«. Дайте прежде всего сами себе честный ответ на вопрос в чём вы сильны и в чём хотите развиваться дальше — быть может это будут два разных ответа, не критично. Критично что ваше резюме должно быть пронизано духом развиваться и заниматься интересной вам сферой деятельности. Вычистите резюме от белого шума, слабо коррелирующего с этим стремлением.

Заключение

В заключении хочется дать совет, ценность которого легко недооценить: полезно обновлять резюме раз в несколько месяцев, установите себе конкретные даты в календаре, когда будете делать это; например, ежеквартально — хорошая частота для того чтобы сесть и обновить резюме новыми проектами и навыками. Редкие обновления обычно приводят к пробелам в информации или её искажению из-за забывания того, что было сделано. Помните: самое худшее время для обновления резюме — это когда Вы ищете работу. 

читать...

Тулчейн для STM8 под линукс на базе SDCC

Установка

SDCC

Есть соблазн установить из репозитория:

но, поскольку там довольно старая версия (для такой новой для sdcc архитектуры, как stm8), то рекомендую ставить последний снапшот отсюда: находим нужную нам архитектуру i386 или AMD64 и качаем предскомлиленный архив бинарников:

 Проверить корректную установку можно командой: 

hex2bin

 Аналогично устанавливаем последнюю версию hex2bin, которой получаем бинарь, который в свою очередь будем кормить программатору:

stm8flash

Есть такой замечательный программатор stm8flash, который позволяет зашивать STM8 через стандартный st-link (или его китайские клоны) по интерфейсу SWIM; скачиваем и устанавливаем:

 Дополнительно хорошо бы установить рулы для возможности работы с st-link из под обычного юзера, для чего заимствуем готовые файлы из опенсорсного проекта st-link’а для STM32: 

Альтернативные инструменты

Справедливости ради, отмечу существование stm8flasher — утилиты, которой можно шить по UART старшие STM8, имеющие встроенный загрузчик, но в силу того, что не работаю с «жирными» STM8 эту утилиту не пробовал.

Также, начиная с весны 2016г, стал подностью бесплатным французский компилятор Cosmic, к сожалению, версия для линукса хоть и существует, но недоступна свободно и поставляется на отдельных условиях (с демоном лицензий flex lm).

Использование

Пример

Компиляция проекта из одного файла-исходника:

Конвертация в bin:

Зашивка:

Разбор примера

sdcc

 Основные опции sdcc, которые скорее всего потребуется использовать:

  •  -c для компилирования в объектник (типичный проект с несколькими исходными файлами,  линковка будет запущена отдельной командой)
  • —std-c99 для компиляции согласно стандарта C99 (в действительности, C99-фичи поддержаны только частично, но на моих исходниках необходимо указывать эту опцию, инача sdcc вылетает с ошибкой)
  • —opt-code-size для оптимизации выходного байт-кода по размеру

 hex2bin

  • -p [value] — значение (в hex), которым будут заполняться пустые ячейки (0х75 — недопустимый опкод для архитектуры stm8, его выполнение приводит к переходу в процедуру reset)
  • -s [address] — также есть опциональная возможность задания стартового адреса  (в hex, фактически — смещение)

stm8flash

Общий формат команды:

Note!: В последней версии появилась поддержка формата hex и возможность программирования OptionBytes.

 

читать...

Работа с IP-XACT на примере Kactus2 в CentOS7

Сборка и установка

Устанавливаем зависимости:

Скачиваем и собираем:

(далее…)

читать...

Начало работы с ATMEL SAM V71 в CLI

Установка arm-none-eabi-gcc

Ставим по привычке в /opt:

Настроечный файл тулчейна /opt/arm-2015q3.setup:

(далее…)

читать...

Работа из под линукса с UART-портом

Настройка окружения

Выясняем какие USB-to-COM преобразователи доступны в системе:

Настройка прав доступа из под обычного пользователя:

либо пользуемся механизмом udev, для чего нам понадобится положить по пути /etc/udev/rules.d файл такого содержания (с расширением *.rules):

— в примере прописаны  VID&PID микросхем-преобразователей FT232R и СР2102. После сохранения файла необходимо добавить пользователя в группу plugdev (если он еще не добавлен):

И перезачитать содержимое правил в директории /etc/udev/rules.d:

(далее…)

читать...

OSHpark: как пользоваться сервисом быстрого заказа прототипов печатных плат

Что такое OSHpark?

Сервис для быстрого заказа прототипов печатных плат. Формула ценообразования проста: платы изготавливаются в количествах, кратных трём, для ДПП прайс $5 за 1 кв.дюйм площади (т.е. за $5 на выходе вы получаете 3шт PCB площадью 1 кв.дюйм каждая, за $10 — 3шт по 2 кв.дюйма каждая и т.д.), для МПП4 $10 за тот же 1 кв.дюйм (за $10 — 3шт по 1 кв.дюйму каждая и т.д.).

Плюсы сервиса

  • Использование имерсионного золочения (ENIG)  для всех проектов плат
  • Удобный графический превьювер герберов (при загрузка архива проекта пошаговый вывод всех слоёв — удавалось выловить благодаря этому не очень удачное наложение шелкографии на via/pad)
  • возможность шаринга опенсорц-проекта — например, часто на гитхаб встречаются ссылки на заказ клона PCB OSHW-проекта

Технормы

(далее…)

читать...

STM8S-Discovery. Теперь с CAN-шиной

Постановка задачи

На пике популярности STM8S  выпускались и продавались КИТы STM8 Discovery на базе STM8S105, единственными достоинствами которых были цена, наличие набортного отладчика/программатора ST-link V1 и маленькая область для макетирования. Недостатком же явилось отсутствие поддержки шины CAN.
Решить проблему несложно  — достаточно заменить STM8S105 на STM8S208 с идентичным футпринтом и схожей, в рамках серии, распиновкой, что я и сделал. На область для макетирования запаял 5-вольтовый драйвер шины CAN.

(далее…)

читать...