Python-программист

Контакты


Контакты доступны после входа на сайт

Описание

Ищу работу Python разработчиком. Full-time.
Предпочитаю работу в офисе (Санкт-Петербург), но можно и удаленно.

Общий стаж в IT более 7 лет.
Специализация - Разработчик встраиваемых систем (Embedded Developer).
Цель - поменять специализацию, т.к. хочется разрабатывать более высокоуровневые системы.

Желание поменять специализацию возникло около 4-х лет назад. Выбор пал на веб-разработку. Закончила курс Frontend-разработчик в HTML Academy https://htmlacademy.ru/. Верстка меня не сильно притягивает, однако было очень круто познакомиться с языком Javascript.
Уволилась с работы, чтобы найти работу веб-разработчиком, но практически сразу меня нашла другая компания и сделала очень крутое предложение. Так я проработала Embedded программистом еще около 3-х лет. Получила отличный опыт работы в большой международной продуктовой компании.
Идея смены специализации при этом никуда не делась. Единственное, я все-таки отказалась от идеи Frontend разработчика, т.к. разработка пользовательских интерфейсов скорее всего мне бысто наскучит. И решила попробовать зайти с другого конца - Backend, т.к. задачи решаемые этим направлением гораздо более широкие и интересные, мне нравится язык Python и я его довольно неплохо знаю.

Навыки

Языки: C, Python (ранее: C++, C#)
Git, Perforce
Управление проектами
Разработка архитектуры
Структуры данных
Базы данных (MySQL, InfluxDB, MongoDB), SQL
Графические фреймворки: pyQt, WinForms, WPF
HTML/CSS
Poetry
Веб-фрейморки: Django, Flask, aiohttp (базовое представление)
Асинхронность в Python: корутины, asyncio (базовое представление)
ООП
TCP/IP

Опыт


Embedded Software Developer, Arrival
Март 2019 - по настоящее время

Разработка электромобилей.

Разработка низкоуровневых программных компонентов, которые переиспользуются всеми разработчиками в компании.
Язык разработки: С

Примеры программных компонентов:
- Загрузчик и механизмы его обновления
- Механизмы бекапа текущей прошивки
- Модуль контроля здоровья платы
- Модуль периодического запуска self-тестов
- Драйвера внешних устройств (трансиверы, датчики и др)
- CAN интерфейс и протоколы поверх CAN: CCP, XCP, USD
- Модуль диагностики
- Калибрационные параметры
- Универсальные входы/выходы, их динамическая гибкая реконфигурация

Помимо программных модулей общего пользования, в команде есть 3 продукта
1. Drive Control Unit
2. Универсальная платформа для подключения самой разной периферии (стеклоподъемники, фары, подсветка и т.д.)
3. Устройство для удобства обновления, конфигурирования и отладки всех устройств в компании.

Зона ответственности:
1. Драйвер CAN
2. Модуль универсальных входов/выходов. В зависимости от того, в какой части электромобиля используется устройство, к нему нужно подключать различную периферию => должна быть возможность сконфигурировать пины на вход, PWM выход (HighSide/LowSide) или объединить пины в мост для управления, например, шаговым двигателем.
3. Перевела почти всю кодовую базу на драйвера MCAL. Это сертифицированные драйвера от производителя микроконтроллеров.
4. Огромное количество кода было приведено к стандарту MISRA. Когда я пришла в компанию, меньше 1% всей кодовой базы было написано по стандарту MISRA. Теперь более 90%.
5. Написание юнит и интеграционных тестов на код. Покрытие кода тестами должно быть не менее 95% процентов, что часто является задачей не тривиальной, т.к. код работыет с "железом" напрямую.
6. Написание документаци
7. Поддержка других команд, консультирование по использованию системного софта, помощь в диагностике и т.д.

Embedded Software Developer, Третий Пин
Октябрь 2014 - Декабрь 2018

Разработка электроники на заказ.

Полный цикл разработки: от ТЗ до сдачи проекта заказчику.
Язык разработки: С++
Для разработки отладочно-конфигурационного ПО использовался сначала C#, потом перешли на Python.

Проекты:

  • Система управления фазированной антенной решеткой (встраиваемое ПО и приложение для настройки и тестирования);

  • Метеостанция “Ласточка” (встраиваемое ПО, приложение для мониторинга показателей и простой веб-интерфейс на базе weewx). Изначально был Pet-проект, о котором можно прочитать на Хабре (https://habr.com/ru/post/387589/), потом проект прошел несколько циклов перерождений и теперь погодную станцию можно найти в Санкт-Петербурге в пространстве Севкабель, а погоду можно смотреть в телеграм-боте @swallowws_bot

  • Корабельные панели управления (встраиваемое ПО);

  • По сей день иногда беру на аутсорс проекты этого заказчика, из последнего - это Система Контроля Дееспособности Вахтенного Помощника (https://seacomm.ru/catalog/108/sistema-kontrolya-deesposobnosti-vakhtennogo-pomoshchnika/З)

  • Аппаратный менеджер паролей Pastilda (встраиваемое ПО). Внутренний open-source проект компании, почитать про него можно на Хабре (https://habr.com/ru/post/305594/).
    Про то, как я расшифровывала базу данных KeePass можно почитать там же (https://habr.com/ru/post/346820/). Было весело, публиковались на CrowdFunding платформе (https://www.crowdsupply.com/third-pin/pastilda), разослали несколько сотен устройств, на этом проект, к сожалению, закончился. Исходный код лежит тут: https://bitbucket.org/thirdpin_team/pastilda/src/master/

  • Модули для бурового оборудования (встраиваемое ПО и приложение для настройки);

  • Система телеметрии для вендинговых аппаратов (встраиваемое ПО)

Зоны ответственности:
1. Участие в составлении ТЗ
2. Планирование работ, распределение ресурсов
3. Формирование архитектуры проекта
4. Написание низкоуровневой части - драйвера для микросхем, поднятие необходимой периферии микроконтроллера, т.е. полная подготовка проекта для написания бизнес логики, которую уже, как правило, разделяла с другими разработчиками.
5. Отладка проекта, внедрение модулей написанных другими моими коллегами.
6. Сдача проекта заказчику.

Образование


Университет ИТМО, неоконченное высшее
Сентябрь 2013 - Июль 2017
Санкт-Петербургский Государственный Университет, психология
Сентябрь 2007 - Июль 2012

О себе
Читаю профессиональную литературу на английском языке

Комментарии


Добавить комментарий
Для этого действия нужновойти
Войдите, чтобы предложить вакансию кандидату или оставить комментарий
Последние ответы
Привет, Дмитрий! Давай улучшим твое резюме: 1. Представление отсюда убираем, так как т...
Привет, Константин! Давай улучшим твое резюме: 1. Навыки Ты очень прикольно придумал ...
Привет, Ахмед! Давай дополним твое резюме: 1. Контакты Давай добавим твой номер телеф...
Резюме Максима Анисимова представляет собой хороший обзор его навыков и опыта в области...
Это резюме содержит много полезной информации о кандидате, однако есть несколько момент...
Это резюме имеет несколько недочетов и не является оптимальным для поиска работы в обла...
Резюме Junior frontend developer имеет некоторые сильные стороны, такие как: Указание...
Резюме выглядит хорошо структурированным и содержательным. Заявленные навыки и опыт раб...
Это резюме включает в себя хороший набор навыков и опыта работы в различных проектах на...
Привет, Илья! Давай дополним твое резюме: 1. Описание проектов Давай добавим результат...