Veeran Mula

A Passionate Software Developer


Java Developer at CIBC (Canadian Imperial Bank of Commerce)

Contributed significantly to the modernization of legacy code bases, transitioning from Java 8 to Java 11, resulting in a notable performance boost from 850 TPS to 1000 TPS. Implemented gRPC and Spring Reactor for enhanced efficiency.

Focused on optimizing device activation times by adopting a microservices architecture, asynchronous programming, and Redis-based caching. Developed backend REST APIs for a sales dashboard, using Amazon EC2 container services and AWS admin console for Docker container deployment.

Utilized DSE Cassandra to support the reactive application nature, designed and developed microservices with Spring Cloud and Spring Boot. Implemented database operations with Spring Data JPA, employed Spring MVC for a robust web application architecture, and utilized synchronous protocols (HTTP and REST) for Microservices communication.

Established a resilient retry mechanism for database transactions using Oracle and optimized SQL queries for efficient data management. Automated tasks and requests with Python and Shell scripts, documented debugging and exception handling with Log4j, and employed Maven and Jenkins for build and deployment processes.

Ensured data security compliance by implementing robust access controls and logging to meet SOC 2 requirements. Conducted comprehensive unit and integration testing using JUnit and Mockito testing frameworks.

Java/J2EE Developer at The Home Depot

I actively participated in designing and developing a Microservices-based daily sales report generation application. A notable achievement was the reduction of report generation time by 30%, bringing it down from 24 minutes to 17 minutes.

We followed Agile methodologies, specifically the SCRUM iterative incremental model. To handle persistent data, I utilized Spring Data ORM for efficient CRUD operations. For system resilience, I implemented fail-safe and circuit breaker patterns using Hystrix. Additionally, we improved task scheduling through multithreading, contributing significantly to overall system efficiency.

Various tools and frameworks played a crucial role in enhancing the application's functionality. I configured microservices registration with the Eureka server using Spring Ribbon and Netflix Eureka. Elasticsearch was employed for a robust full-text search engine for real-time data retrieval. Docker files were carefully crafted for building and running Docker Images, with Kubernetes managing the orchestration of containerized Java microservices. On the front-end, I led the development using AngularJS, covering controllers, services, and filters, and actively participated in bug fixing.

To enhance project robustness, I incorporated Kafka for real-time data ingestion, log aggregation, and building scalable data processing pipelines. PostgreSQL's complex data types, such as arrays, hstore, and JSON, were used for efficient data modeling. We prioritized rigorous testing, achieving an impressive 90% code coverage with a quality gate pass in SonarQube. Task and issue management were seamlessly handled through the JIRA ticketing system. Real-time monitoring, debugging, and troubleshooting were performed using Splunk. On the database side, PL/SQL, stored procedures, triggers, and queries were effectively leveraged for comprehensive data management and execution. Finally, we successfully managed version control for our large-scale project using Git.

Java Developer at Bajaj Insurance

I successfully developed a web-based chat room application for auctions. Using Node.js and Express, I seamlessly integrated Socket.io to create robust chat rooms for real-time communication among auction participants. The frontend was built using React and Redux, ensuring efficient state management and a scalable, component-based architecture for the real-time dashboard.

For flexible data storage, I adopted MongoDB's document-oriented design, allowing easy manipulation and retrieval of data in JSON-like documents. To enhance performance, I integrated Redis as a caching layer, significantly improving response times and reducing the load on the primary data source for a smoother user experience.

Within the auction platform, I designed and optimized domain-specific microservices, implementing RESTful APIs and utilizing Docker for streamlined deployment. On the backend, the Spring Framework facilitated dependency injection, application Context XML for action classes, and the initialization of managed beans and services. Authentication was streamlined through Single Sign-On (SSO), and Model-View (MV) Frameworks like Bootstrap were used for a user-friendly interface. Designed robust APIs, with well-documented REST/HTTP APIs incorporating JSON data formats and a thoughtful API versioning strategy. Additionally, I successfully created and consumed SOAP Web Services using JAXB annotations. For the persistence layer, I implemented Data Access Objects (DAO) using the DAO pattern, incorporating JDBC and Hibernate for efficient database interaction. This ensured a robust and reliable data access layer throughout the application.