11902487_492715497557788_7101869169371043346_n.jpg

Sergey Shvyrev

High-load services developer.  7 years experience. Expert of microservices philosophy and methods of working with distributed systems. Extensive experience with video. Real-time and Timeshift. Expertise in the design and development of systems and software for high-load data services. Good OOP skills, TDD skills, Agile methodologies; cross-functional skills in Business Analysis.

[email protected]
+7 (977) 302-1878
Moscow, Russian Federation

Skills


Backend

Microservices: Akka, Elastic, Docker and Kubernetes, Consul, RabbitMQ, Reflect, AWS X-Ray.

Java: Netty, Spark Java, Jetty, Junit 5

Datastores: MySQL/NoSQL, Oracle 12, RethinkDB, SqlLite, Realm



Frontend

Html + Js : html 5 and vanila Js.

Android: Java 7/8, RxJava 

iOs: Swift 3.2, RxSwift.

Datastores: SqlLite, Realm

Codebase

Using git with git-flow principles. The comments in the code, Jdoc and description in Confluence.

Task management

First of all Trello, define it as best solution. And Jira, TargetProcess.


Dependencies and config management

Dependency manager for backend: Maven, Gradle, NPM. Dependency manager for frontend: Gradle, Cocoapods, Carthage.

Config management: first of all - Consul with cfg4j, define it as the best solution. At some projects - ZooKeeper and etcd.

Backing Services

Datastores: PostgreSQL, MySQL, Elastic and RethinkDB.

Messaging/queueing systems: RabbitMQ, Apache Kafka.

Caching systems:  Memcached, Apache Ignite, Hazelcast.

Metrics/events-gathering services: New Relic, Graphite, Elastic, instana, Loggly.

Binary asset services: Amazon S3

Build, release, run

First of all - TeamCity and Bamboo, define its as the best solutions as continuous integration tools. Jenkins. For configuration managment - Chef and Ansible.

Processes and port binding

Use to perform stateless processes - Akka microarchitecture. Scaling services by Docker with Kubernetes. Port bind implement by the jetty/Netty framework.

Concurrency and Disposability

First of all use for concurrency tasks Akka Actors, as best solution. Standard Java Threads (Callable and Future) with Guava EventBus for event management, with all Java 8 concurrency futures (like example new executors)

Monitoring, tracing and logging

For monitoring i use first of all - Elastic + Graphana, define it as best solution then Graphite. And New Relic solutions (for example "New Relic browser metrics") and Zabbix.

For tracing - AWS X-Ray.

For logging - rdd logging from services by Apache Flume to HBase/Hadoop HDFS.

Experience

Experience 01, 11 Nov 2015 - Present

CityAds Data Performance Research. Lead Developer of R&D deportment. 

Responsibilities: The development of mobile SDK, the creation of high-loaded services and analytical systems, systems of content generation. Developed: 

  • content generation and tracking analytical system for implementation video ad at RTB networks 
  • high-loaded services for undisturbed operation for the distribution of content in networks RTB 
  • native mobile applications for iOs and Android platform
  • native mobile SDK for Madnet and CityAds server solutions. Wth mediations Mopub / DoubleClick4Publishers.

Experience 02, 14 Apr 2013 - 16 Jan 2016

Webinar.ru. Developer of R&D department. Software developer full system development lifecycle experience, including designing, developing and implementing unit test. 

Responsibilities: Development of the largest online high-load project in Russian Federation. Developed: 

  • a large client app to conduct online broadcasts. In particular, text and online chat supporting up to 25 simultaneous video broadcasts. 
  • application for video services (Wowza Media Server)
  • service broadcast video 
  • service online broadcasting 
  • service online translation 
  • mobile applications for video streaming services 
  • web application systems for online broadcasts and video conferences 
  • tools for capturing, processing, transmitting, reproducing audio and video
  • tools for the study of errors in the records and modification of records of broadcasts 
  • tools for solutions for implementation of different streaming protocols

img.jpg

Experience 03, 01 Sep 2011 - 04 Feb 2013

Alpari.ru. Developer of Department of interactive services development. 

Responsibilities: Developing client applications of the company. The creation of specialized applications for company websites. 

Developed: 

  • application for configuring and managing the streaming media server 
  • applications for the organization of online broadcasting. Broadcast control multiple streams in real time. 
  • workplace of the trader. An application that uses the services of third-party companies to provide trade traders all over the world. The use of charts, widgets and Analytics tools for trading Forex 
  • tools for streaming online learning and online conferences. Orderly broadcasting in 40 countries. Simultaneous monitoring of all broadcasts in real time 
  • applications to third-party websites. Publication on websites afflante data obtained in real-time statistics on Forex 
  • mobile and desktop applications for signal generators.

Experience 03, 01 Jan 2006 - 04 Sep 2011

Embria, TimeZero and Mail.ru Group. Game developer. 

Responsibilities: process organise team development applications and development tools (framework) for applications.

Developed: 

  • high-loaded applications for social networks "Fotostrana" ("Virtual pet" and "Surfer")
  • in-app purchase tool, as for internal applications (created by the developers Umbria) and external 
  • tools for obtaining feedback from users (for example, the app error message comes on the server and ranked in the stack bug tracker developer) 
  • over 20 tools for game development applications (infinite tile map, a set of Lyoto, a set of components using Base64 encoding to obtain the image from the server,etc.) 
  • tools of mechanisms for working with different types of animation (vector, raster, pointsusing).

Education

05 Sep 2015 - Present

MGRI RSGPU. Phd.

Institute of modern technologies of geological exploration, mining and oil and gas business.

logo-2.png

01 Sep 2013 - 04 Jun 2015

MGRI RSGPU. Msc.

Faculty of technology intelligence and development. 

The Department of modern drilling methods.

logo3.png

01 Sep 99 - 01 Jun 2004

MIREA. System engineer.