Java Developer Resume
3.00/5 (Submit Your Rating)
SUMMARY:
- 12 years of Java development experience in the U.S. (mostly around Spring)
- 2 years of Scala programming (including sbt, Scala collections, future, Akka Actor, sttp http client, json4s …)
- 1 year of Confluent Kafka, Apache Hadoop and Spark
- 1 year of AWS (EC2, S3 and AWS SDK), Docker, Pivotal Cloud Foundry
- Experienced in Software Development Life Cycle (Git, Maven, Gradle, JUnit, Cucumber, Jenkins, Bamboo)
TECHNICAL SKILLS:
Technologies: Java core Java, Google Guice, Hibernate JPA, myBatis, Jersey REST services, visualvm / yourkit profiler.
Database: Oracle, H2, MongoDB.
Front end: AngularJS, Bootstrap, nodejs/npm, Express, Karma, Protractor.
PROFESSIONAL EXPERIENCE:
Java developer
Confidential
Responsibilities:
- Creating a REST endpoint using Reactive Spring Boot.
- This endpoint used the Reactive Stream Java driver to fetch data from MongoDB, then called a DocuSign REST service to fill out a 13 - page-long PDF form.
- Modifying a Spring Batch application to write Avro-formatted messages to a Kafka topic after the data is read from text files and successfully written to MongoDB.
- Writing a program to convert 2000+ unit tests with input data from Excel files to Cucumber tests where input data is in .feature files.
- Writing a program using AWS SDK for EC2 to automatically create EC2 instances, configure each of them to start a MarkLogic database instance from a docker image, run a subset of the above Cucumber tests, wait until the tests finish, download and combine the test result data and create a report for them.
Confidential, Jersey City, NJ
Java Developer
Responsibilities:
- My task was creating Spring Boot-based REST endpoints and implementing business logics in them, then deploying them on Pivotal Cloud Foundry.
- The clients for these endpoints were C++ and Java applications. Those endpoints were parts of the AIM (Application Infrastructure Model) project.
- It was responsible for automatic deployment, removal and updating of applications on all workstations and servers. It used a particular model to manage applications which defined some concepts:
- File Group: a collection of files; an application is a collection of File Groups
- OS Instance Group: a collection of workstations/servers that were guaranteed to have the same manager-approved versions of the same applications.
- Originally, each workstation/server had a C++ application on it talking to database service. This application ran lots of business logics to make sure the applications on that machine were up-to-date.
- The Java REST endpoints sat between the workstations/servers and the DB service.
Confidential, Jersey City, NJ
Java Developer
Responsibilities:
- Uploaded huge daily .csv files to Hadoop HDFS. Converted them to ORC format. Created external Hive tables based on these .orc files.
- Transformed data in .orc files to get the needed information and stored it in other .orc files.
- Used Jupyter Notebook (with Scala language) to show business users the data transforming process.
- Wrote a web application using Spring Boot, Angular 5 and Hive JDBC driver to show data in .orc files.
- Programmed with Apache Spark to read huge CSV files on Hadoop, searched, extracted, compared data then saved in files on Hadoop. The project used Spark 1.6 in Java.
- Wrote a Spring Boot-based web application and an Angular 4 front end to allow modifications, change tracking of static data in DB tables.
- Used Kerberos for automatic login.
Confidential, Jersey City, NJ
Java Developer
Responsibilities:
- Applied Agile software development methodologies in every project, feature enhancement and bug fix.
- Trade Query and Correction System:
- Upgraded the application to Java 8 (refactored lots of loops to stream, replaced java.util.Date with Java 8’s Date Time API), Hibernate 5.2.x (to persist Java 8’s Date Time classes correctly), Weblogic 12c.
- Applied concurrency programming to fetch and process data from different sources.
- Refactored, rewrote many parts of the application to remove vulnerabilities and to make them clearer.
- Wrote many new tests using the Spock framework.
- Fixed bugs, added new features and wrote tests for them.
- Convert this Struts-based application to Spring MVC.
- Global Securities Transaction Management framework:
- Used Java 8, Spring Boot, Spring Cloud and Netflix OSS to implement a microservice environment with a proxy service, many web services (providing html pages) and many resource services (providing data in json format).
- Used Spring Security, Spring LDAP, Kerberos and JWT to provide securities for REST services.
- Gradle as a build automation system.
- Exception Finder application:
- A Scala application periodically aggregated exceptions stored in the database of other applications, stored them in its own memory and showed them in one UI.
- Users can suppress or resubmit an exception to close it. That action triggered the application to call a stored procedure in the original system's database (the one catching the exception in the first place).
- Scala, ScalikeJDBC and Scalatra web framework were used.
Confidential, Warren, NJ
Java Developer
Responsibilities:
- Contributed to the eCore framework: dependency injection, JPA, concurrency programming and MongoDB.
- Facility Service: managed the lifecycle of facilities for customers.
- A facility indicated how much money a customer could borrow from the bank in some forms (loans, credit cards…).
- The Facility Service was used by the Credit Package Service to monitor customers’ facilities, the financial status of the customer's business and to help the bank to decide if it should lend out more money to this customer. While a facility was being edited (months), it was saved temporarily in MongoDB. After a facility was approved, it was stored permanently in Oracle DB for other systems to see.
- Collateral Service: managed the collateral life cycles. Collaterals were used for a facility and were used as one of many factors to decide if that facility should be approved or not.
- Covenant Service: covenants are conditions on customers. If a condition is not met, the customer might not be able to borrow the money from the bank.