Больше информации по резюме будет доступно после регистрации

Зарегистрироваться
Was more than two weeks ago

Male, 46 years, born on 28 November 1979

Moscow, I want to relocate (Moscow), not prepared for business trips

Tech Lead, Team Lead, Senior Developer (С++)

Specializations:
  • Programmer, developer

Employment type: full time

Work experience 26 years 4 months

September 2011currently
14 years 8 months
Deutsche Bank

Moscow, www.deutsche-bank.ru

Senior Developer
*** Responsibilities *** - Implementing new functions according to development plan, design documents and specifications - Testing and bug fixing - Continuous support of current infrastructure (uat/prod) - Work in linux / c++ / java / kdb+ / jira / perforce / svn environment *** Achievements *** - Quick involving into a totally new world of kdb+ as a synthetic part of group's development platform - Implemented a number of low-latency, heavy-loaded applications to connect various sources of data (exchanges). Those applications were designed as a fault-tolerance environment with a data replicator and a number of duplicated feed handlers. They were written in c++/posix/boost, are extremely fast, multi-threaded and were able to interconnect with java/kdb+ data consumers via special fast and robust network protocol. - Implemented a generic java bindings to team's C++ library so collegues could reuse functions already implemented in c++ right inside from their java programms - Implemented a number of scripts to improve current development process: - Enhanced build system to transparently work with various VCSs (svn, perforce) and build systems (cmake, gnu make). This system aimed to facilitate including new components into a system with multiple (even huge) dependencies - Implemented a totally new cmake-based deploy system (which was based on a build system implemented earlier). It was designed to make it easier to deploy an arbitrary part of the built from the source code tightly tied set of applications (unlike the usual situation when all the distributuion is deployed despite the fact that only 10% of funsions were really needed). It helped to reduce sizes and dependencies of deployed instances. - Implemented an integration with TeamCity build and test server; setuped it to build ready-to-deploy distributions on a nightly basis - Resolved some very hard-to-find issues dedicated to IPC and multithreading in prod environment - Implemented some middle-end software in q/kdb+ (data pre-processing, in-memory database persistence) - Participated in setuping and configuring of uat/prod environments
February 2010August 2011
1 year 7 months
Senior developer, team lead
*** Responsibilities *** - Participating in Netcracker product adaptation to meet customer requirements - Implementing new functions according to design documents and specifications - Testing and bug fixing - Leading small projects (2-3 engineers, 2-3 months) - Tutoring and mentoring newcomers - Work in Java 5.0 + IBM WebSphere 9.1 + Oracle 10.1 + Rational Clear Case environment *** Achievements *** - Quick involving into a totally new world of Java EE - Introduced a pure Java implementation of DWF data file format. This parser was designed as a part of a system which received and processed huge amounts of DWF files. Thanks to good design this parser is fast enough to parse incoming data almost without gaps. A few defects was found by QA due to vast unit-tests coverage. - Developed algorithm of detection of objects location according to their geographical coordinates.This function was used by the framework to find nearest communication routes by objects addresses and to calculate routes loading - Implemented a number of similar small projects focused on integration of Netcracker and other systems capabilities. Those integrations have same structure: processing internal and external events, logging, notifications, data interchange via WebDAV, FTP or JMS and so on.
May 2009March 2010
11 months
freelance, off-site web-service development
Senior software engineer, system architect, business analist, project manager
*** Summary *** Java, Spring, JSP, JDBC, PostgreSQL, SVN, Netbeans, Dokiwiki, Trac, ant, maven *** Responsibilities *** - Requirements management - Architectural design - Technical leadership - Coding - Project management - Technological infrastructure management *** Achievements *** - Gathered initial requirements - Created and supported project documents - Created architectural design of a webservice. - Created site map and database schemes. - Developed user management subsystem (roles management) including both Java and HTML - Developed a number of subsystems according to requirements implementation plan - Developed a number of unit, behavior and stress tests - Managed off-site development team of 2 more software engineers
August 2008April 2009
9 months
Tecon
Head of RnD dept
*** Summary *** Jira, Confluence, MS Project, MS Office *** Responsibilities *** - Implementation of development process - New projects expertise and initiation - Staff management - Resource management - Status meetings - Cooperation and intercommunication with neighbor departments and outside world - Customers support - Project planning - Risk management - Staff hiring *** Achievements *** - Employed new stuff. This made possible to continue company's mainstream projects and start some new ones. - Developed and implemented formalized development process with using Atlassian Jira & Confluence - Implemented a formalized procedure for controlling key projects - Managed project resources like staff, equipment, time - Implemented accounting and control system for incoming requests (from neighbor departments, external companies, clients) - Implemented a practice of weekly detailed reports about dept successes and problems - Managed projects to run on time and budget - Administrative activities according to functions
March 2006August 2008
2 years 6 months
Institute of Precise Mechanics and Computer Engineering (Russian Academy of Science)
Tech Lead, Project Manager, Process Manager
*** Summary *** C++, stl, boost, SystemC, Qt, Erlang, Haskell, Jira, Confluence, svn, TaskJuggler, gnu make *** Responsibilities *** - Development of critical parts of code - Architectural design - Technical leadership - On-site and off-site project management - Cooperation and intercommunication with neighbor departments - Delivery and support of development process - Implementation of development infrastructure (groupware servers, build servers etc) - Staff trainings - Staff hiring *** Achievements *** - Initiated, designed and headed the cross-platform modeling framework development for C++ based on SystemC library. The primary goal of this project was to create an easy-to-use, highly configurable, maintainable and readable by hardware engineers (opposite to original SystemC approach) C++ framework for fast hardware prototyping. - Headed development of the high level model of Special Computing Unit, hardware design based on innovative dataflow computer architecture being developed by IPMCE research team. The project was completed on time and budget. The model runs on both Windows and Linux and is extensively used by researchers. It requires relatively little efforts for support due to flexible design, various configuration features, and advanced modeling framework used. - Planned, designed and controlled the development of innovative platform for fast hardware prototyping. Models of hardware described in modern functional language (Erlang) are extremely easy to read for both software and hardware engineers, and may be used as executable specifications. Such a framework shortens prototyping cycles and significantly improves productivity on the early design stage. - Headed development of a high level model for CPLD project based on specifications provided by remotely working team. Erlang modeling framework was used, resulting in factor of 5 developer's productivity improvement being compared to C++. Development of a model uncovered all major architectural issues in this project at very early development stage with a little effort spent. - Headed development of cross-platform GUI for GDSII topology editor and optimizer. This project was implemented with C++ and Qt. - Created and leaded the High Level Modeling group of 5 software engineers. - Developed and implemented procedures for quality control and acceptance of results produced by off-site teams. - Developed and implemented formalized development process within the team in 3 months. It's lightweight modification of metrics based PSP/TSP improved with features of modern methodologies, like RUP, featuring design/code reviews - "formal inspections" and metrics-based control. - Developed and deployed infrastructure to support development process, such as version control system, nightly builds and unit-tests system, automatic metrics counting, task tracking system, wiki-based documentation and discussion portal. Implemented development process within the department in cooperation with the Head of department. - Was responsible for department's projects planning and control routine activities as an assistant of department's head. - Trained staff on formal processes and programming technologies.
August 2005March 2006
8 months
CQG Int., Moscow (h/q in Denver, CO)
Senior software engineer
*** Summary *** C++, stl, POSIX, svn, gnu make, unixware *** Responsibilities *** - Source code development, refactoring and support *** Achievements **** - Development, refactoring and maintenance of exchange's data processing center software. This is distributed foult-tolerant server's cluster processing real-time quote data from all major exchanges in the world (C++, UnixWare, GNU development tools). This system is 20 years old and has about 70 MB of source code. Maintenance team encountered 4 engineers. - Developed C++ library for receiving and parsing exchanges' feeds in asynchronous way. It supports all existing feed formats, has plenty of configuration options and reduces the overall parser's source code base by 30% and significantly enhances maintainability of legacy system, reducing cost of changes and eliminating class of common error.
February 2003August 2005
2 years 7 months
Infotecs joint stock company
Senior software engineer, Tech Lead
*** Summary *** C++, stl, boost, Qt, POSIX, linux, gnu make, Rational ClearQuest *** Responsibilities *** - Source code development, refactoring and support - Architectural design *** Achievements *** - Designed, developed and deployed a Qt-based administration and monitoring console for VPN solution. Console is running in Linux operating environment, able to interoperate with any node in the private network via specially developed XML-based protocol, and supports plug-in interface. This project has been developed by the team of 4 engineers, headed and coordinated by myself. This project lasted about 1.5 year. - Designed, developed and deployed a cross-platform C++ configuration framework. It can take configuration settings in INI-file syntax from any source. Library has simple and clean interface, detects most of syntax errors in settings, and its deployment allowed to get rid of variety of approaches to configuration thus significantly reducing administration effort. - Developed the memory allocator for STL library making possible to use STL in kernel drivers. This allocator is inspired by Alexandrescu's approach, it significantly reduced memory fragmentation and consumption which is important for kernel mode drivers, and is optimized for fast allocation of small object. - Designed, developed and deployed a cross-platform C++ library for interprocess synchronization (based on WaitFor* for Windows and pipes for POSIX). - Developed the Universal Data Blocks protocol. This protocol is used to interconnect service applications running on different operating systems. - Developed a module for network packets statistics collection. This development project concerned both driver and daemon code bases. - Successfully completed a number of projects in C++ with a high risks caused by necessity of legacy components refactoring and support.
June 2001February 2003
1 year 9 months
Information Technology Research Institute
Developer
*** Summary *** C++, stl, Qt, POSIX, linux, gnu make *** Responsibilities *** - Source code development, refactoring and support - Architectural design *** Achievements *** - Developed and deployed fault-tolerant secure network exchange protocol for mail system in team of 3 engineers. This protocol had a number of implementations in different languages and operating systems (Delphi on Windows, g++ on Linux and QNX). - Designed, developed and deployed a general purpose C++ Network library for POSIX-compatible operating environments. Its design is pretty similar to Java network library. - Designed and developed a template containers library for C++. - Designed, developed and deployed a distributed functional control system. It consisted of server, agents and administration console(s). Server was able to handle multiple (up to 100) connections. Server was responsible for receiving, storing and analyzing data sent by agents and for reports generation. Agents were special daemon tools, which controlled network and file system activities within a single workstation, gathered information about running applications, and was able to prevent unauthorized actions. Administration console (Qt-based GUI) was responsible for visualization of detailed statistics on controlled workstations activities, and managing behavioral rules of unauthorized actions prevention. This project was developed for Linux in C++.
January 2000June 2001
1 year 6 months
Flerov Lab, Joint Institute for Nuclear Researches (Dubna)
Junior developer
*** Summary *** TurboC++, DOS *** Responsibilities *** - Source code development, refactoring and support - Architectural design *** Achievements *** - Developed and deployed parameter control system for Dubna gas-filled separator. This tool gathered statistics from various electronic devices and was responsible for generating alarms and shutting down the whole system when something went wrong. It had a GUI (Turbo Vision for DOS) for real-time parameters visualization and system configuration.

