Python – 8 years server side components development
C++/C – 5 years development for Win32 and 4 years for Linux
Senior Python Developer, Mobsafety 2013.03-present
Company provides a Mobile Device Management solution for iOS and Android devices. I received great experience in development using python and team management. My responsibility was to take care about backend part of the project that runs as WSGI handler using Flask micro framework. Backed is a heart of the project that is closely connected with other parts of the project. There are four developers under my supervision. To meet strict deadlines I have to create, set priorities, check how tasks were accomplished. Agile scrum methodology with two weeks iteration is used to organize working flow. Technical side of the backend part of the project: python as primary programming language. Flask framework, unittests to cover stability of the system. MongoDB as a database. MongoEngine as driver to access MongoDB. Tasks were managed via Atlassian Jira. Atlassian Bamboo server was used as continuous integration platform. Backend services were deployed in Amazon cloud using Juju deployment tool.
Python Developer, LatamIQ 2012.07 – 2013.02
Took part working in a close team in a startup. Company service was to grab and analyze economic indexes. My responsibility was to build set of services at backend that will help to analyze, predict flows of economical indexes using several metrics. Technologies used: Python as a primary programming language, SQLAlchemy as db adapter to access MySQL server. Almost 90% of code were covered with unittests.
Django Python Developer, 2011.09 – 2012.06
Main focus of the company is to build tools to help people do keyword research – find right keywords for site to attract more users. When I join company, my first task was optimize backend of the system to allow to store at least 500k of keywords on backed in one project and provide fast access to that data.
Python/C++/C Developer,Visionica 2008.03 –2011.06
Developed server side components for IP cameras recording system on Python, used database - MySQL, operation system Linux. My main responsibility is take care about backend scripts. All tools are covered with unittests on 95%. That helps to reduce costs for maintenance, bugs fixing, re-factoring. I take part in development of client side application for this system. Client is written in QT.
One more project that I was involved is front end development for server side tools, used framework – Django.
During work for this company I received experience in running Python scripts on embedded devices, there was a project that required to run our tools on NAS with arm processor. I have to cross-compile Python to run on this SoC and rewrite some parts of scripts to run effectively on low resources system. One interesting project was to change operation system on NAS with Debian Lenny, SoC should be re-flashed over JTAG connector. Used version control subversion. Trac is used to manage tickets in a team.
Development environment: Emacs, QT Creator, Linux, MySQL,Python, OpenSSL.
C/Python/C++/Game Mods Developer,PlayAll 2007.05 – 2008.03 – remote development
Developed several mods to control game flow for Q4, HL family, HL2 family, COD 1, COD2, UT2004
Main task was to develop a set of mods with similar look that would be easy to manage.
Also I developed Linux Kernel Module C and user mode management application on Python. LKM was an extension for Netfilter framework that allowed/blocked incoming connections to a host. User mode application was a service that received a policy from back and managed LKM. Used version control cvs.
Development environment: Emacs, Linux.
C++ Developer, Check Point Belrus, 2005.01 – 2007.08
One of the projects was to porting Linux firewall management application to Mac OS X platform. Project used Atomake/Autoconf configuration tools and the main programming language was C/C++.
I was involved in a project that was connected with Linux Kernel module development. I closely worked with Linux kernel debugging. I debugged my project in UML environment using gdb. All logic that could be tested was tested with unittests.
I received a great experience in supporting and extending with new features multilevel security application for Win32 OS using C/C++. During my work for this company I improved my knowledge of low level debugging, crash dump analysis, support build verify process. Used version control cvs. Bugzilla was used for bugs management.
C++ , Intetics Company, 2003.09 – 2004.12
My work dealt with the development of the system level security application for Win32 OS. Sources were written in pairs using unittesting technology. The main development tool used in this project was MSVC 6.0. The product consisted of 4 main parts: network driver, driver management application, LSP provider and user interface part. At first my main task was to develop and support driver management application plug-in, user interface part plug-in and communication mechanism between LSP provider and driver management plug-in. I used Concurrent Version Control system for storing sources and Bugzilla as a bug tracking system. For debugging I used standard MSVC debugger and SoftICE for emergent cases.
C++ Developer, Sacrament Company, 2002.07 – 2003.10
The company developed Text-to-Speech(TTS) engine for Russian and English language. My work was related to the intonation block of the acoustic module. In association with a group of developers I took part in creating a debugging tool for building a new voice for TTS engine. The development was done on C++ language for Win32 platform with the help of MSVC++ 6.0. During my work for this company I got an experience of porting C++ code to different operation system, I ported TTS modules from Win32 to WinCE.
Educational Institution: Belarusian State University of Informatics and Radioelectronics
Speciality: Engineer – system analyst
Qualification: Artificial Intelligence (Defence of information)
Year of Graduation: 2003