Был на сайте более недели назад

Гранин Александр Сергеевич

Мужчина, 33 года, родился 30 июля 1986

Новосибирск, готов к переезду, готов к редким командировкам

Контакты

+7 (953) 890-41-28
 Личный сотовый
graninas@gmail.com — предпочитаемый способ связи
 Facebook Мой круг LiveJournal LinkedIn graninas

Senior C++/Haskell Developer / Software Architect / Team Lead / CTO / Tech Lead / Remote

Информационные технологии, интернет, телеком
  • Программирование, Разработка
  • Инженер
  • Тестирование

Занятость: частичная занятость, проектная работа, полная занятость

График работы: гибкий график, полный день, удаленная работа

Опыт работы 13 лет 7 месяцев

Июнь 2017по настоящее время
3 года 2 месяца
Независимый консультант IE Granin A. S.

Новосибирск, graninas.com

Информационные технологии, системная интеграция, интернет... Показать еще

Senior Software Architect, Remote Team Lead, Senior Functional Developer, Senior C++ Developer
• Разработчик экспертного уровня, исследователь, писатель, спикер, OSS разработчик • Автор фундаментальной книги "Functional Design and Architecture" • Спикер многих международных конференций и митапов: Functional Conf, f(by), C++ Russia, C++ Siberia, FPure, FPConf, fprog_spb, LambdaNsk, Dev2Dev, DevDay@2GIS • Активные языки: С++, Haskell, PureScript • Неактивные языки: Python, C# Широкий бэкграунд и экспертиза во многих аспектах разработки ПО. • Общие технологии разработки (expert level): ООП, ФП, SQL, NoSQL, XML, JSON, REST, DSL / eDSL, regex, MVVM, MVC, паттерны проектирования ООП и ФП, архитектура и дизайн ПО, Software Engineering, best practices, SOLID/GRASP/KISS/YAGNI/DRY/etc, UML, Linux • Специализация (expert level): дизайн и архитектура ПО (в ООП и ФП), высоконагруженные приложения, web-сервисы, desktop приложения, обработка данных, разработка фреймворков и ключевых компонентов межкомандной разработки, блокчейн • Управление проектами и командами (expert level): JIRA, Redmine, Confluence, Notion, Jenkins, TFS, git, Subversion, Continuous Integration, team leading • Технологии C++ и системного программирования (expert level): C++11, C++14, C++17, C++20, Qt C++, QML, qbs, Boost, STL, GTest/GMock, msvc, gcc, clang, оптимизация, профилирование, debugging, метапрограммирование (templates, constexpr, concepts, macros) • Технологии Haskell и функционального программирования (expert level): Haskell, PureScript, монады, STM, монадические парсеры, FRP, Hierarchical Free Monads, Final Tagless / mtl, функциональные паттерны и идиомы, архитектура и дизайн функциональных приложений, системы эффектов, комбинаторные языки, DSL / eDSL, type-level design, персистентные структуры данных, aeson, servant, stack, cabal, Template Haskell, advanced Haskell concepts • Технологии .NET (senior level): C#, F#, LINQ, WPF, WCF, XAML, NHibernate, Autofac, ninject, managed C++ (и взаимодействие с C#) • Дополнительный опыт (intermediate level): Python, JavaScript, Groovy, Ruby, Node.JS, RabbitMQ • Базы данных (intermediate level): PostgreSQL, MySQL, Redis, RocksDB, MS SQL Server, SQLite, MySQL • Анализ и документирование (expert level): сбор требований, UML, дизайн-документы, системный и бизнес анализ, технические статьи, системная документация, ведение проектной документации • Тестирование (expert level): функциональных и нефункциональных требований, функциональное, интеграционное, модульное, нагрузочное, приемочное, автоматическое, property-based testing, fuzzy testing • Многопоточное и конкурентное программирование (senior level): STM (Software Transactional Memory), конкурентные модели и типы данных, корутины, грин треды, работа с потоками и синхронизация • Распределенные приложения и блокчейн (senior level): TCP/UDP, RPC, JSON-RPC, блокчейн, криптография, actors
Март 2019Апрель 2020
1 год 2 месяца
Juspay

Индия, juspay.in

Информационные технологии, системная интеграция, интернет... Показать еще

Software Architect & Haskell Team Lead
Технологии: Haskell, PureScript, JavaScript, Groovy, Hierarchical Free Monads, MySQL, Postgres, SQLite, Redis, REST Во второй год работы на компанию Juspay я вел свой проект и управлял собственной командой из 4 хаскеллистов. Мы создали еще один фреймворк для нужд компании, аналог PureScript Presto.Backend, но на Haskell. Этот фреймворк лег в основу нескольких новых сервисов компании, которые разрабатываются независимыми командами. Также моя команда реализовывала бизнес-логику финансовых сервисов, используя этот фреймворк и Presto.Backend. Я организовал новые процессы разработки, поставил их на профессиональные рельсы, завел проектную документацию, внедрил хорошие практики (тестирование, CI, трекинг задач), создал стандарты разработки ПО, которые были переняты другими командами.
Август 2018Декабрь 2018
5 месяцев
Enecuum

Санкт-Петербург, enecuum.com

Haskell Team Lead
Технологии: Haskell, RocksDB, NoSQL, STM, блокчейн, криптография, Hierarchical Free Monads Был приглашен в качестве лида команды хаскеллистов из 4х человек, чтобы переписать систему, которую они разрабатывали 11 месяцев без существенного успеха. За 5 месяцев работы вместе с той же командой создал фреймворк Node для распределенных приложений и блокчейнов. Фреймворк основан на моем собственном подходе Hierarchical Free Monads. Фреймворк, предоставив необходимые предметно-ориентированные языки (eDSLs), позволил нам очень быстро разработать хорошо функционирующий блокчейн, отвечающий всем необходимым стандартам качества. При этом появилось тестирование, проектная документация, удобные и эффективные инструменты. Фреймворк выложен в open source. Там же имеется демонстрационный (но не примитивный) блокчейн. https://github.com/graninas/Node
Декабрь 2017Август 2018
9 месяцев
Restaumatic

