Position: Senior java/mobile developer
Category: Java
English level: upper
Years of experience: 5

* delivered software in different environments: product, startups, within teams from handful to dozens; end-to-end business apps development and deployment without technical supervision; 

*  designed and implemented multi client offline data syncing and backup for web (HTTP / REST) and mobile cloud services;

*  implemented few meaningful parts of novel scalable non- blocking networking protocol designed by top SV orgs. Also backported protocol impl to Android and contributed back as official project;

* designed and developed rpc system with pluggable serialization on top of above protocol implementations

* developed backend RPC service providing non-blocking access to cloud database over TCP. Also built java client for it.
specialties: java, non-blocking concurrency, web services, high performance networking, client/server communication, mobile

cs: OOP & OOD, algorithms & data structures, reactive programming (extensive hands on expertise, client & serverside);

languages: java, js
java: java8, multithreading & concurrency, sockets
web: spring: core, mvc, data(postgres), tomcat; 
netty, rxjava/reactor;
http1/2, oauth2, websockets, tcp; 

MBaaS: firebase database, auth, fcm (push: client + server)

mobile: android 4-6; mvvm/mvp; offline support; dagger, okhttp, retrofit; custom views, touch, scrolling; cryptostorage, sqlite
 
tools:
linux, maven, gradle (custom plugins, non trivial build configs), docker, git, github, circleCI

junit, mockito
long-term projects
technical leadership
interested in distributed systems, high-performance networking, non-blocking client/server architectures