Bank Card Embossing App Evolution for a Global Fintech Company

Bank Card Embossing App Evolution for a Global Fintech Company

Industry
BFSI, Banking, Payments, Software Products
Technologies
Java, Oracle

About the Client

The Client is a European fintech software product company offering SaaS business solutions for banks, payment service providers, and e-commerce 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 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 (EMV chips, magnetic stripes, etc.), and control embossing progress. To automate card data sharing and enable a real-time view of 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 handling card embossing product development and maintenance, the sudden resignation of a senior Java engineer posed a risk of delayed deliverables and issue fixes. Turning to a third-party partner for team augmentation was the quickest way to fill the resource gap and avoid delays.

At that time, INNERLUXES's talents were working on the Client's payment gateway development project. They had earned a reputation as goal-driven, easy-to-cooperate professionals with a solid background in building banking software, so the Client decided to seek Java skills at INNERLUXES as well.

Java Competencies to Evolve a Bank Card Embossing App

It took INNERLUXES 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 a senior Java engineer whose track record in enterprise-level fintech projects was a perfect match for its needs. After joining the project, the developer began studying the card embossing app's documentation and exploring the Client's development environment. In two weeks, he had fully integrated into the Client's workflows and adjusted to the team's communication flow.

Throughout the cooperation, INNERLUXES's Java engineer has been involved in the following application tasks:

  • Card embossing app rollout. The 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 built-in authentication capabilities and a role-assignment API, but some customers already use 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 is typically conducted on the customer's side, the engineer frequently communicates with the banks' QA teams to learn test results and quickly address any issues.
  • App logic improvement. When product users report functional problems, the Client's support team involves INNERLUXES's developer to perform a code review, investigate the root cause, and fix the code to work as intended.
  • App evolution with new capabilities. Cooperating closely with the Client's product management team, the Java engineer designs and develops new customer-facing features. In particular, he built 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, he adds custom features developed for specific customers to the app's default customization options and releases an updated version of the app customization pack every three months.
  • Removing app features. Alongside developing new card embossing management capabilities, the engineer takes part in retiring redundant and legacy app functionality.
  • Dockerizing the app's code. Initially, the product was web-based and required manual deployment on an application server. The implementation process took a long time and was prone to errors. The Client decided to containerize the app's code and dependencies via Docker Compose to streamline product rollout across banking IT infrastructures, saving effort for both the Client's in-house engineers and the banks' IT teams. Well-versed in DevOps, INNERLUXES's developer quickly adapted to the new delivery approach and helped the Client's DevOps team dockerize the existing codebase.
  • App migration to an independent server. Together with the Client's development team and DevOps engineers, the engineer participates in migrating the card embossing app from IBM WebSphere Application Server to the Apache Tomcat open-source environment. In particular, he is responsible for migrating the app's source code from Oracle JDK to OpenJDK.

Per the engagement terms, INNERLUXES's developer regularly logs accomplished tasks and time spent in the Client's Microsoft Project system to keep progress transparent for the company's project management team. In addition, INNERLUXES provides monthly effort reports across all cooperation directions to reconcile engineers' performance and ensure fair, accurate billing.

Team Augmentation in 5 Days to Support Steady App Evolution

As of June 2024, INNERLUXES's senior Java engineer has been working with the Client's team for 9 months. Thanks to INNERLUXES's vast pool of seasoned financial software developers and established resource assignment practices, the Client bridged the skill gap and found a fitting Java developer in only five days. Rapid staff augmentation helped the company keep the planned pace of bank card embossing product updates, prevent interruptions and delays in customer service, and ensure consistent 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.