Польша, www.restaumatic.com/pl/

Информационные технологии, системная интеграция, интернет... Показать еще

Senior Functional Developer
Технологии: Haskell, PureScript, FRP, JavaScript, web backend & frontend В составе команды разрабатывал сервисы для ресторанов. Создал ряд подсистем для платежных операций (REST backend и frontend).
Июль 2017Декабрь 2017
6 месяцев
Juspay

Индия, juspay.in

Информационные технологии, системная интеграция, интернет... Показать еще

Senior Functional Developer
Технологии: PureScript, Haskell, Node.JS, Hierarchical Free Monads, REST, Groovy, JavaScript Используя собственные идеи и наработки из своей книги (Hierarchical Free Monads), спроектировал и реализовал ключевые фреймворки для mobile app и web-бэкенда на PureScript, известные как PureScript Presto и PureScript Presto.Backend (фреймворки выложены в open source). На основе этих фреймворков компания создала главные продукты - мобильные приложения для обработки денежных транзакций и бэкенд для финансовых сервисов. Эти продукты являются главными источниками прибыли компании. Ежедневный трафик бэкенда - 2-5 млн транзакций, а мобильные приложения установлены у 200 млн пользователей. Как частный консультант, привнес в компанию культуру разработки на функциональных языках, ведения проектов, межкомандного взаимодействия. Благодаря этому стал в компании Fellow Developer и Software Architect. За эти же полгода и с помощью той же своей методологии (Hierarchical Free Monads) создал другой внутренний продукт - resumable persistable distributed workflows. Этот продукт позволял писать распределенные workflows на PureScript, которые могли быть поставлены на паузу, сохранены в БД, могли покрывать неограниченные временные интервалы (длительные дискретные workflow), могли порождать дочерние workflow, и все это - написанное на удобном eDSL. https://github.com/juspay/purescript-presto https://github.com/juspay/purescript-presto-backend Впоследствии я возвращался в компанию в 2019-2020 годах и создал еще ряд технологий.
Апрель 2016Июнь 2017
1 год 3 месяца

Новосибирск, 2gis.ru

Информационные технологии, системная интеграция, интернет... Показать еще

Ведущий разработчик C++, Python
Технологии: C++, XML, STL, Boost, Python - Разработка систем поиска по справочнику и геоданным - Тестирование поискового движка - Исследования алгоритмов ранжирования результатов поиска - Командное и межкомандное взаимодействие - Сбор и уточнение требований
Май 2012Апрель 2016
4 года
Лаборатория Касперского

Новосибирск, www.kaspersky.ru

Информационные технологии, системная интеграция, интернет... Показать еще

Разработчик / Developer C++, C#
Технологии: C++, XML, STL, Boost, C#, WPF, .NET - Исследования в области защиты данных (DLP) - Разработка алгоритмов и компонентов DLP - Разработка внутренних инструментов - Разработка прототипов - Разработка правил классификации документов - Проектирование, разработка архитектуры компонентов - Тестирование, профайлинг, улучшение существующего ПО
Январь 2009Январь 2013
4 года 1 месяц
Программирование как смысл жизни

Новосибирск, graninas.com

Информационные технологии, системная интеграция, интернет... Показать еще

Разработчик, исследователь
► Книга "Functional Design and Architecture": https://graninas.com/functional-design-and-architecture-book/ ► STM для C++ и Haskell с использованием Free monads https://github.com/graninas/cpp_stm_free https://github.com/graninas/stm-free ► Доклады про функциональное программирование на С++ ► Доклады про дизайн и архитектуру ПО в Haskell ► Доклады про функциональное программирование ► Интервью и подкасты с моим участием https://graninas.com/talks/ ► Open source проекты https://github.com/graninas И многое другое.
Январь 2008Январь 2012
4 года 1 месяц
Локтелеком
Разработчик
- Создание и сопровождение телком-систем - Администрирование телеком-систем для фиксированной телефонной связи и VoIP (NGN)
Январь 2007Январь 2009
2 года 1 месяц
ЗабГУ
Разработчик
- Разработка внутренних систем (C++ Builder, Delphi, Qt C++) - Сетевая инфраструктура - Сопровождение мультимедиа систем

Ключевые навыки

Git
1
C#
Разработка ПО
C++
WPF
Qt
C/C++
SQL
.NET Framework
ООП
Unit Testing
Design Patterns
Технический перевод
LINQ
Software Development
Haskell
Функциональное программирование
Boost
Software Architecture
Тестирование
Python
Agile Project Management
Функциональное тестирование
Domain Specific Languages
Linux
Базы данных
XML
Teamleading
PostgreSQL
MySQL

Обо мне

Интересуют: Научная фантастика, классическая музыка, игра на пианино, Lego Techinc, написание ИТ-стихов, написание фантастических произведений, велосипеды, путешествия

Высшее образование

2009
Читинский государственный университет
Экономики и информатики, Инженер-программист

Знание языков

РусскийРодной

АнглийскийC1 — Продвинутый

Повышение квалификации, курсы

2010
Система управления вызовами SI3000 (SI2000v6) в сетях NGN (CS, SMG, AGW) - управление, администрирование и техническое обслуживание
ИскраУралТЕЛ, Екатеринбург, Сертификат № E00804

Гражданство, время в пути до работы

Гражданство: Россия

Разрешение на работу: Россия

Желательное время в пути до работы: Не имеет значения