Home

Saroj Shrestha - Lead Java Consultant & Architect with Groovy and Grails
[email protected]
Location: Dallas, Texas, USA
Relocation: Yes
Visa: H1B
Saroj Shrestha
Lead Java Consultant & Architect with Groovy and Grails
6824720624
[email protected]
Dallas, TX
Yes
H1B

linkedin.com/in/saroj-shrestha-7084a8102/

Senior software engineering specializing in backend development. Experienced with all stages of the development cycle for dynamic web projects and building Restful API. Well-versed in numerous programming languages including JAVA, python, JavaScript. Strong background in designing the backendweb architecture, research, and writing beautiful code.
Hands on Java/J2EE development, more than 10+ years of experience in Analysis, Architecture, Design, Development, Testing, Continuous Integration and Deployment.
Production Support experience in Java/J2EE and Oracle Development Environment.
Played various roles like Developer and Technical Lead
Experienced in working with different frameworks such as Grails, spring boot, Spring Web Service, Spring Micro Services, Hibernate and presentation services with good knowledge on MVC Architecture.
Proficient in SQL, PL/SQL programming and experienced in writing Stored Procedures, Functions, Views and Packages in Oracle, PostgreSQL, MySQL, DB2.
Implemented several projects from End to End (both UI and Backend implementation).
Experience in Deploying Java/J2EE based applications on Web Servers & Application Servers such as JBoss 5.x/6.x/7.x, Apache Tomcat 6.x/7.x, Apache HTTP, WebLogic 10.x, IBM WebSphere Portal Server (WPS) and IBM WebSphere Application Server (WAS).
Expertise in interacting with business users and understanding the requirement and providing solutions to match their requirement.
Expertise in application development using JSP, Servlets, JDBC, EJB, XML.
Proficient in OOAD Technologies developing Use Cases, Activity diagrams, Sequence Diagrams and class diagrams using case tools.
Over 8 years of experience in using Unix systems including Red Hat, CentOS, Ubuntu.
Worked with popular frameworks and libraries such as Angular or React, leveraging TypeScript to enhance development efficiency and improve code quality.
Well experienced in using Junit/Mockito/PowerMock for performing unit testing framework to gain confidence in the correctness of the code.
Strong understanding of Java 8, object-oriented programming concepts, data structures, and algorithms.
Experience in Configuration of Java applications, Tomcat, Nginx and MYSQL servers for deployment and testing.
Designed and implemented multithreaded applications using Java's concurrency API.
Developed efficient thread synchronization mechanisms to ensure data integrity and prevent race conditions.
Implemented Test-Driven Development (TDD) practices to drive the development process and ensure high-quality code.
Integrated Elasticsearch with various data sources and ETL processes to index and search large volumes of structured and unstructured data.
Implemented full-text search capabilities using Elasticsearch's powerful text analysis features, including stemming, tokenization, and synonym expansion.
Experience using J2EE Design Patterns like DAO Pattern, Business Delegate, Singleton Pattern, Front Controller and Factory Pattern for reusing the most efficient and effective strategies for new development.
Expertise in using IDE like Intellij IDEA, Eclipse, JBoss Developer Studio and NetBeans for debugging and using java coding standards from the beginning of development.
Good working Experience in using ANT, Maven scripts, Gradle and Jenkins for building and deploying the application in web/App servers.
Monitoring application servers deployments and logs using Splunk.
Extensive Experience in using loggers like Log4j for creating logs of different categories and placing them in a file.
Implemented Elasticsearch as a distributed search and analytics engine to enable fast and scalable full-text search functionality in applications.
Implemented UI features and behaviors using React, ensuring a seamless and intuitive user experience.
Integrated RESTful APIs with React, fetching and displaying data dynamically to provide real-time updates and interactive user interfaces.
Extensive knowledge in implementing SOA architecture using WSDL,UDDI and SOAP
Extensive experience in performing reviews like Test reviews and peer reviews for maintaining best coding standards.
Extensive experience in testing on multiple operating systems including Linux and Microsoft Windows.
Expertise in using configuration management tools like CVS, Subversion, GIT and Clear Case for version controlling.
Knowledge in Docker and container based deployments.
Knowledge in applying TDD, BDD and Static Code Analysis to improve quality and reliability of delivery.
Integrated RabbitMQ with microservices architectures, enabling asynchronous communication and decoupling of services for improved scalability and fault tolerance.
Experience with AWS EC2, S3, Lambdas, SQN, SNS etc. and Linux development along with an understanding of services like Kinesis, Route 53, EKS, ECS, AutoScaling, ELB, VPC, GLUE, DynamoDB, Athena, QuickSight, AWS Organization etc.
Experience with Logging and Log management with Log4j and Cloud watch.
Extensive knowledge in developing User Interface Rich Web Applications and Web service applications using Front End/User Interface Technologies like JavaScript, Ajax, Bootstrap and CSS
Knowledge in using Amazon S3, Amazon Dynamo DB, Amazon Queue Service, Amazon Ec2, Amazon lambda and AWS CloudWatch.
Worked on CI/CD builds and deployments, written yml scripts to configure the builds.

