Profile Image

Roman Roshchin

Software Engineer

HIGHLIGHTS

  • • Experienced and knowledgeable Senior Software Engineer with a proven track record of leading software development teams and delivering high-quality solutions.
  • • Possessing over 13 years of expertise in the Information Technology industry, with a focus on software/solution design, architecture, estimation, and team leadership. Skilled in Java and other cutting-edge technologies.
  • • Successfully participated in and led 15+ projects, ranging from hackathons and mid-sized startups to enterprise-level solutions.
  • • Passionate about driving team growth and developing professionally to deliver exceptional results.

Contact

Phone Number
+1 236 996 8936

What I do

Software
Development
Team
Leading
Software
Architecture

Programming
Languages

Java
Primary
JavaScript
Secondary

My Expertise

Different Projects

As of today, I have participated in more than 15 different projects. I started my career in telecom practice. Then I worked mostly in financial practice. Later I took part in projects from travel and media practice.

I was involved in all stages of these projects starting from presales activities and initial architecture to technical support after production version is released. This gave me a good vision of a typical project life-cycle and understanding of what should be done in order to deliver a successful product.

Java Stack

I started to learn Java at university, then continued to gather experience in a real project. Since then, I have been using Java as my primary language, constantly learning new frameworks, libraries and approaches. Recent JDK releases gave the platform a new start, so I always try to be informed about what is new and how to use new things in my projects.

As for now I completed more than 15 Projects using Java technology with a variety of tools and libraries.

Node.Js Stack

Since I was familiar with JavaScript language, Node.js (as JavaScript on server side) looked as a good opportunity to try. Using back-end development principles I successfully completed several projects with Node.js stack. For all projects I used the latest version of Node.js as well as Express.js framework.

Since writing server side code on JavaScript could be sometimes tricky, I try to stick with common patterns like Promises, async.js, async/await, classes, generators and so on.

Software Architecture

In recent years I have started to participate in software architecture phases of projects more often. Experience and skills that I have now allow me to have a clear understanding of functional and non-functional requirements of a future product and create the best possible solution.

This area is new for me and there are still many things that needs to be learned and structurized, I am keen to learn more about Software Architecture use my knowledge in practice.

Technologies
Frameworks
Libraries
Tools

PRIMARY FOCUS

Java
20+ Projects
Back-End (SOAP, RESTful, Microservices, etc.)
20+ Projects
Spring (Boot, IoC, MVC, Data, Security, etc.)
10+ Projects
Node.js
5+ Projects

ALSO USED

Maven, Gradle, Ant, Docker, AWS
JUnit, TestNG, Easymock, Mockito, JMH, JFR
JDBC, JPA, Hibernate, Servlets, JSP
MLlib, Apache Spark, Apache Camel, Hazelcast, RabbitMQ
MongoDB, Cassandra, PostgreSQL, Oracle DB, MySQL, MariaDB
Blockchain (Ethereum, Solidity, web3.js, web3j)
JavaScript, HTML, CSS, jQuery

Work Experience

DEC 2021 - PRESENT

Software Engineer

Amazon

amazon.com
MAY 2020 - NOV 2021

Senior Software Developer

Mobile Integration Workgroup

miwtech.com
MAR 2019 - MAR 2020

Senior Software Developer / Software Architect

Northland Properties

northland.ca
APR 2012 - MAR 2019

Senior Software Developer / Team Lead

DataArt Solutions

dataart.com
AUG 2008 - APR 2012

Software Developer

Tecom Group

tecomgroup.com

Education

2006 - 2011

Master's degree, Applied Computer Science in Economics

Nizhniy Novgorod State University (eng.unn.ru)

Russia, Nizhniy Novgorod

Completed Projects

