Bank Card Embossing App Evolution for a Global Fintech Company
About Our Client
The Client is a European fintech software product company offering SaaS business solutions for banks, payment service providers, and ecommerce merchants. The company’s portfolio spans 40+ customizable products used by more than 350 organizations in 120 countries.
Specialized Bank App Development Skills Needed Urgently
One of the Client’s banking software products is a card embossing app that is used to manage the card issuance process. The app provides intuitive interfaces for bank employees to enter card details, personalize card design, plan ID elements (EVM chips, magnet stripes, etc.), and control embossing progress. To automate card data sharing and enable real-time view into embossing status, the app requires integration with banks’ databases and card embossing machines. The Client provides managed product customization and support services to adapt the card embossing app to each bank’s embossing software-hardware system.
While the Client had an in-house team for handling card embossing product development and maintenance tasks, a sudden resignation of a senior Java engineer posed the risk of delayed deliverables and issue fixes. Turning to a third-party vendor for team augmentation was the quickest way to fill the resource gap and avoid delays.
At that time, ScienceSoft’s talents were working on the Client’s payment gateway development project. They earned the reputation of goal-driven, easy-to-cooperate professionals with a solid background in building banking software, so the Client also decided to seek Java skills at ScienceSoft.
Java Competencies to Evolve a Bank Card Embossing App
It took ScienceSoft only one day to pick the best-qualified Java development candidates and provide the Client with a tailored pack of CVs. After interviewing the pre-selected talents, the Client approved our senior Java engineer, whose track record in enterprise-level fintech projects appeared to be a perfect match for its needs. After joining the project, ScienceSoft’s developer began studying the card embossing app’s documentation and exploring the Client’s development environment. In two weeks, he fully integrated into the Client’s workflows and adjusted to the team’s communication flow.
Throughout the cooperation, ScienceSoft’s Java engineer has been involved in the following application tasks:
- Card embossing app rollout. Our developer helps the Client’s banking customers deploy the solution on their cloud and on-premises servers and integrate it with the required systems. When needed, he customizes the app to introduce additional card pre-production features and integration capabilities requested by a bank. For example, the app comes with in-built authentication capabilities and a role assignment API, but some customers already employ Azure Active Directory for these purposes. So, a common scenario is designing and implementing custom app integrations with the customers’ Active Directory environments. Since testing procedures are typically conducted on a customer’s side, our expert frequently communicates with the banks’ QA teams to learn the test results and quickly address the revealed issues.
- App logic improvement. When product users report functional problems, the Client’s support team involves ScienceSoft’s developer to perform code review, investigate the reason behind the issue, and fix the code to work as intended.
- App evolution with new capabilities. Cooperating closely with the Client’s product management team, our Java engineer designs and develops new customer-facing features. Particularly, he built the functionality for card data auto-population and card envelope personalization, as well as quick menu functionality to simplify app navigation. Following the company’s product evolution strategy, our engineer adds custom features developed for specific customers to the app’s default customization options and releases the updated version of the app customization pack every three months.
- Removing the app’s features. Alongside developing new card embossing management capabilities, our talent takes part in dismissing redundant and legacy app functionality.
- Dockerizing the app’s code. Initially, the Client’s product was web-based and required manual deployment on an application server. The implementation process took much time and was prone to errors. Eventually, the Client decided to containerize the app’s code and its dependencies via Docker compose. This would streamline product rollout across banking IT infrastructures, saving efforts for both the Client’s in-house engineers and the banks’ IT teams. Well-versed in DevOps, ScienceSoft’s developer quickly adapted to the new delivery approach and helped the Client’s DevOps team dockerize the existing solution codebase.
- App migration to an independent server. Together with the Client’s development team and DevOps engineers, our expert participates in migrating the card embossing app from IBM WebSphere Application Server to the Apache Tomkat open-source environment. Particularly, ScienceSoft’s Java talent is responsible for migrating the app’s source code from Oracle JDK to OpenJDK.
According to the engagement terms, ScienceSoft’s developer regularly logs the accomplished tasks and time spent in the Client’s Microsoft Project system to make the progress transparent for the company’s project management team. In addition, ScienceSoft provides monthly effort reports across all cooperation directions to reconcile engineers’ performance and ensure fair and accurate billing.
Team Augmentation in 5 Days to Support Steady App Evolution
As of June 2024, ScienceSoft’s senior Java engineer has been working with the Client’s team for 9 months. Thanks to ScienceSoft’s vast pool of seasoned financial software developers and established resource assignment practices, the Client managed to bridge the skill gap and find a fitting Java developer in only five days. Rapid staff augmentation with our talent helped the company keep the planned pace of bank card embossing product updates, prevent interruptions and delays in customer service, and ensure consistently high quality of customized app versions.
Technologies and Tools
Java (8, 11), Oracle JDK, OpenJDK, Spring, Spring Boot, LDAP, Docker, Apache Tomcat, IBM WebSphere Application Server, WildFly, PostgreSQL, Oracle Database.