Я HR в этой компании
No description
{"type":"doc","content":[{"type":"paragraph","content":[{"type":"text","text":"Система генерации ответа на требования налоговой (19 kLoC) -"}]},{"type":"paragraph","content":[{"type":"text","text":"Ответственный за разработку всех функциональных блоков, а так же за ревью и доработку ТЗ по проекту:"}]},{"type":"paragraph","content":[{"type":"text","text":"* Парсинг требований налоговой службы (xml)"}]},{"type":"paragraph","content":[{"type":"text","text":"* Потоковый парсинг данных налоговых декларации (xml, размером до 8 ГБ), индикация прогресса при загрузке и обработке данных, совмещение XmlReader и XDocument для оптимизации расхода памяти и трудозатрат на работу с парсингом"}]},{"type":"paragraph","content":[{"type":"text","text":"* Создание оптимального по UX интерфейса для сравнения и анализа трех версий данных, предоставление возможности переключения между измененной и исходной версией данных в представлении"}]},{"type":"paragraph","content":[{"type":"text","text":"База знаний законопроектов и юр. документов (6.2 kLOC) -"}]},{"type":"paragraph","content":[{"type":"text","text":"Ответственный за разработку архитектуры, ревью и доработка ТЗ по проекту, CodeReview. Разработка функциональных блоков:"}]},{"type":"paragraph","content":[{"type":"text","text":"* Гибкий поиск по множеству параметров"}]},{"type":"paragraph","content":[{"type":"text","text":"* Подсистема справочников с единой структурой"}]},{"type":"paragraph","content":[{"type":"text","text":"Фреймворк для автотестов - за основу был взят Yandex.QATools, частично портированный на C# с Java (проект давно не поддерживался и судя по всему имел очень ограниченный успех)"}]},{"type":"paragraph","content":[{"type":"text","text":"* Поиск подходящей обертки поверх Selenium WebDriver"}]},{"type":"paragraph","content":[{"type":"text","text":"* Перепроектирование и внесение доработок в фреймворк для автотестов."}]},{"type":"paragraph","content":[{"type":"text","text":"* Добавлена возможность ожидания элемента через js (на стороне браузера) для уменьшения активности сообщения между агентом запуска и браузером-эмулятором, плюс ожидание элемента отслеживало окончание jquery-анимации, разных css-стилей ответственных за скрытие элемента (visibility, opacity), возможно добавлять иные способы ожидания через js простым образом, получать логи исполнения кода для ожидания элемента со стороны клиента. "}]},{"type":"paragraph","content":[{"type":"text","text":"* Фреймворк обогощен логами, настроен вывод file per testcase, автоматическая выдача скриншота браузера в случае возникновения ошибки"}]},{"type":"paragraph","content":[{"type":"text","text":"* Сформирован ряд правил, при помощи которых стало возможным создавать более понятные и расширяемые структуры автотестов (расширение для паттерна Page Object)"}]},{"type":"paragraph","content":[{"type":"text","text":"Корпоративный каркас приложений - участие в разработке (code review, разработка блоков функциональности, разработка технической документации). Каркас на основе:"}]},{"type":"paragraph","content":[{"type":"text","text":"* паттернов Dispatcher, Interceptor"}]},{"type":"paragraph","content":[{"type":"text","text":"* использования фильтров Mvc, WebApi, Owin MiddleWare"}]},{"type":"paragraph","content":[{"type":"text","text":"* принципа CQRS"}]},{"type":"paragraph","content":[{"type":"text","text":"* EntityFramework Code First"}]},{"type":"paragraph","content":[{"type":"text","text":"* Microsoft Identity 2.0"}]},{"type":"paragraph","content":[{"type":"text","text":"* Database migrations (FluentMigrator)"}]},{"type":"paragraph","content":[{"type":"text","text":"* принципа DI и активного использования StructureMap как контейнера зависимостей"}]},{"type":"paragraph","content":[{"type":"text","text":"* активного использования юнит- и интеграционного тестирования"}]}]}