TECHNICAL SKILLS

Languages J2EE, J2SE/Java 1.4/1.5/6/7/8
Web Technologies HTML, JavaScript 1.3/1.2, AJAX, CSS, XML, SOAP 1.1, WSDL.
J2EE Skills JDBC 2.0, Servlet 2.3, JSP 1.2, EJB 2.0, JNDI, JAXP, JMS, Web
Services.
Operating Systems Linux 9/8/7.2,Unix, Windows and Ms-Dos.
Methodology OOAD, SDLC and UML
Servers Apache Tomcat 7.x/6.x/5.x, WebSphere Portal Server (WPS) 6.0, WebSphere Application Server(WAS), JBoss 7.x/6.x/5.x, WebLogic 10.x
Database/ Tools Oracle 10g/9i, PostgreSQL, MySQL, DB2, Hibernate 3.2/3.0,Sql Developer, TOAD.
Frameworks Grails, Spring Framework 2.5.6/2.0/3.x/4.x, Spring Boot
Design Patterns MVC, DAO Pattern, Singleton Pattern, Front Controller, Factory Pattern etc.
IDE / Tools Eclipse, Net beans, IntelliJ Idea, ANT build script, ReviewBoard, Rally, Maven build script, Log4j logger, CVS, SVN, GIT, Jmeter, Putty, WinSCP, JBoss Developer Studio, Docker, Micro Services.
Portals JSR-168 & JSR-256


PROFESSIONAL EXPERIENCE

Fiserv, Alpharetta GA July 2022 Present
Lead Java Consultant & Architect with Groovy and Grail
Financial Application
Fiserv provides clients with payment solutions for credit card, debit card, and electronic check acceptance via this Application. This platform offers flexible and comprehensive reporting for the clients. The Pop money personal Payment service from Fiserv allows consumers to conveniently send, receive and request money with an email Address, mobile phone number or account number, eliminating the need for checks and cash, worked on integration. Of Pop money with different Charity clients.

Involved in the creation of Class Diagrams, Sequence Diagrams for analysis and design of the application.
Implemented RabbitMQ as a message broker to facilitate reliable and scalable message-based communication between distributed systems.
Defined and constructed layers, server-side objects and client-side interfaces based on J2EE design patterns.
Implemented Elasticsearch as a distributed search and analytics engine to enable fast and scalable full-text search functionality in applications.
Designed and implemented Elasticsearch data models, mappings, and indexes to optimize search performance and relevance.
Install and configure WebLogic Server on multiple platforms such as Linux and Windows
Involved in complete software development cycle starting from requirement analysis, documenting analysis and design with class association diagrams using UML.
Implemented logging mechanisms using popular logging frameworks such as Log4j, SLF4J, or java.util.logging to facilitate application monitoring and debugging.
Configured logging levels, formats, and appenders to capture and record relevant log messages for various application components.
Developed Web services using Top down and Bottom-up Approach in Eclipse Indigo.
Used Spring JDBC for getting connected to the Oracle Database.
Developed the application using Eclipse Indigo IDE.
Monitor and maintain the application logs and server logs
Developed whole application in Grails Web Application and Spring Frameworks.
Developed Model, Controller and Views in Grails. Developed Schedulers to run cron jobs in Groovy.
Experience with AWS EC2, S3, Lambdas, and Linux development along with an understanding of services like Kinesis, Route 53, EKS, ECS, AutoScaling, ELB, VPC, GLUE, DynamoDB, Athena, QuickSight, AWS Organization etc.

