Sergei Riazanov Software Engineer Sergei Riazanov 28 Kingsmead Greater London, UK, EN55AY Legal Status: Tier 2 General visa +447391523293 s.ryazanov@gmail.com ᅳ Skills Python, Django, Rest Framework, ReactJS, JavaScript, Code Reviews, Git, C++, MySQL ᅳ Experience Jump Trading / Software Engineer Aug 2016 - Jan 2020, LONDON, UK Led the internal Back Office UI project (Django RestFramework + ReactJS, 2-3 engineers effort). The whole Back Office project aims to replace the legacy set of ad-hoc tool set which no longer can handle the company scale and thus limits company growth. Responsibilities: ● Driving key architecture decisions. ● Writing code, documentation and tests. ● Reviewing code. ● Maintaining development and building environments. ● Testing (both manually and automatically) and deployment. ● Obtaining requirements. Designing and driving manual UI-related business workflows. Achievements: ● Created framework for SQL Query Optimization. Various filters and grouping combinations can dramatically affect the generated SQL, triggering custom optimization logic. At this scale fine tuning of SQL queries is necessary and often quite complex. The queries may include dozens of joins and subselects. This framework is flexible enough to accommodate a wide range of query types and optimization techniques. It combines ORM-like interface with context-dependant query generation. It integrates with UI components, providing tools for exploring and tweaking queries, exposing relations between user-visible objects and the underlying tables. ● Created an application-specific security framework supporting both vertical and horizontal authorization (feature/business-unit based permissions and role-based permission management). ● Created audit mechanism for temporal and bi-temporal historical data (how data looked like at any point in the past). ● Designed stable external API for exporting bulk data sets. ● Designed Redis-based external indices for responsive reference data look-ups (sorted sets and hashes). ● Implemented WebSocket-based invalidation framework for notifications (django-websocket-redis). ● Converted monolithic JS source to lerna-based monorepo, so it could support multiple UI applications. Integrated JS linting and pytest into githooks. ● Created generic tests which enforce common relations in the applications. For example, if a decoratively defined filter references a model that doesn't exist, this test could find that. The developer doesn’t need to write tests to enforce relations that could be enforced in a generic way. Instead, they could pay more attention to the business-logic specific tests. Other projects: ● Created automatic crash report analysis for Windows applications: it converts minidumps to text, extracts the most relevant information and compares it with other reports in semi-automated way (it can't conclude that two reports caused by the same problem, but it can show the stack traces in such a way that the developers could easily draw such a conclusion most of the time). Facebook / Software Engineer May 2015 -May 2016, LONDON, UK Led SMS-based notification optimization projects. SMS has been proven to be an important driver for the key company performance metrics in the developing world. The goal was to replace the legacy with a new system based on ML-based valuation and history-based predictions and drive the effectiveness/cost ratio up. Key components: ● Drop/pass and routing decision system (Hack, data processing pipeline). ● History analysis/prediction subsystem (HiveQL, Presto, SQL, Python, Dataswarm). ● Monitoring, healthcheck and feedback loop (Puma queries, counters) European Molecular Biology Laboratory / Contractor Apr 2015 - May 2015, HEIDELBERG, GERMANY Designed and implemented a visualization application for molecular cartography. HTML, JavaScript, ThreeJS with custom WebGL shaders. https://github.com/MolecularCartography/ili Publications: ● Https://elifesciences.org/articles/24214 ● Https://www.nature.com/articles/nprot.2017.122 Google / Software Engineer Jun 2008 - Feb 2015, SAINT PETERSBURG, RUSSIA ● WebRTC-based remote debugger: exposing Chrome debugging socket over WebRTC Data Channel on the Android side. Integration with client in the Web Browser. Paired Devices management (Java, JavaScript, C++). ● Designed and developed key components of Chrome OS File manager, such as backend-integration, media files thumbnail extraction, file list component (JavaScript, C++). ● V8 performance optimization (code generator; C++). ● Various features of Firefox Toolbar (JavaScript). Transas Technologies/ Software Engineer Jul 2002 - Jun 2008, SAINT PETERSBURG, RUSSIA ● Led Navi-Manager development (C#, Microsoft SQL). ● Developed SafeSeaNet node (element of distributed database using C#, MSMQ and Microsoft SQL Server). ● Navi-Harbor (C++, MFC). This product is one of two major Vessel Traffic Systems, deployed all around the world. ᅳ Education Petrozavodsk State University / Master of Science in Math Sep 1996 - Jun 2001, PETROZAVODSK, RUSSIA ᅳ Awards 18th Place in World Finals of ACM International Collegiate Programming Contest.