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

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

Комментарии


Добавить комментарий
Для этого действия нужновойти
Войдите, чтобы предложить вакансию кандидату или оставить комментарий
Последние ответы
Это резюме представляет хорошую базу для Java Spring разработчика на уровне Junior/Trai...
Это резюме содержит много полезной информации о вашем опыте и навыках в программировани...
Это резюме Trainee / Junior frontend developer имеет некоторые положительные моменты, н...
Это резюме содержит много информации, которая не относится к позиции Junior Python-разр...
Артем, привет! Есть несколько дополнений к резюме: 1. Учебные проекты К описанию давай ...
Это резюме имеет некоторые положительные и отрицательные моменты: Положительные сторон...
Это резюме показывает, что кандидат имеет опыт работы в веб-студии по разработке сайтов...
Данное резюме содержит информацию о профессиональном опыте работы в сфере разработки пр...
Семен, привет! Есть несколько моментов к улучшению: В описание давай добавим ключевых...
Это резюме имеет некоторые сильные стороны, такие как опыт работы с Django, PostgreSQL,...