Post Job Free
Sign in

Software Engineer/Java Developer

Location:
Cincinnati, OH
Posted:
October 18, 2024

Contact this candidate

Resume:

Rakesh K

513-***-****

**********@*****.***

https://www.linkedin.com/in/rakesh09kumar

Professional Summary:

With over seven years of experience as a skilled Java developer, I have honed my expertise in designing, creating, and executing scalable and efficient software solutions. I specialize in Java programming, Spring Boot, and Microservices, with a strong emphasis on back-end development. My proficiency in integrating various databases and creating and implementing RESTful APIs has enabled me to build robust applications that meet complex business requirements. I ensure compliance with data security regulations and maintain data integrity throughout the development process. Additionally, I possess a solid foundation in agile methodologies, collaborating effectively with cross-functional teams to deliver high-quality software solutions on time and within project constraints.

Skills & Tools:

Java Programming

Proficiency in Core Java concepts including object-oriented programming, data structures, and algorithms.

Frameworks and Libraries

Java frameworks and libraries such as Spring Framework, Hibernate, Apache Kafka, Apache Camel, Jersey and others depending on the project requirements.

Database Management

Hand on experience database management systems like MySQL, PostgreSQL, Oracle, or MongoDB, AWS Aurora and expertise in writing SQL queries and database modelling.

Web Development

Web development technologies such as Servlets, JSP (Java Server Pages), HTML, CSS, JavaScript, and front-end frameworks like Angular, React.

RESTful Web

Services

Experience in designing and developing RESTful APIs using frameworks like Spring Boot, Jersey.

Version Control Systems

Proficiency in using version control systems like Git for source code management and collaboration

Testing

Hand on experience Testing methodologies, including unit testing, integration testing, and automated testing frameworks like JUnit, TestNG, Mockito. Have experience in UI automation using Selenium, Appium, WebDriver IO frameworks.

Build Tools

Experience with build automation tools like Apache Maven or Gradle for managing project dependencies, building, and packaging Java applications

IDEs

Proficiency in using Integrated Development Environments (IDEs) like IntelliJ IDEA, Eclipse, VS Code or NetBeans for Java development

Debugging and Profiling

Hand on experience to debug Java applications using debugging tools like IntelliJ Debugger, Eclipse Debugger, or Java Visual VM for profiling and performance analysis

Spring Boot

Significant experience of developing and deploying production-ready Spring applications

Hibernate

Object-relational mapping (ORM) framework for simplifying database interactions in Java applications.

Apache Kafka

Distributed streaming platform for building real-time data pipelines and streaming applications

Apache Camel

Integration framework for routing and mediation rules

Postman or Insomnia

API testing tools for testing RESTful APIs

Docker

Containerization platform for packaging, distributing, and running Java applications in isolated environments.

Jenkins or TeamCity

Continuous Integration (CI) tools for automating build, test, and deployment processes

Kubernetes or OpenShift

Utilized Kubernetes to manage containerized applications, automate deployment, scaling, and operations, ensuring high availability and efficient resource utilization.

SonarQube

Code quality and security analysis tool for identifying bugs, vulnerabilities, and code smells in Java codebases.

AWS - Lambdas and Glue

AWS services for serverless computing and data integration: Lambda for executing code in response to events, and Glue for data preparation and ETL processes.

JIRA or Trello

Project management tools for tracking tasks, issues, and agile development processes.

Swagger or Open API

Tools for designing, documenting, and testing RESTful APIs

Qualification: Bachelors - Electrical & Electronics, NBKRIST, 2016

Masters - Computer Information Systems, Saint Louis University, 2023

Professional Experience:

Client: Kroger Technology & Digital

Role: Software Engineer

Location: Cincinnati, Ohio Dec 2023 to Present

Responsibilities:

Analysis, Requirements Documentation, and Application Architecture

oResponsible for the analysis, documenting requirements, and architecting the application based on J2EE standards.