Project
Amazon Vendor Experience: Cost Change
Project
Amazon Vendor Experience: Cost Drivers
Project
MCellblock Test Framework
May-2020 – Nov-2021 (18 Months)
Description: Joined a team of SDETs with a vision ... →
Description: Joined a team of SDETs with a vision to bring a more structural approach to software development, organize development practices, apply programming best practices, improve scalability and code maintainability based on 10+ years of experience. Started from code organization, introduced modularity, shared functionality, successfully applied these practices. Continued with writing a subsystem that checks and brings a set of devices to the desired state before running a series of tests on them, made the subsystem scalable, so it could be applied to any device models in any environment. Replaced a static-timer-wait approach in multi-device tests (e.g. calling, group calling, etc.) with an event-based approach, significantly improving tests reliability and performance. Participated in creating internal “Standards and Conventions” that should be applied to automated tests. Have been doing continuous refactoring and improving code readability, hands-on code reviews and mentoring less experienced developers, teaching SDETs java programming best practices. Participated in the software design of new project features and PoC subprojects
Technologies: Java, TestNG, Appium, Spring, REST, JUnit, JMS, Android, ADB, WebSockets, Jenkins
Position: Senior Software Engineer
Roles: Senior Java Developer, Mentor
Hide ↑
Project
Hotel Chain Management System
Apr-2019 – Apr-2020 (1 Year)
Description: Joined the team at a very critical moment ... →
Description: Joined the team at a very critical moment of time when previous vendor has abandoned any support for a complex hotel managements system, stabilized the project in first six months, and developed a set of new features as well as technological upgrades of the existing system in next six months. For the project, that is a set of systems: Hotel Chain Website, Booking Engine, CMS, Admin Portal, 3pty services integration components (Booking.com, Expedia, Maestro, Oracle OPERA, etc.)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.
Technologies: Java, Spring, Hibernate, REST, SOAP, MySQL, Liquibase, JUnit, Mockito, Docker, JMeter
Position: Senior Java Developer
Roles: Senior Developer, Software Architect
Hide ↑
Project
Social Network for Charity
Aug-2018 – Feb-2019 (7 Months)
Description: Joined a project as a replacement position ... →
Description: Joined a project as a replacement position for another developer at the middle of the preparation for a database migration process. Quickly obtained required knowledge, updated and improved database (Cassandra to MariaDB) migration scenario, scripts and back-end services. Successfully migrated data to new storage in short window of 4 hours, analyzed and fixed data inconsistency issues. Made performance testing of old version of the system and compared it to the new values, also improved 70% of existing database queries, though improving user experience. After stabilization phase, implemented a set of new features, which allowed releasing new version of the product and attracting 3 times more users. Created project documentation. Added Jenkins pipelines for test and production deploy, which allowed to decrease deploy time from 30 minutes to 2 minutes.
Technologies: Node.js, MariaDB, Cassandra, Docker, Jenkins
Position: Senior Developer
Roles: Senior Developer
Hide ↑
Project
Set of Microservices for Medical Data Validation
May-2018 – Jul-2018 (3 Months)
Description: As a lead developer participated in... →
Description: As a lead developer participated in a set of meetings with a client to gather requirements and propose design and architecture for a set of microservices for integration with the client’s production environment. Investigated existing processes in Camunda BPM and proposed a way for integration with new microservices. After the design phase, in a team of four people, successfully developed and integrated four major components for authentication, validation, registration and further data processing. As part of the pilot part of the project demonstrated the ability to deliver high quality products in managed time, including proper sprint activities, ticket-tracking system, code reviews, unified code style, build procedures, continuous deployment, etc.
Technologies: Java and libraries, Spring, Docker, AWS Fargate, RabbitMQ
Position: Lead Developer
Roles: Solution Architect, Team Lead, Senior Developer
Hide ↑
Project
Interactive Social Media Platform for Sports Video Sharing
Jan-2018 – Mar-2018 (3 Months)
Description: In a group of 10 people, successfully... →
Description: In a group of 10 people, successfully participated in a Solution Design phase of a potential project. As a Software Solution Architect, designed an architecture and a complete development plan for a new social media platform. Actively participated in a requirements gathering phase with business owners, took part in functional specifications creation, and investigated possible solutions for given functional specifications. Presented technical documents to the client on meetings and technical sessions. Additionally, created a what-if cost calculator for a proposed solution. Technology stack of the proposed solution is Java (with frameworks like Spring and tools like FFmpeg) and AWS services (ECS, S3, RDS, ELB, Elastic Transcoder, SQS, etc.). The primary format of content is HLS.
Technologies: Java stack, AWS stack, HLS
Position: Architect
Roles: Solution Architect, Functional Analyst
Hide ↑
Project
PoC: YouTubeXML to DDEX Migration Service
Nov-2017 – Jan-2018 (3 Months)
Description: As a senior developer, designed... →
Description: As a senior developer, designed and developed a standalone service for file conversions from proprietary YouTubeXml format to standard DDEX format. Implemented the service’s ability to be plugged in to an existing environment with low effort. Developed RESTful API and basic UI for uploading YTXML files (as file or text) and downloading a ready-to-use DDEX version. Additionally, implemented a basic authentication mechanism for a restricted set of users. Finally, integrated the solution with Apache Camel framework so that the service is able to work with ftp/sftp/local directories as data sources of YTXML files.
Technologies: Java8, Spring, Apache Camel, JUnit, Swagger
Position: Senior Developer
Roles: Solution Architect, Java Developer
Hide ↑
Project
GreenChain, a hackathon project at 'Hack the Valley 2017'
Jan-2017 – Jan-2017 (2 Days)
Description: As a primary back-end developer... →
Description: As a primary back-end developer in a team of four people, participated in creation of a hackathon project. The project represents an intersection of IoT and Blockchain technologies. The idea of the project is to create an application that is able to collect information about “green energy” produced by private houses (e.g. wind turbines or solar panels). As a primary back-end developer, created architecture of the solution. During 48 hours of coding, developed the product and presented it to the jury of the hackathon. Used Node.js technology with Ethereum as Blockchain and Solidity as a language for smart contracts. Additionally, integrated the application with AWS IoT service to support different kinds of “green-energy” devices. Implemented features like the ability to add new equipment to running system and connect it to the public Blockchain network. Also implemented a feature for users of the system to convert “green-energy” into internal Blockchain currency, which can later be used to buy goods from organic product suppliers.
Technologies: JavaScript, Node.js, AWS IoT, Ethereum, Solidity, REST, jQuery, BlockOne ID
Position: Developer / Architect
Roles: Architect, Node.js Developer
Hide ↑
Project
Blockchain Financial System for Government Organization
Feb-2016 – Nov-2017 (1 Year and 9 Months)
Description: As a tech lead of a small team... →
Description: As a tech lead of a small team of developers, designed and implemented a secure mechanism for money transfers and personal finance management system for a UK government organization. Created an initial version of architecture for fast delivery of the PoC version of a product to the market. Working with a team, developed a set of back-end services and UI that allow the government organization to transfer funds to recipients. Integrated the platform with banking APIs (ISO 20022).
As a lead developer, continued to improve the PoC version and create stable releases of the platform, so it went to production state. Improved the existing architecture of the platform. Developed many new features: the ability to manage money via mobile application, buy goods of a particular category in authorized stores via a custom POS terminal API, and transfer money to other users within the application.
Technologies: Java8, Spring, Spring Boot, PostgreSQL, Ethereum, web3.js, Solidity, Node.js
Position: Team Lead / Senior Developer / Architect
Roles: Architect, Java Developer, Node.js Developer, Team Lead, DevOps, Functional Analyst
Hide ↑
Project
PoC: Machine Learning System for Sales Prediction
Aug-2016 – Aug-2016 (2 Weeks)
Description: As a functional analyst... →
Description: As a functional analyst and a senior developer, collaborated with a client to gather the list of functional requirements for a PoC product. Investigated the possible machine learning solutions and algorithms in order to use them to create and application. Implemented a system for sales prediction based on huge number of internal and external factors. With help of Apache Spark framework and MLlib library (Machine Learning) developed the PoC service that supports various types of Classification and Regression algorithms as well as different “what-if” scenarios to predict and classify different business counters.
Technologies: Java8, Spring Boot, Apache Spark, MLlib, Machine Learning, REST
Position: Senior Developer / Data Engineer
Roles: Java Developer, Data Engineer
Hide ↑
Project
Open Source Excel-Like Calculation Engine Library
Jun-2015 – Feb-2016 (9 Months)
Description: As a senior developer... →
Description: As a senior developer and a mentor for a junior developer, together developed a Java library for Excel-like spreadsheet calculations. Investigated multiple libraries and forked the Apache POI project. As part of the product, implemented additional features like Execution and Dependency graph for Cells or Workbook evaluation, Custom Functions with pluggable Data Sources for data (SQL, OData, Files, etc.). Covered the library with tests, including custom graph tests. Made several performance optimizations, so on some operations spreadsheets show better time than original Apache POI library. Configured and maintained sources and binaries to be publicly available as open source project.
Repository: https://github.com/DataArt/CalculationEngine
Binaries: https://mvnrepository.com/artifact/com.dataart
Technologies: Java8, Apache POI (fork), jGraphT, JUnit, Excel, JMH, JFR
Position: Tech Lead/Senior Developer
Roles: Java Developer, Tech Lead, DevOps
Hide ↑
Project
SaaS RFP Evaluation Platform
Apr-2015 – Jun-2015 (3 Months)
Description: As a developer in a team... →
Description: As a developer in a team of 10 people, participated in development phase of a SaaS platform for RFP Evaluations. Developed back-end features like flow for managing ‘questions’ and ‘projects’ entities, assigning them to potential vendors for future surveys. Implemented a custom algorithm for scoring Q&A of RFP Evaluation project as well as module for project’s with graphical representation.
Technologies: Java8, Spring, Spring Security, PostgreSQL, Apache POI, REST
Position: Developer
Roles: Java Developer
Hide ↑
Project
Market Data Aggregator Module for Trading Platform
Jan-2015 – Apr-2015 (4 Months)
Description: As the only developer... →
Description: As the only developer, designed and implemented a Java plugin for an existing trading platform. Created client-server architecture based on Akka-remote for the plugin that listens to any market information from the trading platform and transfers this information to Excel files for future analysis. Integrated the plugin with the DDE technology to deliver data in ‘real-time’ mode to any running Excel application. Additionally, implemented support for source market data filtering and configured the production system in a distributed network with multiple Excel client applications.
Technologies: Java, Akka, DDE, Excel VBA
Position: Developer
Roles: Java Developer, Technical Writer
Hide ↑
Project
Analytical Reporting Enterprise System
Sep-2013 – Jan-2015 (1 Year and 4 Months)
Description: As a developer in a team... →
Description: As a developer in a team of 20 people, participated in development of a system that provides 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). Was highly involved in implementation of the system’s ability to be distributed across many geographical locations and guarantee full data integrity.
Technologies: Java, Hibernate, Spring, Spring MVC, Rhino, JavaScript, jQuery, Backbone, Liquibase, Go CI, Maven, Oracle DB, WebLogic, MarkLogic, REST
Position: Developer
Roles: Back-End Developer, Front-End Developer
Hide ↑
Project
DeviceHive Java Module
Aug-2013 – Sep-2013 (2 Months)
Description: As a developer in a team... →
Description: As a developer in a team of five people, participated in development of a Java module of Machine-to-Machine (M2M) Communication Framework. Implemented async requests feature, configured and tested distributed version of the module in collaboration with different modules.
Repository: https://github.com/devicehive/devicehive-java
Website: http://devicehive.com
Technologies: Java, J2EE, GlassFish, Hazelcast, PostgreSQL, WebSockets
Position: Developer
Roles: Back-End Developer
Hide ↑
Project
jQuery Plugin for Landmark Plans
Jun-2013 – Aug-2013 (3 Months)
Description: As a back-end developer with... →
Description: As a back-end developer with some front-end experience, joined a team of front-end developers to create an HTML5 pluggable module for drawing landmark and building plans. Implemented and tested different UI features like chart navigation, zoom, drag-n-drop, etc.
Technologies: HTML5, SVG, JavaScript, CSS3, jQuery, RaphaelJs
Position: Developer
Roles: Front-End Developer
Hide ↑
Project
Social Photo-Sharing Portal
Mar-2013 – Jun-2013 (3 Months)
Description: As a developer with... →
Description: As a developer with some free time, started a new pet project that is later was integrated with other internal services inside a company. Created an idea of social-network project with the ability to share pictures of personal workplaces with others and add spots with additional information. Implemented the idea as well as other features like POI – points of interest on a picture with rich text, comments and like actions. Additionally, implemented features like the ability to search and filter, and view a newsfeed.
Technologies: Java, MongoDB, Servlets, JSP, Maven, CSS3, HTML5, JavaScript, jQuery
Position: Project Lead
Roles: Developer, Architect
Hide ↑
Project
Java-Based Siebel CRM Framework
Dec-2012 – Feb-2013 (4 Months)
Description: In a small team, participated... →
Description: In a small team, participated in development and maintenance of a Java library for integration with Siebel CRM. Developed different features that allow users to interact with convenient API and support quick process of development custom Java applications based on Oracle Siebel CRM. Proposed and implemented multiple performance improvements of the library.
Technologies: Java, Oracle Siebel CRM, Spring, TestNG, Easymock, JMeter, Jenkins, Ant, Cobertura, XStream, XPath
Position: Developer
Roles: Java Developer
Hide ↑
Project
Back-End Service Layer and UI for Online Shop
Apr-2012 – Dec-2012 (9 Months)
Description: As a Full-Stack developer... →
Description: As a Full-Stack developer, implemented many features of an online shop for an Internet provider company. Participated in creation of architecture that uses a layer of SOAP services on top of Oracle Siebel CRM system. Developed API for features like billing, telecommunication services support provision, service provision ordering, etc.
Technologies: Java, jBoss SEAM, Apache CXF, Siebel CRM, Spring, TestNG, Easymock, SoapUI, Apache Tomcat, WebLogic, Maven, Jenkins, JSF, Facelets, Rich Faces
Position: Developer
Roles: Back-End Developer, Front-End Developer
Hide ↑
Project
NetBoss XT Network Monitoring System
Aug-2008 – Apr-2012 (3 Years and 9 Months)
Description: Started as an intern... →
Description: Started as an intern (and later became a developer), joined a team of 30 people to develop common functionality of a network-monitoring platform and additional services. Designed and developed many Management Agent products, which are plugins to the core system and used to monitor hardware/software devices across the network. Investigated open source and proprietary API and protocols from vendors like Nokia-Siemens, Motorola, Cisco, Alcatel and so on. In total developed more than 10 different Management Agents. Fixed bugs in more than 30 existing Management Agents. Participated in development of custom framework for TCP-based Management Agents, implemented its Telnet and SSH versions.
Technologies: Java, Spring, Hibernate, Proprietary Protocols and Libraries
Position: Developer
Roles: Back-End Developer
Hide ↑

Download CV