Обо мне

Позитивный, доброжелательный молодой человек.
Постоянно стремлюсь к исследованию чего-то нового.
Не люблю рутину. Поэтому улучшаю и автоматизирую все подряд.
Имею высшее образование по специальности, связанной с IT (Математическое обеспечение и администрирование ИС).
Эксперт в области JS, TS и ООП.
Предпочитаю работать на своём личном профессиональном инструменте (laptop).
Участвую в чемпионатах по программированию Yandex Contest.
Участвовал и побеждал в олимпиадах по математике в школьные годы.

Мои хобби:
В профессиональном плане, недавно увлёкся изучением и администрированием Unix-подобных ОС.
Другие увлечения: психология, бокс, гаджеты.
Управляю праворульным автомобилем.


KEY TECHNICAL SKILLS

0. JavaScript, TypeScript — advanced
- Functional and Object Oriented development (Vanilla JS, TypeScript);
- Android and IOS mobile applications development (React Native, Flux/Redux/Thunk, Reselect.js, React Native Navigation, React Spring);
- Interactive UI implementation (JQuery, Knockout.js, Vue.js, Lodash.js, Moment.js, Ajax, Json);
- Single Page Applications development (Amd/Require.js, Webpack);
- Data access implementation (GraphQL, REST);

1. HTML5, CSS3 — advanced
- Clean, semantic HTML5 and UI implementation (Bootstrap, Yandex BEM);
- Browser compatibility issues resolution

2. Development methodologies — advanced
- Data Structures and Algorithms
- Design patterns
- Object-oriented programming
- SOLID, DRY, YAGNI, KISS

3. C#, .NET Framework, ASP.NET MVC — advanced
- Web applications development;
- Data access implementation (ADO.NET, Linq to SQL, Dapper.NET and custom ORM based on ADO.NET);
- SOAP and RESTful API development (Authorization layer, Data access, interaction with Yandex API and ElasticSearch);
- Multi-threaded applications development (data providing applications for ElasticSearch indexing machine, SEO optimization and other Big Data issues solving);
- MS Windows applications development (Windows Forms);

4. MS SQL Server and Transact-SQL — middle
- Normalized database schemas development;
- Creation triggers, definition indexes and foreign key constraints for referential integrity;
- Creation and optimization complex queries (multiple joins, subqueries, grouping, aggregation, and transactions);
- Complicated stored procedures support;

5. DevOps — middle
- npm, npm scripts, Yarn
- Webpack
- Unix, Bash
- Docker
- IIS, Octopus
- TFS, Git

Enjoys designing software that is user-friendly and programmer-friendly. Writes the self-documenting code. Likes maintainability and refactoring. Does not like legacy-code.

All above - that's all about me.

Профессиональные навыки
Участие в профессиональных сообществах
Опыт работы
Поволжская экологическая компания
Казань
Mobile app developer
Октябрь 2018 — Июнь 2019 (9 месяцев)

Доработка мобильной (ios/android) и iPad-версии Projecto:
https://projecto.pro
https://itunes.apple.com/ru/app/projecto/id1082361684?mt=8

0. Улучшил масштабируемость и поддерживаемость кодовой базы. Что подразумевает тщательную декомпозицию монолитных модулей
1. Внедрил Flux-подход.
2. Убедил команду перейти на TypeScript и использовать анализатор кода TSLint.
3. Все это было сделано с целью уменьшения кол-ва багов. А так-же с целью уменьшения кол-ва конфликтующих изменений, ибо команда большая, а область деятельности - общая.
4. В результате, по инициативе руководителя, общими усилиями команды, весь проект полностью переписан на TypeScript.
5. Доработал для iPad версии календарь и др. модули.

Информационные технологии, продуктовая разработка
Front-end web developer
Март 2018 — Июнь 2018 (4 месяца)

Отдел госпроектов.

- Front-end development
- Code review
- Участие в Scrum-митингах

Построил Модуль - связующее звено между:
GraphQL Api;
Data-table (модуль отрисовки динамической HTML таблицы другого работника);
и конфигами с описаниями столбцов.
Модуль формирует GraphQL запросы к серверу на основе конфига и подставляет результат в таблицу. Запросы поддерживают сортировку и постраничное разбиение.

Провёл короткий митап по теме «IOS/Android на максимум» в 2-х частях:
0. Полезные мобильные приложения;
1. Mobile apps development roadmap.

Уволился к началу FIFA 2018 и начал принимать иностранных гостей.

GraphQLWebpackVue.jsTypescriptGitDockerLinux
Разработка ПО, поддержка и реинжиниринг существующих проектов
Full stack web developer
Сентябрь 2016 — Март 2018 (1 год и 7 месяцев)

biz-apps.ru

Аутсорсинг сотрудничество с международной компанией. Работа в распределенной команде (Москва, США). 

- Поддержка сервисов с отчетностью

- Разработка нового функционала

- Реконструирование старого функционала (old school ASP.NET) с применением новых веб-технологий (ASP.NET MVC, JavaScript, TypeScript, Knockout.js).

Полностью обновил проекты в своей зоне ответственности - Западная Европа.

Несмотря на хорошую базовую архитектуру, огромное количество бизнес-логики выливается во много строк кастомизированного кода. Внедрил собственные решения и coding conventions, чтобы нивелировать эту проблему, обобщить front-end, упростить поддерживаемость кода и вёрстки. 

Также приходится работать с хранимыми процедурами SQL. Исправлять legacy-код на JavaScript / TypeScript, C#.

ООО "Репутация"
Казань
Веб-программист
Август 2015 — Август 2016 (1 год и 1 месяц)

Стартап по разработке портала для проверки контрагентов

reputation.ru

- Front-end + back-end

- Работа с базой данных (Big data)

- Выполнение прикладных задач

Работал над сайтом (ASP.NET MVC). Настроил логику авторизации, уведомлений, API, кэширования, логирования, представлений и пр. Вывел данные на Js (jQuery).

Подключил поисковый движок ElasticSearch, прогнал через индексацию более 30 млн. компаний и физ. лиц, реализовал фильтрацию. 

Конструировал многопоточные прикладные приложения для быстрой обработки больших данных

Инициировал процесс индексирования страниц сайта в поисковых системах Google и Yandex (SEO оптимизация)

Построил на JS прототип дерева, показывающий связи компаний и физ. лиц.

Высшее образование
Казанский национальный исследовательский технологический университет
Казань
Факультет: ИУАиИТ - Информационных технологий
Сентябрь 2010—Сентябрь 2015 (5 лет)

Математическое обеспечение и администрирование информационных систем