oTypically, this is the first step in the development cycle where business requirements are gathered, and the application architecture is defined.

Core Java Concepts

oExtensively used core Java concepts like the collection framework, multi-threading, OOP, and Exception Handling.

oThese fundamental concepts are applied throughout the project in all areas of development.

Design Patterns (DAO, Singleton, MVC)

oImplemented different design patterns like DAO, Singleton, and MVC architectural patterns of the Spring framework.

oThese patterns form the backbone of most modern applications for structured and maintainable code.

Spring Framework Development (Spring Core, Spring IOC, Spring AOP, Spring Data Access)

oWorked on REST Web Services and used the Spring Framework, developing Spring features like Spring Core, Spring IOC, Spring AOP, Spring Data Access, and Spring MVC.

oThe Spring Framework serves as the primary framework for Java application development, handling dependency injection, AOP, and data access.

Spring Boot and Microservices Architecture

oBuilt RESTful web services using a Microservices architecture with tools such as Spring Boot.

oImplemented Spring Boot Microservices to process messages into the Kafka cluster setup.

oMicroservices architecture is widely used for building scalable and distributed systems, and Spring Boot simplifies the development of such systems.

Hibernate and ORM

oUsed Hibernate, an object-relational mapping (ORM) solution, to map data representation from the MVC model to Oracle relational data model with SQL-based schema.

oHibernate is key in most enterprise-level applications for database interaction and data persistence.

Kafka Integration

oImplemented Kafka producer and consumer applications on a Kafka cluster setup with the help of Zookeeper.

oDeveloped Kafka consumer's API in Scala for consuming data from Kafka topics.

oKafka is used for messaging, logging, and streaming applications, and integrating Kafka with Spring Boot is a common pattern in distributed applications.

Apache Camel Integration

oIntegrated Apache Camel with Spring Boot for developing microservices, allowing seamless interaction between multiple services and systems.

oMonitored Camel routes to track the performance and reliability of message routing using Camel’s management and monitoring tools.

oApache Camel is essential for complex routing, message transformation, and orchestration in integration scenarios.

Database Connectivity and ORM Layer (RDBMS, Kafka Connect, etc.)

oImplemented ingestion services to connect to RDBMS using Kafka producer APIs / Kafka Connect.

oDeveloped backend database connectivity using Hibernate for persistence.

oDatabase connectivity is an ongoing task throughout the development process, supporting various data storage and retrieval functions.

Unit Testing with JUnit

oUsed JUnit for unit testing the web service code.

oUnit testing is critical in ensuring that individual components function as expected and is typically conducted continuously during development.

Logging and Debugging

oUsed Log4J API for logging and debugging.

oLogging is essential for debugging during development and for monitoring application performance in production.

Node.js and Express.js Backend Development

oBuilt backend REST APIs with Node.js and implemented modules into Node.js to integrate with designs and requirements.

oWhile Java is the main technology stack, Node.js is often used for lightweight services or API layers, typically running alongside Java services in modern applications.

Sprint Planning and Jira

oInvolved with Sprint Planning, Sprint Grooming, and Allocation of User Stories using Jira.

oAgile methodology practices such as sprint planning are used for managing development cycles, ensuring timely delivery of features.

Struts Framework Development

oDeveloped various Action classes and Form bean classes using the Struts framework.

oStruts, while being an older technology, might still be in use for legacy applications, though newer projects generally prefer Spring MVC.

Intranet Web Application Development (JSP, J2EE)

oDeveloped Intranet Web Applications using J2EE architecture and JSP to design user interfaces, while using Hibernate for database connectivity.

oThis task involves building internal-facing web applications, generally within a company network.

Environment: Java, J2EE, Servlets, JMS, Hibernate, Spring, Web services, Spring MVC, JBoss, XML, JSP, JDBC, EJB, Struts, Hibernate, JMS, JUnit, Load Runner, JMeter, Log4j, JIRA, SOA, ANT, JIRA, Jenkins, Web Logic, JSON, IBM Web Sphere, Selenium, Web Services, SOAP, REST API, GIT, Apache Kafka, Maven

