Hexlet CV

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

Награды, Сертификаты

2012 - MOC-2124. Программирование на языке C# (ФГБОУ ВПО "Санкт-Петербургский государственный политехнический университет") Сертификат Microsoft

2013 - Introduction to Computer Science and Programming (Edx, Massachusetts Institute of Technology)

2013 - Programming Languages (Coursera, University of Washington)

2014 - Calculus One (Coursera, The Ohio State University)

2016 - Python Data Structures (Coursera, University of Michigan)

2018 - Professional HTML & CSS, level 1 (HTML Academy)

2018 - Professional HTML & CSS, level 2 (HTML Academy)

2018 - Professional Javascript, level 1 (HTML Academy)

Владение английским
Читаю профессиональную литературу
Контакт
https://tlgg.ru/anashi_t

Работа


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) Расскажите...
Привет! Первый блок описан хорошо! Вот здесь можно подсмотреть, как еще улучшит опи...
Добрый день! Для имен есть специальный раздел "имя" - там его и укажите. Раздел "опис...
Добрый день! Я бы переработал описание - сейчас это выглядит как "у меня все на базо...
Денис, добрый день! На первый взгляд очень много текста в блоке описание. Необходим...
Добрый день! Описание хорошее. Навыки: не понимаю, чем отличается знаю от знаком? Я ...