Senior software developer with 8+ years of experience in software programming. Strong knowledge of Node.js, Angular.js, Vue.js, also familiar with React.js. Has good communication skills, goal-oriented, perfect team-player. Proficient working as a team lead on multiple projects.
Technical Skills
Programming languages: JavaScript, TypeScript
Tools and frameworks: Node.js, Angular.js, Vue.js
Databases: MySQL, PostgreSQL, MongoDB, CouchDB, Pouch DB
Additional technologies: HTML, CSS, jQuery
Operating systems: Linux, Windows, MacOS
Education
Sep 2005 – May 2010
Zaporizhzhya National Technical University – Computer System and Networks
Languages
English – Fluent
Russian – Native
Ukrainian – Native
Experience
Software developer Jan 2018 – Sep 2020 Educational Social Network
The product is a closed community for those who build their business in education. The educational social network is intended for the communication of various users and promotion of information about educational companies. The network gives users an opportunity to publish and share various content.
The customer earned seed capital on the sale of the previous startup project and decided to use this capital to implement his new idea. Initially, he personally engaged in the development of the project. But very soon he felt the lack of time on all his business. The founder couldn’t be involved in all directions simultaneously. It was necessary to attract a highly qualified developer for further effective development of the project. So, he could take over the technical implementation of the application. So that’s why he invited us to this project.
Responsibilities:
● refinement of the project architecture
● AWS (S3, EC2, CloudWatch, Elastic Load Balancer) integration
● writing code and implementing new functionality
● development of a scheme for the introduction of new modules
● making technical decisions
Technologies used:Vue.js 2, Node.js, Mongodb, Algolia
Senior Software Developer Aug 2016 — Jan 2018 Business Intelligence Solution
The project was originally intended as a search engine (a-la Algolia), and later evolved into BI tool which supports ETL-like flow: registering (or uploading) arbitrary data source (including SQL and noSQL DBs, CSV, XML, XLS, JSON etc), extracting data from it, then transforming data by applying functions (transform columns, aggregate and sort data, drill down etc) and finally downloading results in arbitrary format or sharing results in form of embedded widgets.
We have implemented scalable solution which currently supports:
● uploading files/registering remote data sources
● defining data source format (incorporates lots of heuristic approaches)
● analyzing data sources (facet filtering, customizable full text search, sorting,
applying aggregation functions, creating pivot table, drill down etc)
● sharing results as embeddable widget
● exporting table in CSV/XLS format
Responsibilities:
● Working on the front-end part of the application
● Development of new front-end features
● Communication with product owner and other team members
● Mentoring and code reviewing of new team members on the project.
Tools & Technologies: JavaScript, Node.js, AngularJS, Vue.js, HTML, CSS, MemSQL
Senior Developer Dec 2014 — Aug 2016 Reporting Module for SaaS
The project is SaaS solution for management, and we were handing the reporting module of the application. We have received the following data for the re-implementation, as the then-current system was not able to manage the data and was not meeting client’s expectations.
Input for re-implementation of data-layer:
● SQL query that spans over 2000 lines (with a lot copy-paste)
● Duplication of logic in PHP and SQL
● Duplication of formulas for same metric in different places
● The speed of the current implementation for store analysis report 100 stores
in 25 seconds.
● The development of new reports require programming skills (.NET, PHP,
SQL)
Tasks for re-implementation of data-layer:
● eradication of errors in calculations
● improvement of speed
● improvement of supportability (the development of new reports are time and
resource consuming)
● improvement of further development
● add real-time view of current day statistics
Solution:
● Datalayer migration from pre-calculated values and PHP algorithms to pure SQL on raw facts data
● Easy error correction – pre-calc data will not allow to change algorithms for past periods, however work with raw data – will
● Fast execution time (20 seconds for 1400 stores/week)
● Real-time data ingestion from operational store databases (with 5-10 minutes
lag)
● Refactoring of query into separate views – no more code duplication, all
metrics will be computed with same algorithms
Easy to use report interface
● No more coding (no PHP, no .NET) – only SQL and widget configs
Result:
● No coding required for the development of new reports, the skills in SQL and knowledge of the system will suffice (potentially departure from SQL to MDX (Tableau-like visual constructor of reports)
● Fast report building (1400 stores/week – 23 seconds)
● Accuracy – 100% according to provided info (code snapshot, database
snapshot and URL with report)
Responsibilities:
● Development of the user-facing part of the reports.
● Rendering HTML of 50000 lines of tables.
● Development of the virtualization of the data.
● Development of the cache for quick update of the data.
Tools & Technologies: JavaScript, Node.js, React.js, HTML, CSS, MemSQL, .Net, PHP
Senior Developer Sep 2012 — Dec 2014 Interactive Platform for ADHD Treatment
The project is a cognitive training system created to improve attention, behavior and cognitive function for children and adults suffering from attention-deficit hyperactivity disorder (ADHD). In order to improve the gaming experience and data collecting device’s possibilities, the client needed a new desktop application. That’s where our team came into play.
Business Issues: It was time to replace the previous version with a new application aiming for better interface, user-friendliness, and flexibility for all user levels. Some aspects of the application needed improvement and new functions had to be created from scratch. A new version of the application was aimed not only at individual students, but also at learning groups, so one of the main objectives was ILAP network solutions’ implementation. Enabling application’s network mode was also the hardest part of the job, seeing as difficulties occur with servers situated abroad or with coaches and learners living in different time zones.
Solutions: Our team created the desktop application new version for Windows and Mac’s users providing a user-friendly interface for both learners and coaches. The application aggregates gaming statistics throughout every exercise session to create new session plans. Special algorithms analyze learners’ results and create automatic suggestions for new sessions for coach’s approval.
Desktop application possesses three access layers for admins, coaches and students with separate dashboards and rights. Administrator’s possibilities include changing application’s settings, while every coach can create and alter student’s sessions. Coaches receive PDF or CSV reports on students’ success and can send it to Play Attention’s developers or learner’s parents. Every session is highly customizable and flexible for better user experience.
Responsibilities:
● Direct communication with project manager and product owner.
● Designing of the architecture for the application and deciding the
technological stack.
● Refining the requirements and task distribution.
● Mentoring new members of the team.
● Migration of the project from Python to JavaScript.
Tools & Technologies: Node.js, Angular.js, TypeScript, Loki.js, CSS, HTML
Software Developer May 2010 – Sep 2012 Dating web application
The dating website is a popular and profitable dating website. Being among the most successful dating services in Chile, this website boasts over 60,000 unique users daily. However, lately, the website has been plagued with critical bugs and performance issues that caused customers to leave. Knowing about our previous experience with dating sites, our client turned to us to upgrade the website’s architecture and develop a brand-new mobile application.
Business Issues: The initial website development utilized PHP stack which reached the limit of its capacity. Our challenge was to redesign the flawed architecture using the new stack that would be able to support the increased load without critical failures.
Our client’s needs including:
● Increased load support of 150,000+ users daily
● Relocation to the new servers with maximum uptime
● New project’s seamless launch so the users do not feel the difference
Automated email newsletter generation
● Additional features for website users
● Cross platform mobile application development
Solutions: In order to improve website’s load capacity, we redesigned the architecture, substituting PHP stack with MEAN stack (MongoDB, Express.js, AngularJS, and Node.js). Utilizing the existing front-end design our developers created the back- end anew with Node.js.
While updating the website’s architecture, our team implemented additional features, i.e. instant messaging, calendar, photo upload. The most important among the newly implemented features was a possibility to screen millions of users according to their profile data and previous preferences. Chile specific payment systems were incorporated into the website’s functionality, and the API interface was created. Another useful feature allowed the website’s owner to automatically generate email newsletters using several filters.
The cross platform mobile application for both Android and iOS users was developed from the ground up. Mobile notifications were incorporated into the existing customer notification system.
Responsibilities:
● Developing code base from scratch
● Designing and configuring server infrastructure
● Load testing of project infrastructure
● Direct communication with product owner and other team members
Tools & Technologies: Node.js, Angular.js, TypeScript, Loki.js, CSS, HTML, MongoDB, JAVA, Bootstrap