Client: Accenture

Role: Java Developer

Location: Hyderabad, India Mar 2021 to Aug 2022

Requirements Gathering, Analysis, and Design:

oInvolved in the requirements gathering, analysis, and design phase of the application.

oDesigned the application architecture following J2EE standards and best practices.

Core Java Development and Design Patterns:

oExtensively used core Java concepts like multi-threading, collections framework, OOPS, and exception handling.

oImplemented J2EE Design Patterns such as Singleton, Session Facade, Value-Object, and Service Locator to ensure reusability and performance optimization.

Spring Framework and Dependency Injection:

oImplemented the Spring Framework for dependency injection, simplifying object creation and management across the application.

oUsed Spring Core for Dependency Injection and managed service-layer components.

oDeveloped and managed RESTful web services using Spring MVC for external system communication.

Hibernate and ORM:

oInvolved in writing Object-Relational Mapping (ORM) implementation using Hibernate, mapping Java objects to relational database tables.

oManaged Hibernate configuration files and queries, optimizing database access.

Database Interaction (SQL/PL-SQL, Oracle, JDBC):

oDeveloped extensive SQL and PL/SQL stored procedures and functions for data access.

oWorked with Oracle database and used JDBC for backend logic development and data persistence.

oCreated complex SQL queries to extract and manipulate data as needed for business logic implementation.

Web Services and API Development:

oDeveloped and consumed REST Web Services for data management using Apache CXF.

oUsed Apache CXF as a web services framework to implement REST APIs.

oIntegrated GraphQL for dynamic schema management, providing enhanced clarity and validation for API interactions.

Kafka and Message Handling:

oImplemented Kafka producer and consumer for message processing and integrated them into the application for real-time data streaming and event-driven architectures.

Deployment and Containerization:

oDeployed applications using WebLogic Application Server in pre-production environments.

oUsed Kubernetes and OpenShift for container orchestration, deployment, and scaling of microservices.

Version Control, Build Automation, and CI/CD:

oUsed GitLab for version control, including branching strategies, pull requests, and code reviews.

oLeveraged GitLab’s in-built CI/CD features for build automation, nightly builds, and deployment scripts.

oDeployed automated pipelines for continuous integration and deployment, ensuring seamless releases and deployments.

Infrastructure as Code with Terraform:

oUsed Terraform to automate infrastructure setup and deployment.

oMaintained Terraform state files for tracking the current state of infrastructure and utilized variables and outputs for dynamic infrastructure configuration.

Logging, Debugging, and Testing:

oIntegrated Log4j for logging and monitoring to debug and resolve application issues efficiently.

oDeveloped JUnit test cases for unit and integration testing.

oAutomated regression and functional testing using Selenium WebDriver.

oIntegrated Selenium tests with CI/CD pipelines using Jenkins for continuous testing.

oUsed Selenium Grid for cross-browser testing to ensure compatibility across multiple platforms.

Agile Methodologies:

oParticipated in Agile development practices, including sprint planning, grooming, and allocation of user stories through tools like Jira.

Tools and Technologies for Development:

oUsed Maven and Gradle for build automation to clean, compile, and deploy applications.

oUtilized SVN for version control in earlier projects.

oDeveloped reusable backend components for optimized performance and reusability in large-scale applications.

Environment: Java 17, Spring Batch, RESTful Services, Spring Security, RabbitMQ, Spring Data, Spring Batch, Quartz Scheduler, Hibernate, Microservices, RESTful services, Eclipse Java EE IDE, Jenkins, Spring Cloud Netflix, Splunk, Oracle DB, MySQL, Spring Data, Spring AOP, Spring Transaction Management, Swagger, Jersey, Docker, Ribbon, JUnit, Mockito, Mocha, Chai, Selenium, Cucumber, Cassandra DB, Cassandra Node Connector, Gradle, JBoss, WADL, Pivotal Cloud Foundry (PCF), Drools, IBM MQ, Kafka.