Utilized Elasticsearch Query DSL to construct complex search queries and aggregations to extract meaningful insights from data.
Wrote Caching Strategies using EhCache Cache Plugin.
Involved in building and parsing XML. Involved in designing the UML diagrams.
Involved in calling stored SQL stored procedures for validations and in writing complex SQL queries. Used Log4J for logging messages. Involved in using Subversion-Tortoise SVN for version control.
JBOSS Server Installation on Windows NT and Administrating.
Was involved in deployment of the application on Web logic Application Server.
Developed/consumed Web Services using SOAP, WSDL, UDDI, XML
Used ANT for compilation and building JAR, WAR and EAR files.
Involved in reviewing code developed by team members.
Worked in Agile Environment with Solutions Architect, Project Manager, and Business Analysts.
Integrated RabbitMQ with microservices architectures, enabling asynchronous communication and decoupling of services for improved scalability and fault tolerance.
Developed queries with XQuery and MarkLogic.
Developed DAL (Data Access Layer) implementations for MarkLogic.
Architected and Integrated Spring Security in various modules which will inspect incoming http requests and implements user defined security checking.
Actively working on AWS implementation. Migrating current applications from On-prem Linux boxes to AWS EC2 Linux instances. S2, EBS, EFS, SQS, SNS and more.
Developed an AWS lambda function in Java as a query service to DynamoDB and exposed it to users through AWS API Gateway. All the AWS cloud components are deployed using Cloud Formation templates which are triggered by Jenkins CI pipelines.
Installed and configured JBOSS soa-p in terramark cloud.
Involved in structuring documents and User Interfaces for 508 compliances.
Continuously integrated and deployed War files to terrammark federal cloud.
Higher environments maintained in cloud and achieved high availability for 24/7 for various testing partners of CMS.

Environment: Java 7, SOA, ESB, JEE, Eclipse Indigo IDE, REST and SOAP WS, XML, JAXB, HTML, CSS, JavaScript, Apache AXIS, Spring Framework, JBOSS Server, Hudson, Tortoise SVN, SQL Server 2008, JUNIT, SQL,PL/SQL, JDBC, ANT, SSH, Putty, Agile, Windows and UNIX, JBOSS ESB, Cloud Computing, Marklogic, Alfresco, Groovy2.4.3, Grails 2.5.0, GORM, Caching Strategies, GSP, EhCache Cache Plugin, Backbone Javascript framework, OAuth, Identity Access Management, SAML Security, Terramark Cloud, 508 compliance testing, Weblogic, Java 8.

GEICO, Chevy Chase-MD Mar 2021- April 2022
Lead. J2EE Developer

Tested, Retrieved and Debugged data into UI components from Oracle, DB2 Support database and Policy Data from Mainframes.
Analyzed, Designed and Developed multi-tier Java EE applications.
Did cost benefit analysis comparing agile and other methodologies like RUP, Waterfall.
Maintained Scrum minutes of meeting.
Developed application components in JSF2.0, BLAZE and Spring Frameworks.
Developed Model, Controller and Views in JEE. Developed JSF, XHTML pages for Presentation Tier.
Extensively worked in JQUERY, CSS3.
Worked with testing team to ensure test cases are in line with requirements.
Performed Scheduled tasks with Spring Batch.
Developed web-based administration using Spring Batch.
Implemented environment-specific configuration profiles to manage application behavior across different deployment environments (e.g., development, staging, production).
Implemented environment-specific configuration profiles to manage application behavior across different deployment environments (e.g., development, staging, production).
Implemented JEE Design Patterns like Front Controller, Business Delegate and DAO.
Deployment of war/jar files in containers like tomcat/jboss and weblogic.

Environment: JDK 1.6, JEE Design Patterns, JSF2.0, EJB3, Toplink, BLAZE, Spring Framework 3.0, JBOSS 6.0.18, Perforce 5.0, Splunk 4.0, XHTML, CSS3, JSON, JAVASCRIPT, JQUERY, HTML 5, CSS 3.0, JSP 1.2,HUDSON , Easymock, Log4j, Hibernate 3.2, J2EE 1.4/5.0, Eclipse 3.6, AXIS 2.0, RESTFul WS, MS-Project, Maven, DbVisualizer, Mainframe Emulators, Putty, TeaLeaf, Cobertura, SONAR, JIRA, RICHFACES, Middleware, Spring Batch, jetty, web logic, Tomcat, JBoss.

