SIREESHA - JAVA DEVELOPER |
[email protected] |
Location: Austin, Texas, USA |
Relocation: YES |
Visa: H1b |
Deepak KM
[email protected] 7378950755 https://www.linkedin.com/in/deepak-k-m/ PROFESSIONAL SUMMARY 10 years of demonstrated work experience in all phases of Software Development Life Cycle (SDLC) like Requirements Analysis, Design, Implementation, Testing, Deployment and Maintenance using popular methodologies like Waterfall and Agile, that consistently delivered high-quality software solutions. Skilled in front-end technologies like HTML5, CSS3, JSP Servlet, JavaScript, jQuery, AJAX and Angular (TypeScript) that helped me build responsive and dynamic web applications and improve overall user interaction and user experience. Strong expertise in back-end technologies with primary focus in Java programming concepts like Object Oriented Programming, Generics, Collections, Multi-threading, Exception Handling, Lambda expressions, Data structures etc. Proficient in several modules of Spring Framework such as Spring Core, Spring MVC, Spring Security, Spring ORM, Spring JDBC, JPA Hibernate, Spring Boot 3, Spring Cloud with hands-on ability to build applications using both legacy and modern approaches. Highly skilled in developing RESTful Web Services, proficiently designing, and implementing robust APIs to facilitate seamless communication and data exchange between applications in JSON/XML format. Proficient in microservices development using Spring Cloud libraries, with hands-on experience in technologies like Spring Cloud Config Server, Resilience4j, Eureka Server, Rest Template, Feign Client, Spring Cloud API Gateway etc., ensuring seamless communication and effective coordination among microservices. Experience in solving software design issues by applying SOLID design principles and Java, J2EE design patterns including Singleton, Factory, Proxy, Front Controller, Dependency Injection, Builder Pattern, DTO, DAO, Observer Patterns. Well-versed with developing event driven microservices using Apache Kafka and RabbitMQ. Adept at writing complex queries, Indexes, Stored procedures, Triggers & Functions in relational databases like MySQL, Db2 and NoSQL databases like MongoDB. Skilled in creating comprehensive API documentation using Swagger/OpenAPI and in leveraging Postman for testing API endpoints resulting in accurate and high-quality software. Experienced in designing and executing test suites for unit testing and integration testing leveraging JUnit 5, Mockito, Cucumber, Jacoco and practicing TDD. Adept at using a wide range of IDEs, web servers, build tools like Eclipse, Spring Tool Suite, Microsoft Visual Studio Code, Tomcat and Maven, proving my remarkable ability to swiftly adapt to varying development environments to develop Java applications. Extensive experience with version control systems like Git like GitHub and Bitbucket, following industry standards like meaningful commit messages, testing before pushing, resolving conflicts during merges etc. Familiar with using CI/CD technologies like Docker, Jenkins to establish CI/CD pipelines and deploying applications on Kubernetes clusters in AWS. Familiar with AWS technologies like AWS EC2, ECR, ECS Fargate, EKS, Ingress, Route 53, AWS RDS, S3, ALB, CodePipeline, Lambda, Serverless, DynamoDB in AWS. Demonstrated expertise in Agile methodologies, including Scrum, through active participation in sprint planning, retrospective, and backlog refinement sessions. Proficient in utilizing project management tools such as Jira, Confluence for backlog refinement and sprint planning, facilitating accurate effort estimates and identifying dependencies. TECHNICAL SKILLS Languages Java 7/8/11 J2EE Servlets, JSP, JDBC, JTA, JSF, EJB, JMS, JNDI, Java EE, JavaMail, WebSocket, JAXB, JAX-RS, JAX-WS Web Technologies Angular JS, Angular 2/4/6/7/8/9, Bootstrap, jQuery, JavaScript, CSS3, TypeScript, JSON, AJAX. Markup Languages HTML, XML, XSLT, XHTML, YAML, JSON, CSV Frameworks Struts, Spring MVC, Spring Boot, Spring Cloud, Microservices. IDEs and Tools Eclipse, Spring Tool Suite, Visual Studio Code, IBM RAD Web Services SOAP, WSDL, REST API, Microservices Web/Application Servers Apache Tomcat, IBM WAS/WebSphere, JBoss, WebLogic Database Oracle, DB2, SQL Server, MySQL, MongoDB, PL/SQL Build Tools Maven, Jenkins, Angular CLI, Node Package Manager Version Control, Repository Git, GitHub, SVN, IBM ClearCase, Bitbucket Operating System Windows, Linux/Unix, Bash Project Management Agile, Waterfall, Jira, Confluence, Swagger/OpenAPI PROFESSIONAL EXPERIENCE Regions Bank, Texas Oct 2023 Till Date Senior Java Full Stack Developer Description: Regions Financial Corporation is an American bank holding company. I played a senior role in the development of a real-time transaction monitoring and analytics software which continuously processes different kinds of transactions, constantly monitoring for suspicious activity or high value transactions using backend java algorithms and is then used for alerting, monitoring and customer support operations. Responsibilities: Led a small team of 4 developers and streamlined the alerting and analytics workflows using Angular 13, Java 17, Apache Kafka and AWS in an Agile methodology. Developed Apache Kafka to efficiently process 100,000+ events daily and created an automated alerting system for high-value/unusual transactions and ELK stack (ElasticSearch, Logstash, Kibana) dashboards for banking staff to analyze transaction trends and take necessary action. Used Spring Boot as back-end framework and developed REST API communicating with each other using JSON/XML exchange formats. Implemented application and method level security using Spring Security and JWT to prevent CSRF, CORS security attacks. Performed unit and integration testing using JUnit5 and Mockito and leveraged actuator to monitor application health metrics. Implemented distributed tracing using Micrometer and Zipkin to trace requests going through several microservices and perform efficient debugging. Utilized Swagger/OpenAPI to generate comprehensive API documentation, facilitating seamless collaboration between frontend and backend development teams. Created dashboards using Angular 13 for customer support staff to view customer details, access transaction history, and receive alerts related to customer accounts, helping them respond efficiently to customer inquiries or issues. Implemented robust form validation techniques and error handling mechanisms using Reactive forms, enhancing data accuracy during issue reporting. Employed RxJS observables and state management techniques to manage complex data flows and integration with back-end REST APIs. Implemented route guards in Angular 13 to control access to specific routes and resolve data before navigating, enhancing security, and ensuring data availability. Developed comprehensive unit tests using Jasmine and Jest within Angular 13, achieving high code coverage. Used Docker for creating Docker images and launched docker containers on AWS ECS Fargate (Elastic Container Service), using AWS ECR as container registry. Established service discovery between microservices using AWS Service Connect and load balanced incoming traffic using AWS application load balancer. Integrated Amazon Route 53 and API Gateway to facilitate efficient routing of incoming HTTP requests, enabling the mapping of custom domain names to API Gateway endpoints. Configured API Gateway with custom domain names and SSL certificates to enable HTTPS access to APIs, ensuring data privacy and compliance with security standards. Performed distributed tracing using AWS App Mesh and X-ray and implemented Prometheus monitoring system to track performance metrics for the microservices hosted on Amazon ECS. Externalized the environment configuration details using AWS parameter store along with encryption. Environment: Angular 13, RxJS Observables, Java 17, OOPS, Apache Kafka, SpringBoot, Linux, AWS ECR, AWS ECS Fargate, Route53, AWS ALB, API Gateway. PRA Health Sciences, NC Feb 2023 Sept 2023 Senior Java Full Stack Developer Description: PRA Health Sciences, Inc. engages in the provision of outsourced clinical development services to the biotechnology and pharmaceutical industries. The Clinical Research segment serves biopharmaceutical clients and offers outsourced clinical research and clinical trial related services. I created event-driven microservices with real-time data streaming feature at PRA Health Sciences is to improve the efficiency and effectiveness of clinical trials through real-time data analysis. Responsibilities: Utilized Spring Boot microservices with asynchronous event handling and Apache Kafka message queues for seamless patient data management. Utilized Kafka Streams API to perform real-time data processing, continuous data transformations and calculations on incoming trial data. Utilized Apache Kafka's partitioning and replication features to distribute workload evenly across multiple instances for efficient resource utilization. Employed ELK stack (ElasticSearch, Logstash, Kibana) for efficient log indexing and searching to extract valuable insights from raw log data. Integrated Prometheus for monitoring system health and performance by instrumenting Spring Boot microservices with custom metrics. Developed Grafana dashboards to visualize clinical trial metrics using data collected from Elasticsearch indices. Designed responsive user interfaces using Angular framework with Angular Material components for a consistent and intuitive user experience. Implemented Angular services and RxJS observables for real-time updates and data synchronization with backend APIs. Employed Angular guards and interceptors for client-side security measures, such as CSRF protection and secure HTTP headers. Conducted regular sprint retrospectives and reviews to gather feedback from stakeholders and improve development processes iteratively. Implemented OAuth2.0 protocol and utilized JWT tokens issued by Keycloak to enforce for secure authentication and authorization across microservices., ensuring data security and compliance. Employed Spring Cloud Gateway as the API gateway and used its built-in features, such as rate limiting, circuit breaking, and request logging, to enhance scalability, resilience, and observability of the system. Implemented Spring Cloud Config Server to centralize and enable dynamic refresh for configuration properties across microservices. Environment: Java 8, Spring Boot, Spring Cloud, Spring Security, OAuth 2.0, Microservices, Angular 13, Swagger/OpenAPI, JUnit5, Prometheus, Grafana, ELK Stack, Spring Cloud Gateway/API Gateway. Principal Financial Group, IA May 2022 Jan 2023 Senior Java Developer/Spark Developer Description: Principal Financial Group is an American global financial investment management and insurance company, which offers financial products and services to businesses, individuals, and institutional clients. It operates its business through following segments: Retirement and Income Solutions, Principal Global Investors, Principal International, U.S. Insurance Solutions and Corporate. I worked on our fraud detection and feedback analysis project using Apache Spark and Java 8 and implemented critical functionality within them. Responsibilities: Leveraged Apache Spark's distributed computing capabilities to process large volumes of transaction data in real-time. Utilized Java 8 for efficient data ingestion from diverse sources, including transaction logs, customer feedback forms, and complaint databases. Utilized lambda expressions to define functional interfaces and implement inline logic for stream processing, enhancing code readability and maintainability. Utilized Java 8 Streams API operations such as map, filter, and reduce to transform and filter data streams, improving processing efficiency and reducing boilerplate code. Leveraged parallel streams in Java 8 to exploit multi-core processors and accelerate data processing tasks by leveraging parallelism. Designed a scalable architecture using Apache Spark's RDDs and DataFrames to handle the ever-growing volume of data. Implemented partitioning and caching strategies to optimize data processing performance, achieving a throughput of 10 million records per minute. Provisioned and configured Spark clusters on Amazon EMR to leverage distributed computing capabilities for large-scale data processing. Implemented Spark Streaming to ingest and stream messages queued on a Kafka cluster, enabling continuous analysis of incoming data. Implement popular Machine Learning algorithms in Spark such as Linear Regression, Logistic Regression, and K-Means Clustering. Environment: Java 1.8, Lambdas, Java Streams API, Functional Interfaces, Spring Boot, Multithreading, Amazon EMR, Apache Spark, RDD, Apache Kafka, AWS CloudWatch, AWS, Spark MLlib. Accenture, India Nov 2016 Aug 2021 Software Engineer & Senior Software Engineer Description: Accenture is a global professional services company with leading capabilities in digital, cloud, and security. At Accenture, I implemented and migrated a B2B spare parts operations system of a Fortune 500 company with 100K users, from service-oriented architecture to microservices, resulting in an approximately 35% increase in software delivery. Responsibilities: Oversaw full-stack development & maintenance of a monolithic Struts, Spring MVC applications that handle aftersales operations of automotive spare parts ordered by FIAT dealers from over 130 countries. Leveraged JavaScript to develop extensive client-side form validations, minimizing page reloads, reducing data entry errors and preventing bad data to be sent to server. Migrated Fiat's spare parts order-processing portal from SOA architecture to microservices for 100K users, resulting in a 35% increase in feature delivery speed. Engaged daily with 15+ remote developers and senior management to architect new features while leading 4 offshore developers in problem-solving and code reviews. Implemented service discovery using Eureka Server that allowed microservices to dynamically discover and interact with each other without needing IP addresses. Implemented circuit breaker pattern using Resilience4j to monitor the status of all microservices and trip the ones that are unresponsive and trigger fallback mechanism logic. Employed Spring Cloud Config to centralize configuration management, reducing configuration-related errors by 30% and enabling seamless deployment across different environments. Integrated Zipkin distributed tracing to track and analyze performance bottlenecks, resulting in decrease in mean time to resolution for critical issues. Made use of Spring Data to connect to different databases like MySQL and MongoDB which different microservices connected to. Cross-trained to Angular 6 and implemented single page applications using Angular components, services, routes, pipes etc. Utilized Docker, Jenkins, ArgoCD, SonarQube and GitHub to establish a streamlined Continuous Integration and Continuous Deployment (CI/CD) pipeline, automating the build, testing, and deployment processes. Published the full stack application on AWS Elastic Kubernetes Service (EKS) and AWS S3, ensuring high availability and fault tolerance. Configured ALBs with target groups and listeners to efficiently route traffic to microservices running on Elastic Kubernetes Service (EKS), optimizing resource utilization and minimizing latency. Orchestrated the implementation of Ingress controllers in Kubernetes, configuring routing rules to direct external traffic to services within the cluster, enhancing scalability and accessibility. Integrated SonarQube into the CI/CD pipeline to automate code quality analysis and static code scanning, enabling early detection and prevention of code defects and vulnerabilities. Environment: Java 8, Spring Boot, REST API, SOA, Microservices, Spring Data JPA, Angular 6, AWS EKS, Ingress, ArgoCD, ALB, SonarQube, Docker, Jenkins, Struts, JSP Servlet, JavaScript, SOAP. Philips, India Aug 2014 Nov 2016 Java Developer Description: Philips is a leader in diagnostic imaging, patient monitoring and health informatics and leverages advanced technology and deep clinical and consumer insights to deliver integrated solutions, as well as in consumer health and home care. I developed an ETL software that ingests thousands of customer health reports from local servers daily, performs data transformation and moves it to AWS cloud. Responsibilities: Orchestrated the development and maintenance of a batch processing/ETL tool using Spring Batch that helps with transferring data in the range of 100,000-200,000 patient records in each batch cycle to highly scalable and resilient data solutions in AWS cloud, which is later utilized by data science team. Leveraged Java 8, SpringBoot, SpringCloud and Angular JS for full stack development of the patient information portal in a Microservices Architecture with an Agile methodology. Implemented communication using OpenFeign between different microservices responsible for features like patient history, diagnostic tests, related imaging staff etc. Engineered distributed design patterns like service discovery using Eureka Server, aggregator using API Gateway, circuit breaker using Hystrix etc., that resulted in a scalable and resilient application. Employed Spring Cloud Config to centralize configuration management, reducing configuration-related errors by 30% and enabling seamless deployment across different environments. Enforced Spring Security, OAuth2.0 to encrypt sensitive user data within tokens, ensuring data privacy and compliance with latest security standards. Utilized AWS DynamoDB to store patient health records, to quickly index and query patient information when needed. Created an interactive UI Screens using Angular JS, with key features like a homepage that provides a quick overview of key inventory metrics and quick search capabilities. Developed a comprehensive suite of unit tests using JUnit5 to ensure the reliability and accuracy of critical system functionalities, generating 25% reduction in production bugs. Environment: Java 8, Spring Boot, Spring Cloud, Spring Security, OAuth 2.0, Microservices, Angular JS, Swagger, Actuator, JUnit. EDUCATION DETAILS Bachelor of Engineering in Information Technology Sept 2011 June 2015 Master of Science in Software Engineering Aug 2021 Dec 2022 Keywords: continuous integration continuous deployment user interface javascript sthree information technology procedural language Iowa North Carolina |