Client: Cognizant

Role: Programmer Analyst

Location: Chennai, India Nov 2016 to Mar 2021

AWS Solutions Architecture:

o Designed and deployed AWS solutions using EC2, S3, EBS, Elastic Load Balancer (ELB), auto-scaling groups, Data Pipeline, Security Groups, CloudFormation, IAM, and Route 53.

o Configured AWS Identity Access Management (IAM) groups and users for enhanced authentication, effectively managing periodic SQL data exports into Elasticsearch.

Database Development:

o Developed web applications using data stores such as DynamoDB, MongoDB, Cassandra, Elasticsearch, and AWS Aurora.

o Hands-on experience with MongoDB installation, configuration, monitoring, and designing shared environments, focusing on locking, transactions, indexing, replication, and schema design.

o Utilized DynamoDB for storing metrics and backend reports, and managed Oracle database interactions using Hibernate.

Continuous Integration and Deployment (CI/CD):

o Automated CI/CD pipelines and blue-green deployments, creating highly scalable and fault-tolerant applications across multiple availability zones and regions.

o Implemented AWS Lambda to automate various administrative tasks, enhancing operational efficiency.

API Development:

o Developed APIs with AWS Lambda for server management and code execution.

o Created data pipelines using AWS Glue for ETL operations, leveraging Apache Spark for processing large datasets.

o Developed RESTful web services using Jersey for efficient client-server communication, integrating with Spring to manage microservices and implementing CRUD operations with authentication and logging.

Front-End Development:

o Designed and developed UI components using JSP, HTML, CSS, JavaScript, Ajax/jQuery, and Bootstrap for user interactions.

o Created user interfaces with Struts MVC, focusing on system login and operations on network elements, while ensuring error handling with JSP.

Build and Configuration Management:

o Used Maven for build automation, streamlining the building process for applications.

o Utilized Chef and Ansible for configuration management to automate system operations.

Logging and Monitoring:

o Employed Log4j for logging runtime exceptions and performance metrics, aiding in debugging and monitoring.

Microservices Development:

o Developed microservices using Jersey and Spring, integrating the persistence layer with Spring, JPA, and Hibernate.

o Managed PL/SQL operations, including views, triggers, functions, and stored procedures to enhance MySQL database performance.

Database Management:

o Crafted complex SQL queries and used JDBC for database access, addressing integration, system testing, user acceptance, and production issues.

o Automated routine database maintenance tasks with CRON jobs and shell scripts, managing migrations, backups, and restoration processes.

Performance Optimization:

o Implemented indexing strategies to optimize MySQL query performance, reducing retrieval times.

Testing and Quality Assurance:

o Utilized JUnit for unit testing and Log4j for logging exceptions, ensuring application reliability.

o Automated test scripts with WebdriverIO, integrating with Mocha for test management and reporting, and implementing the Page Object Model (POM) to enhance test maintenance.

o Conducted cross-browser testing and integrated WebdriverIO tests with CI/CD pipelines for continuous testing.

o Performed data-driven testing with JSON and CSV files to validate application functionality.

API Testing:

oAutomated API testing using Rest Assured, designing test cases for RESTful services and integrating with TestNG for management and reporting.

oExecuted functional, regression, and performance testing of REST APIs, conducting data-driven testing with JSON and XML files.

Environment: Java 8, J2EE, Spring, JPA, Hibernate, Junit, AWS (EC2, VPC, ELB, S3, RDS, Cloud Trail, Route 53), Elastic Beanstalk, Elastic Search, Linux, Chef, Ansible, Git, Cloud Watch, Cloud Formation, Auto Scaling, Jenkins, Shell scripting, SQL, MySQL, XML, XSL, Python.



Contact this candidate