About me

*** Summary *** An experienced software engineer with 10 years of software development experience and 3 years of technical leadership experience in software and microelectronics fields. Expertise and background includes: - software development - requirements gathering and analysis - object-oriented analysis and design - expert in C++ and Linux programming - heavy-loaded, fault-tolerant, low-latency, multy-threaded, distributed code design, implementation and support - Java programming - on- and off-site development - Test and Behavior Driven Development - strong computer science background - managing and participating in multiple projects - creative, skillful problem solving *** Skills *** * Development processes * Waterfall, Agile, Test Driven Development, Behavior Driven Development, Continuous Integration, Off-site development * Programming languages * C/C++, Java, q/kdb+, Ruby, Erlang, Haskell, Shell, XML, HTML, SQL * Programming techniques * design patterns, template metaprogramming, functional programming, network programming, client-server programming, multi-threading, IPC, linux API * Frameworks * stl, boost, Qt GUI library, kdb+ in memory database, SystemC hardware modeling framework, POSIX, Servlet, JSP, JDBC, Spring, JMS, * Testing * CppUnit, JUnit, nightly builds, integration tests, heavy-load tests, behavioral tests * Builds * GNU make, apache ant, apache maven * Code management systems * SVN, CVS, Rational Clear Case * Project management tools * Jira, Confluence, DokuWiki, Trac, Rational ClearQuest, Microsoft Project, TaskJuggler * IDE * Vim, Emacs, Visual Studio, Eclipse, Netbeans, GNU development tools, Ant, Maven, CVS, SVN * Servers * Oracle, PostgreSQL, HSQLDB, IBM WebSphere, GlassFish, Tomcat * Operating environments * Linux, FreeBSD, Solaris, MSVS, MS Windows.

Higher education

2001
Higher education
Tver StateUniversity
department of Physics and Computer Science/Applied Physics, M.S.

Languages

Russian — Native

English — C2 — Proficiency

Professional development, courses

2006
Personal Software Process for Engineers
Carnegie MellonSoftware Engineering Institute, Certificate

Tests, examinations

2006
С/С++
Brainbench, 4.63

Citizenship, travel time to work

Citizenship: Russia

Permission to work: Russia

Desired travel time to work: Doesn't matter