Fable Fintech, Mumbai 01/2020 to 02/2021
Lastmile
Role: Senior Software Analyst
Description
Fable fintech builds systems for global payments and remittance technology domains, to help advance this vision for financial institutions. Over the years, application built by Fable Fintech have helped numerous banks, MSBs, and MTOs to leverage technology successfully to reduce systemic inefficiency.
Lastmile is the core application used by the 30 plus banks in the India to handle and manage the remittance from foreign countries to India. The systems has multiple level authorization (maker-checker driven) to ensure that no records are stored or manipulated without authorization. Some of the core features of Lasmile are listed below:
Multiple role based authentication.
Masters to add data that are required for the transaction creation and processing.
Initialize transaction using multiple ways (API, FIle upload).
Create and run quartz jobs to check the job status and update it.

Responsibilities:
Set goals and targets, follow the sprint schedule in the agile process.
Designed and implemented multi-threaded applications using Java's threading model.
Developed concurrent solutions to optimize performance and increase scalability in Java applications.
Integrated RabbitMQ with frameworks like Spring AMQP or .NET RabbitMQ clients, leveraging their abstractions and utilities for simplified interaction with RabbitMQ.
Configured RabbitMQ exchanges, queues, and bindings to define message routing and ensure messages are delivered to the intended recipients.
Utilized synchronized blocks and locks to manage shared resources and prevent race conditions.
Implemented UI features and behaviors using React, ensuring a seamless and intuitive user experience.
Integrated RESTful APIs with React, fetching and displaying data dynamically to provide real-time updates and interactive user interfaces.
Configured tomcat server for deploying the war files.
Implemented thread pooling techniques to efficiently manage and reuse threads in resource-intensive applications.
Utilized structured logging techniques to provide meaningful and contextual information in log messages, enhancing troubleshooting capabilities.
Implemented logging best practices, such as using parameterized logging to avoid unnecessary string concatenation and improve performance.
Configured Java applications by utilizing properties files, XML files, or YAML files to externalize application settings and parameters.
Utilized Java's Executor framework and Callable/Runnable interfaces for task execution and result retrieval.
Employed continuous integration tools such as Jenkins automate test execution, ensuring early detection of defects and maintaining code quality.
Used mocking frameworks like Mockito to create stubs and mocks for isolating dependencies during unit testing.
Practiced red-green-refactor approach in TDD, writing failing test cases first, implementing code to pass the tests, and then refactoring to improve code quality.
Applied TDD techniques to legacy codebases, gradually introducing unit tests and refactoring code to improve testability and maintainability.
Implemented integration tests using frameworks like Selenium WebDriver to verify system behavior and interactions with external dependencies.
Developed and maintained complex multi-threaded systems with efficient synchronization mechanisms.
Utilized LDAP synchronization and replication mechanisms to maintain directory data consistency across multiple servers and locations.
Implemented LDAP-based single sign-on (SSO) solutions using protocols like LDAPv3 or SAML (Security Assertion Markup Language) for seamless user authentication across applications.
Debugged and resolved issues related to thread synchronization, deadlock, and livelock.
Optimized thread communication and coordination using techniques such as wait(), notify(), and notifyAll().
Developed scalable and resilient microservices using Spring Boot, leveraging its lightweight and opinionated framework for rapid application development.
Worked collaboratively with cross-functional teams to design and implement multi-threaded solutions for performance-critical applications.
Conducted performance profiling and optimization of multi-threaded applications to identify and resolve bottlenecks.
Stayed updated with the latest advancements and best practices in multi-threading and concurrency in Java.
Mentored junior developers in multi-threading concepts and best practices to improve their understanding and code quality.
Involvement in review, analyze and develop enhancements and new features.
Work closely with business users to finalize requirements and testing.
Research and find the solutions to integrate new applications and API s to existing systems.
Refactor the existing code for performance tuning.
Used Java to develop several schedulers and watcher jobs.
Used Spring Framework with RESTFul Web Services and Hibernate for middle tier.
Developed application using JSP, Servlet, HTML, CSS and Bootstrap.Developed and scheduled job using quartz.
Involvement in code reviews and peer to peer reviews
Conduct code reviews and tune the code for quality, standards, and performance
Used MSSQL database for data storage and SVN/GIT for code repository.
Developed API s on springboot to integrate with the existing servet application.
Work with the Development Team to design, develop and document solutions.
Used Jira for bug tracking, issue tracking, and project management.
Used Gradle and Jenkins for build, bundle and deploy application
Work closely with testing team to get the testing completed on time
Attend daily and weekly status and scrum meetings for updates, issues, and roadblocks
Worked on linux server and deployments in Jboss, Tomcat, WebLogic.
Supported CI/CD build and deployment activities
Environment: Java1.8, Jboss 7.1.2, JSP, Servlet, Spring, Springboot, Hibernate, oracle 12g/18g, JIRA, Quartz, Linux, SQL Developer, Tomcat, RestApi, SVN, GIT, jQuery, Jenkins, Pipelines, Junit, HTML, XML, XSL, maven, Gradle, Tomcat, Weblogic.


