Roman Roshchin
Senior Java Software Engineer
Team Lead, Software Architect
Burnaby, BC, Canada
Phone:-
Email:-Website: https://romros.xyz
LinkedIn: https://www.linkedin.com/in/romros
Summary
Thorough knowledge of Back-End development using Java and JavaScript/Node.js technologies. More than 10 years of expertise in the Information Technologies industry including software development, software/solution design, software architecture, software estimation and team leading. Actively participated in more than 15 successful projects: from hackathons and mid-size startups to worldwide enterprise solutions.
Skills and Experience
Primary programming language: Java
Secondary programming language: JavaScript
Team Leadership, Software Architecture, Agile Methodologies (SCRUM, Canban)
Technologies, libraries and frameworks:
Spring Framework (Spring Boot, IoC, MVC, Data, Security, etc.)
RESTful, SOA, Microservices, AWS, Docker
Maven, Gradle, JUnit, TestNG, Easymock, Mockito, JMH, JFR, JMeter
JDBC, JPA, Hibernate, Hazelcast, Apache Camel, RabbitMQ
Node.js, Express.js, HTML, CSS, jQuery
SQL, MySQL, PostgreSQL, MongoDB
Professional Experience
Northland Properties, (https://northland.ca)Apr-2019 – Present
Senior Software Engineer / Software Architect
Joined the team at a very critical moment of time when previous vendor has abandoned any support for a complex hotel management system, stabilized the project in the first six months, and developed a set of new features as well as technological upgrades of the existing system in next six months. Created design and architecture for new system components and their interactions with the existing project. Introduced code quality standards to the project and trained the team to follow them, actively participated in code reviews and team collaborations. Made performance review of existing web services and improved overall performance (x10 faster) and stability. Upgraded project components to recent versions of dependencies including JDK. Covered the existing modules with tests, drastically increasing test coverage and stability of the system.
Project: Hotel Management System that includes Hotel Chain Website, Booking Engine, CMS, Admin Portal, 3pty services integration components (Booking.com, Expedia, Maestro, Oracle OPERA, etc.)
Technologies: Java, Spring, Hibernate, REST, SOAP, MySQL, Liquibase, JUnit, Mockito, Docker, JMeter, AWS
DataArt Solutions, Inc., (www.dataart.com)Apr-2012 – Mar-2019
Senior Software Engineer / Team Lead
Participated in 15+ projects from hackathons and mid-size startups to worldwide enterprise solutions.
Conducted technical interviews for engineers of all levels.
Took part in pre-sales activities: choosing technology stack for a project and making estimates according to client’s needs.
Project: Social Network for Charity
Joined an ongoing project as a replacement position for another developer at the middle of the project’s database migration phase. Quickly obtained necessary knowledge, then updated and improved migration scenario, scripts and back-end services. Successfully migrated data to new storage in a short window (4 hours), analyzed and fixed data inconsistency issues. Made performance testing and comparison with the previous version, improved 70% of existing database queries. Stabilized the application, which allowed implementing a set of new features, resulting in releasing a new version of the product and attracting 3 times more users. Added Jenkins pipelines for automated CI and CD, which allowed decreasing the deployment time from 30 minutes to 2 minutes.
Technologies: Node.js, MariaDB (MySQL), Cassandra, Docker, Jenkins, AWS
Project: Payment System on Blockchain
As a tech lead of a small team (5 people), designed and implemented a secure mechanism for money transfers within a personal financial management system. Fast initial version of architecture allowed delivering the PoC version of the product to the market. Later, improved the PoC version and created several stable releases of the product. Improved architecture allowed to extend the system with new featured like custom POS terminal API and money distribution by the UK Government.
Technologies: Java8, Spring, Spring Boot, PostgreSQL, Ethereum (Blockchain), web3.js, Solidity, Node.js, AWS
Project Open Source Excel-Like Calculation Engine Library
Developed a java library for excel spreadsheet calculations based on a custom fork on the Apache POI project. Implemented features like Execution and Dependency graph for Cell or Workbook evaluation, Custom Functions with pluggable Data Sources (SQL, OData, Files, etc.). Worked on POI performance optimizations, making it to work faster. Configured and maintained sources and binaries to be publicly available as an open source project. Mentored a junior java developer.
Repository: https://github.com/DataArt/CalculationEngine
Binaries: https://mvnrepository.com/artifact/com.dataart
Technologies: Java8, Apache POI (fork), jGraphT, JUnit, Excel, JMH, JFR
Project: Analytical Reporting Enterprise System
As a developer in a team of 20 people, participated in development of a system that provides a mechanism to perform analytical market assessments, market data delivery and distribution across subscribers around the world. Implemented features like market data management subsystem (prices, news, headlines, reports and other analytical data). Worked on the distribution part of the component, resulting in the system’s ability to be deployed across many geographical locations and guarantee full data integrity.
Technologies: Java, Hibernate, Spring, Spring MVC, Rhino, JavaScript, jQuery, Backbone, HTML, CSS, Liquibase, Go CI, Maven, Oracle DB, WebLogic, JUnit, REST
Tecom Group, Inc., (www.tecomgroup.com)Aug-2008 – Apr-2012
Software Developer
Project: NetBoss XT Network Monitoring System
In a team of 20 people designed and developed several applications called ‘Management Agents’ that are used as plugins to NetBoss XT network monitoring system. Worked closely with open source and proprietary API and protocols of physical devices from Nokia-Siemens, Motorola, Cisco, Alcatel, etc. Increased stability of more than 20 different Management Agents. Designed custom framework for TCP-based Management Agents and implemented its Telnet and SSH versions.
Technologies: Java, Spring Framework, Hibernate
Education:
Master’s degree, Applied Computer Science in Economics, Nizhniy Novgorod State University,-