Andrew Kovalenko
Full Stack Web Developer
3425 Lebon Dr apt. 925, San Diego CA 92122 USA Tel: +1 619 342 59 14
LinkedIn: https://www.linkedin.com/in/kovalenkoandrey Visit card: http://andrewkovalenko.com
Email: [email protected]
GitHub Profile: https://github.com/AndrewKovalenko SUMMARY
I have about 8 years of commercial software development experience. During this period I've been working with different programming languages, frameworks and types of projects from high-load real-time monitoring systems written on C++ to social networks based on ASP.NET MVC and hybrid mobile applications developed with PhoneGap + Angular.js.
I do not tie to any particular technology or platform, but like to discover and learn new instruments, programming languages and design approaches. I pay a lot of attention to main development principles, like composition, modularity, coupling and cohesion, try to think out of the box and follow basic application design rules, such as SOLID, DRY and KISS. I know when and how to use design patterns, pay a lot of attention to code cleanliness and readability. This mix of fundamental computer science knowledge, software design principles and modern technologies allows me to build robust and complex solutions but keep architecture simple, extendable and scalable.
Around 3 years ago I start moving from heavy enterprise-oriented .NET technologies stack to more light-weight, quickly developing Node.js platform and using JavaScript as full-stack development language. Now I have achieved pretty solid understanding of principles, patterns and approaches specific to application development with JavaScript.
As for front-end development experience – as most of developers I started with providing “rich UI” features developed with HTML4, CSS2 and jQuery, then I moved to SPA-way using Knockout.js + Sammy.js for commercial projects and Backbone.js for my own ideas.
Now in all my current projects I use Angular.js + Require.js, HTML5, CSS3 for front-end and Node.js or Ruby on Rails for server-side. I have rich experience in development of hybrid mobile applications with PhoneGap/Cordova. To automate process of building easy modifiable, module-based, decoupled web-applications I developed framework and yeoman-based scaffolding tool called generator-amg.
Despite using cutting-edge technologies and most modern tools I have a lot of room for new knowledge and do not stop to learn new technologies and languages. For instance I attentively follow process of specification development and providing new features in ES6, learn Reac.js, interested in functional programming and NoSQL databases, investigating advantages of using combination of ClojureScript, Om and React.js instead of MV* front-end frameworks.
I’m looking for lead/senior software developer or software architect position with stable growing company, which can offer friendly atmosphere, comfortable working conditions and flexible schedule of work time.
Technical environment
Languages JavaScript, CoffeeScript, HTML, CSS, LESS, SASS, C#, Ruby, SQL, C++, Delphi
Technologies Node.js, Grunt, Yeoman, Gulp, Angular.js, Backbone.js, Underscore.js, jQuery, Knockout.js, .NET Framework, LINQ, Windows Forms, ASP.NET, ASP.NET MVC, WCF, Web Services, Padrino, Rails, OnsenUI, Twitter Bootstrap DBMS MongoDb, Microsoft SQL Server, Oracle, MySQL, SQLite Database Access Mongoose, Entity Framework, NHibernate, ADO.NET,
Dapper, Acrive Record, PetaPOCO
Development tools Sublime Text, IntelliJ WebStorm, Vim, Atom,
Microsoft Visual Studio 2005/2008/2010/2012, Microsoft Sql Server Management Studio, IntelliJ IDEA
Unit-testing Jasmine, Mocha, Karma, sinon.js, nightwatch.js, RSpec, Capybara, NUnit, Moq
DI frameworks Requier.js, Ninject, Structure Map, AutoFac VCS/CI Git, Mercurial, SVN, Perforce, Jenkins, TeamCity
AREAS OF EXPEREENCE JavaScript high Node.js high HTML5/CSS3 high
Microsoft ASP.NET MVC(C#) high Microsoft Windows Forms(C#) high
Ruby intermediate
Rails intermediate
Microsoft ASP.NET(C#) intermediate Microsoft SQL Server(T-SQL) intermediate
CoffeScript intermediate
Delphi intermediate
C++ intermediate
Oracle(PL-SQL) intermediate
Scala basic
Automated testing high
Software architecture high Domain-driven design high
Scrum techniques high
Team management high
WORK EXPERIENCE UIT
Software Architect September 2013 – Now
Obtain new knowledge in project management, team management distributed development and project estimation.
Project Order Tracker
Project description Mobile and web application to automate process of
ordering, order tracking, waiter calling and payment for restaurants.
Technical stuff JavaScript, Node.js, npm, Guilp, Bower, yeoman,
angular.js, require.js, generator-amg, PhoneGap, HTML5/CSS3, LESS, REST-full Web API, Twitter Bootstrap.
Responsibilities Fully designed by myself and implemented under my lead.
Project Mobin
Project description Mobile application to perform inspections, diagnose defects
and measure work parameters of heavy industry equipment.
Technical stuff JavaScript, Node.js, npm, Grunt, Bower, yeoman,
angular.js, require.js, generator-amg, PhoneGap, HTML5/CSS3, LESS, REST-full Web API, Twitter Bootstrap.
Responsibilities Fully designed by myself and implemented under my lead.
Tillster
Senior Front-End developer May 2014 – Now
Gain new skills and experience of working with cutting-edge front-end technologies and tools.
Project Ordering App
Project description Application, which allows clients, find restaurants and order
food, track delivery and participate in loyalty programs remotely using mobile devices.
Technical stuff JavaScript, Node.js, npm, Grunt, Bower, yeoman,
angular.js, require.js, OnsenUI, PhoneGap, HTML5/CSS3, SASS, REST-full Web API, Geo-Fencing, Geo-location API, Google Maps integration.
Responsibilities design and implementation of base application architecture,
geolocation module, restaurants search module,
notifications module and integration with payment systems.
Project Unified platform
Project description Architectural platform and set of tools to automate process
of building web and hybrid mobile applications for Tillster clients.
Technical stuff JavaScript, Node.js, npm, Grunt, Bower, yeoman,
angular.js, require.js, OnsenUI, PhoneGap, HTML5/CSS3.
CTI
Lead Software developer June 2013 – April 2014
Improve skills in JavaScript development and client-side architecture, building of ergonomic UI and using of design patterns in development of enterprise applications.
Project Integration Service
Project description Web service with plugin-based architecture to allow
interaction of any third-party developed software with CTI-provided software package.
Technical stuff REST-full Web API, ASP.NET MVC 4 WEB API, MS SQL
2008, Entity Framework 4.3.1, AutoFac, MS MEF.
Responsibilities fully designed and developed by myself.
Project PBS
Project description Web application, which intended to automate order process
and price estimation of manufacturing and shipping goods.
Technical stuff JavaScript, Knockout, jQuery, jqGrid, HTML/CSS, Twitter
Bootstrap, ASP.NET MVC 4 WEB API, MS SQL 2008, Entity Framework 4.3.1.
Responsibilities booth of server-side and client-side business logic
implementation, improvement of UI solutions, introduction of modern development approaches and technologies. Teach staff to use mainstream development approaches and technologies to improve productivity in software development process.
UaRank Tec.
Lead Software Developer / Software Architect November 2010 – May 2013
Gained experience in test-driven development, domain-driven development, scrum technique, agile development approach, team development and team management, software architecture and development of commercial software.
Project MMITS
Project description Online system, which allows controlling distribution of drugs
between patients.
Technical stuff JavaScript, Backbone.js, jQuery, Underscore.js,
HTML5/CSS3, REST-full Web API, ASP.NET MVC 4 WEB API, MS SQL 2008, Dapper, self-developed cqrs
framework, self-developed event sourcing framework, online payments gateway.
Responsibilities implementation of security module, access control and
payment modules. Implementation of interaction between core of system and numerous modules using sqrs
architecture approach and event sourcing. Cover basic functionality with unit-tests.
Project Social network for golf players (http://socialputts.com/)
Project description Online system, which allows users to search for
golf courses using Google GeoLocation API, book tee time for playing golf, take part in golf events,
search for buddies to play together, create golf teams and log a score for their golf games.
Technical stuff C# 4, ASP.NET MVC 3, MS SQL 2008, Entity
Framework 5 Code First, Ninject, jQuery, Knockout, Underscore, HTML/CSS 3.0, AutoMapper
Responsibilities implementation of full development cycle, team
management, developing architecture of application. Project Social network for old house owners and house
sellers (http://www.oldhousediaries.com/)
Project description Online system, which allows to fill, and search for
any information about old houses using Google GeoLocation API and discuss story and state of houses.
Technical stuff C# 4, ASP.NET MVC 3, Nhibernate 3, Ninject,
jQuery, Knockout, Underscore, HTML/CSS, S#arp lite framework
Responsibilities implementation of full development cycle, team
management, developing architecture of application using sqrs framework.
Project Documents collaboration tool(web)
Project description Online repository that stores documents and their
version histories. Allow users to work with different parts of the document, see its different versions and send notifications to users according to their roles in the system.
Technical stuff C# 4, ASP.NET MVC 3, MS SQL 2008, WCF,
Ninject, jQuery, HTML/CSS
Responsibilities implementing of WCF service and part of UI
pages.
Project System for control payments for medical insurances
Project description Web application, which imports data about insurances from
different sources, analyze this data and provide reports to medical organizations
Technical stuff C# 4, ASP.NET MVC 3, MS SQL 2008, WCF,
Ninject, jQuery, HTML/CSS
Responsibilities develop architecture of system, manage development
PERSONAL SKILLS
Attention to detail, tactful and articulate, problem solving, team leader, planning strategically, able to identify critical issues, excellent organizational skills.
PERSONAL QUALITIES
Have a flexible approach to problem solving. Highly motivated and organized.
Able to understand quickly and explain technical data to non technical colleagues. Have good technical and analytic skills.
Ability to ensured projects run to schedule.
Ability in training and mentoring junior and new staff. Quick learning.
ACADEMIC QUALIFICATIONS
2006 – 2009 Ukrainian National Airspace University Software development
Master of computer science
2002 – 2006 Ukrainian National Airspace University CAD/CAM/CAE development
Bachelor of computer science PERSONAL
Languages: English, Russian, Ukrainian Nationality: Ukrainian