Passive candidate interested in full-time position. Considering relocation to Europe; United States.
Software engineering team lead
September 2014 - Preset (1 year)
Continue to lead a small group of developers in building applications for international investment bank, perform managerial tasks as well as hands-on programming tasks. Main accomplishments are:
- organized software development process in the team to ensure stable delivery of high quality products (the team performed successful and continuous delivery of different applications)
- setup continuous integration, enforced auto testing
- prepared pre-release documentation, development documentation, user guides
- interviewed and hired candidates for the team
- mentored junior developers
- worked with team members to ensure their professional growth and satisfaction within the company
- initiated and negotiated several rounds of refactoring and improving of applications that speed up new feature development and maintenance
- performed requirements analysis and tasks break down
- continued to successfully implement development tasks within required scope
Lead Software Engineer
November 2012 - September 2014 (2 years)
Leading a small group of developers in building applications for international investment bank. Creating front-office Foreign eXchange applications that integrate with different internal and external APIs using FIX-protocol and JMS. Applications are built on Spring and Apache Camel with heavy use of multithreading.
Working with the following responsibilities:
- perform requirements analysis having close communication with customer and create program architecture;
- distribute development tasks and monitor their activity, review and verify colleagues code;
- investigate the use of new technologies and create prototypes;
- develop different application modules, write unit and regression tests;
- collaborate with other teams to ensure stable and correct work of integrated systems;
- take on responsibility to deliver application on time, properly tested and documented.
Prepared, conducted and produced Advanced Java learning course for junior developers so they could improve there knowledge of Java core.
senior SOFTWARE ENGINEER
November 2009 - November 2012 (3 years)
Working on several projects for international investment bank. Implemented business functionality related to FX trading. Designed and implemented components of multithreaded systems that work with large data expecting high load. Created pure server-side as well as client side components. Refactored and reimplemented legacy code, wrote integration with 3rd party systems, wrote ANT build scripts, linux shell startup scripts, Junit and TesgNG test cases. Configured continuous integration system.
chernihiv state technological university
September 2007 - November 2009 (2 years)
Lectured advance course of program system design and architecture, where modern approaches to developing of corporate systems using Java language are taught. Introduced to students various design-patterns, layered architecture, technologies that include Spring, JPA, JSF, AOP, application testing and building using JUnit and Ant. Assisted in parallel programming course and Java language course by giving assignments to students and checking their work.
Recorded some lectures in Java technologies so students could do self-study: Videos of lectures
senior java developer
September 2008 - June 2009 (1 year)
Implemented various portlets for the web-portal that include tv-schedule, online-tv, horoscope, weather, advertisement. Wrote separate modules for rss processing and cache-management. Refactored and fixed code for the core of the web-portal, wrote missing junit tests for the core. Wrote ant scripts for building portal modules and deploying to the server. Wrote administrative interfaces to the portal cache module and portlets.
Architecture designer and consultant
June 2006 - September 2008 (2 years)
Assisted in designing of general architecture of the web-portal. Designed the architecture of the separate portal portlet. Wrote generic classes and facades for database access, portlet configuration, etc. that hide technologies configuration and specific issues providing simple interface for using them.
September 2006 - August 2008 (2 years)
Refactored, redesigned and remade the application for comparing Excel documents. Increased comparing speed and accuracy dramatically. Added many new features to the application, that include support for office-2007 formats, export in different formats, launching from the Excel toolbar, connecting to document management systems. Re-designed the program architecture to modular one, that allowed using of program features from other applications via dll-import or COM-interfaces.
Implemented the patent-pending technology for comparing embedded Excel sheets in the Word document. Wrote modules to the Word comparing application for comparing embedded Excel sheets, exporting results, launching from Word toolbar and connecting to different document-management-systems.
Wrote a separate dll-module that provided general interface for working with various document-management-systems, like Interwoven, Netdocs, DocsOpen, Dm51 and others.
Assisted in developing of algorithms for comparing Word and Excel documents.
MS Computer Science
Chernihiv State Technological University
September 2001 - February 2007
Studied courses that go much beyond popular programming languages and cover different algorithms and design-patterns; specific technologies like COM, RMI, J2EE; supplement courses in application security, discrete mathematics, electrical engineering. GPA – 5.0, which is the highest one could get in Ukraine. Diploma with excellence award.
- Apache Camel
- Design Patterns
- Maven, Ant
- Git, SVN