National Incubation and Research Center, Lalitpur 02/2019 to 12/2019
Government With People(GWP)
Role: Senior Software Engineer/Team Lead Description
Government with people is an applicaiton built to assist the local bodies/government in smooth operation and functioning of the overall activities. The application keeps the public updated regarding all the plans, policies and programs of local bodies. Meanwhile, public can provide feedbacks and suggestions along with the grievances if any, which in the long run helps to maintain a healthier and meaningful relationship between government and public. And the most important feature of this application is that the top governing body (say state or central government) can keep track of what s happening in the local body by continuous monitoring of each and every activity takes place in the local body.
The application GWP is used by thousands of citizens and more than 40 local governments in Nepal. GWP has helped the government officers to deliver the services quickly and easily using the automation the application provides.
Responsibilities:
Discuss with the government officers to collect the requirements and analyze, plan and execute the steps needed to fulfill the requirements.
Integrated third-party APIs and libraries into TypeScript projects, ensuring seamless integration and maintaining best practices for security and performance.
Implemented and managed containerization using Docker to create lightweight and portable application environments.
Utilized Docker to build, package, and deploy applications, enabling consistent deployment across multiple environments.
Utilized TypeScript to provide enhanced type checking and compile-time error detection, resulting in more reliable and bug-free code.
Guide and assist the fellow team members/juniors to understand the feature requirements and technical confusions.
Provide technical support to system admin by identifying and resolving system issues.
Working closely with the project manager to schedule the work plan and solve technical issues.
Employed Spring Security to secure microservices and implemented authentication and authorization mechanisms using JWT, OAuth.
Developing RESTful API s for integration with the frontend and mobile application.
Implementation of OAUTH authentication along with spring security.
Researching about new tools, libraries and technologies to improve the existing system.
Determining operational feasibility by evaluating analysis, problem definition, requirements, solution development and proposed solutions.
Developed application using Grails, GSP, HTML, Javascript, AJAX, CSS and Bootstrap.
Studying the existing systems and making improvements in those systems.
Collaborating with the development team to design, develop, and maintain software applications using Java, J2EE, Spring, and Hibernate.
Used Amazon s3 to store the data and Amazon EC2 for deployment of the application.
Monitored the resource usage in the production server and made necessary configuration to ensure smooth running of the application.
Wrote SQL queries to apply various patch to the data in the database.
Used Nginx and Apache tomcat for deployment of frontend and backend.
Scheduled regular database backup script using crontab.
Complete detailed programming and development tasks for internal web applications as well as challenging back-end server code.
Working with the Devops engineer to resolve the issue in cloud infrastructures and deployments.
Implemented asynchronous communication between microservices using messaging systems like Apache Kafka or RabbitMQ, ensuring loose coupling and scalability.
Used google firebase to subscribe the user to various topics and send push notification.
Developed features for Optical Character Recognition (OCR) using tesseract.
Carry out quality assurance tests to discover errors and optimize usability.
Set goals and targets, follow the sprint schedule in the agile process.
Working closely with business users to finalize and clarifying functional requirements.
Involvement in review, analyze and develop enhancements and new features.
Used SONAR for monitoring the quality of code and Junit coverage for the code.
Used Redmine for bug tracking, issue tracking, and project management.
Conduct code reviews and tune the code for quality, standards and performance
Used Mysql database and Hibernate for data storage and bitbucket for code repository.
Used Ant/Maven/Gradle and Jenkins for build, bundle and deploy application.
Work closely with testing team to get the testing completed on time.
Attend daily and weekly status and scrum meetings for updates, issues and road blocks
Resolving production issues on time.
CentOS / Ubuntu system administration and performance tuning.
Deployment of web applications on Tomcat/JBoss and WebLogic.

