Professional Summary
With years of experience in the software development life cycle as a Java Developer, I have a strong background in analysis, design, development, maintenance, and deployment of enterprise- level web applications using Java/J2EE technologies. Well-versed in back-end development and have experience working with client-server technologies. Proficient in Object-Oriented Programming (OOP), data structure, core Java concepts, including Collection Framework, Multi-threading, Generics, JavaBeans, Exception Handling, Serialization, and Externalization. Expertise in java 8 new features, such as Lambda expressions, stream API, Optional class, and default methods. Comprehensive understanding of modern front-end technologies, including React, hooks, Redux, and web components, to create engaging, responsive, and efficient user interfaces. Developed rich user interface web applications and web service applications using technologies such as HTML, CSS, jQuery, Ajax, React Chrome-Developer Tools, and Internet Explorer-Developer Toolbar. Proficient in TypeScript for building scalable and maintainable applications, and building and consuming GraphQL APIs for efficient data retrieval and manipulation. Skilled in using Java-based GraphQL frameworks, integrating GraphQL with Spring Boot microservices, and employing testing tools to ensure accurate and efficient queries. Experienced i Lin cloud computing environments, such as Pivotal Cloud Foundry, Amazon Web Services (AWS), and Docker Containers. The handling operations in AWS includes provisioning, configuring, and maintaining AWS resources like EC2 instances, VPCs, and subnets, setting up and managing storage services like Amazon S3, EBS, and EFS, managing database using services like RDS, DynamoDB, managing network such as Route 53 for DNS, load balancing with ELB, and managing API Gateway for APIs, application deployment using services like AWS Elastic Beanstalk, Lambda, and ECS to deploy, manage and scale applications, and using EKS to deploy, manage, and scale containerized applications. - My J2EE technology expertise includes Spring, JPA, Hibernate, Struts, Servlets, JSP, EJB, JDBC, JSF, JTA, and JMS. - Proficient in RESTful framework, and used features such as standardized HTTP methods including GET, POST, PUT, DELETE, stateless communication, and content negotiation to create scalable and maintainable web services efficiently. Have a good command of HTTP Status Codes to be able to identify and resolve problems occurred during Web application and API requests. Extensive experience with Spring framework, and used core features like Spring loC, DI, and AOP to achieve code decoupling and modularization. - Adept at Spring MVC, and used common annotations like @Controller, @Service, @Repository, @Autowired, @RequestMapping to build web applications. - Expertise in exception handling in Spring using different strategies, like using @ControllerAdvice annotation to create a global exception handling class, @ExceptionHandler annotation to handle specific exceptions inside the controller, and @RestControllerAdvice annotation to handle REST API exceptions. - Leveraged Bean Validation (Hibernate Validator) to use annotations like @NotNull, @NotEmpty, @Size to achieve DTO Validation. Combined I Spring Security with Spring Filter/Interceptor to realize security control in applications. Took advantages of Spring Task and cron jobs to execute scheduled tasks, and used Spring Batch to process tasks that need to process large amounts of data involving complex functions such as transaction management, concurrent processing and task state management. Developed the persistence layer using ORM (Hibernate) Framework and Spring Data JPA, created POJO objects, and mapped them using Hibernate annotations and transaction management. Experienced in designing, developing, and deploying Java/J2EE applications on Apache HTTP Server, WebSphere, WebLogic, Apache Tomcat, and JBoss application servers. Proficient in using MySQL, PostgreSQL, SQL Server (MS SQL), Oracle SQL (PL/SQL), DB2, and NoSQL DB DB like e MongoDB, and Apache Cassandra for database management. Experience with MongoDB development (reports, schema design, map reduce functions) and migration from SQL relational database to NoSQL databases like MongoDB and Apache Cassandra. Used Jackson/Gson to serialize and deserialize between Java objects and JSON data. Experienced in developing, deploying, and managing Microservice applications with Spring Cloud including implementing Service Registry and Discovery using components like Eureka and Consul, Configuration Management with Spring Cloud Config, Load Balancing with Spring Cloud LoadBalancer, providing Circuit Breaker functionality with Spring cloud Hystrix or Spring Cloud Circuit Breaker, and configure the API gateway with Spring Cloud Gateway to proxy, route, and filter requests between microservices. Implemented Event-driven architecture in microservice using Kafka, with which microservices publish/subscribe t topics in the Kafka to send and receive messages. Have a good command of Producer/Consumer API, core components such as topics, partitions, replicas, offsets, and consumer groups. Implemented Design Patterns like Singleton, Factory, MVC, Data Access Object, and Business Delegate. Focused on Test Driven Development (TDD), creating detailed JUnit/TestNG and Mockito tests for every piece of functionality, and experienced in using SonarQube to automatically detect errors, bugs, and code style issues to improve code quality. - Well-versed in using various tools such as Jira, Jenkins, Maven, Gradle, Docker, and Kubernetes during the development and deployment process. Configured Splunk to collect and analyze log data from log4j used to record application log information. - Enabled Spring Actuator in the Spring Boot application and collected runtime information of the application such as health checks, metrics, and environment configuration by exposing a range of HTTP endpoints, and configured the data visualization and monitoring platform Grafana to collect metrics from Spring Actuator endpoints to visualize these data. Have experience with version control and configuration management tools such as GIT, GitHub, SVN, CVS, and Subversion. - Actively involved in the DevOps streamlining process through Jenkins Cl and CD Release Automation and have experience with UNIX/Linux and Windows commands and deployment of applications on servers. - Strong understanding of software methodologies such as Agile (SCRUM), Waterfall, and DevOps. Overall, my skills, experience, and dedication make me a strong candidate for a Java Developer role.