Environment: Grails, Groovy, Quartz, Tesseract, Java1.4.2, Apache Tomcat, MySQL, IntelliJ Idea, Redmine, Biotbucket, MS Visual Studio 2013 Professional,SQL Developer, jQuery, SVN, Jenkins, Junit, HTML, XML,XSL, Centos, Ubuntu, Nginx, Jboss, WebLogic.


National Incubation and Research Center, Lalitpur 2015/02 to 11/2018
Chief Ministers Health Screening Program (CMHSP) Role: Software Engineer
Description
Chief Ministers Health Screening Program (CMHSP) is the application developed for health ministry of Bagmati Province, Nepal. The health ministry and our orgnaization built and applicaiton with the features where the doctors, radiographers, lab assistants, radiologist, computer operators could store the information about the patient s identity, blood test, urine test, other various test, x-rays, observations and findings to analyze and prevent the patients for any critical disease in future. Senior doctors and the authorities from the government utilized the application to get the detailed report about the patients, hospitals involved and diseases to help them make decision and strategies to reduce diseased in the future.
Responsibilities:
Working closely with users to finalize and clarifying functional requirements.
Set goals and targets, follow the sprint schedule in the agile process.
Involvement in review, analyze and develop enhancements and new features.
Use Junit coverage for the code.
Research about the technologies, libraries and implementing them to current
applications
Designing the blueprint of the application and planning to build the models and their associations.
Meeting with clients to sort out and refine the requirements.
Report to the board members about the current status of the applications and proposing new changes if required.
Conduct code reviews and tune the code for quality, standards and performance
Used MySql data base for data storage and gitlab for code repository.
Used Maven, Gradle and Jenkins for build, bundle and deploy application.
Work closely with testing team to get the testing completed on time.
Attend daily and weekly status and scrum meetings for updates, issues and road blocks
Developed user interface screens using GSP and HTML.
Using Grails Framework with RESTFul Web Services and Hibernate for middle tier.
Resolving production issues on time.
CentOS / Ubuntu system administration and performance tuning.
Worked with the system admin to resolve production deployment issues (Nginx, Tomcat, SQL server).
Environment: Java 1.8.0, Spring MVC, Maven, Hibernate, Gradle, Grails, Groovy, SQL Developer, Apache Tomcat, JBoss Developer Studio, JBoss 6.x/7.x, Git, jQuery, AJAX, Jenkins, Junit, Mockito, Redmine, JSP, HTML, XML,XSL, JSON, Spring Security, Centos, Ubuntu, Nginx




EDUCATION
Bachelors of Computer Science And Information Technology from Tribhuwan University. Education

Bachelors in Computer Science and Information Technology-
2013-2015

Certifications
AWS Solution Architect Associate (AWS) -- link
AWS Cloud Solutions Architect (SAA) -- link
Architecting Solutions on AWS -- link
Introduction to Designing Data Lakes on AWS --link

Devops With Docker (Mooc.fi)


Deerwalk Institute of Technology, Tribhuvan University, NepalPercentage: 77.31


Tools and libraries: Tomcat, Nginx, JMeter, Selenium, Tesseract, OpenCV, Hibernate, Postman, Pycharm, IntelliJ Idea, Git, Eclipse, AWS EC2, AWS S3, AWS lambda, Cron jobs, JBoss, Quartz
Operating System: Windows 7/8/10, CentOS, Ubuntu, Mac
Keywords: continuous integration continuous deployment user interface sthree database information technology microsoft procedural language Georgia Maryland Texas

To remove this resume please click here or send an email from [email protected] to [email protected] with subject as "delete" (without inverted commas)
[email protected];1028
Enter the captcha code and we will send and email at [email protected]
with a link to edit / delete this resume
Captcha Image: