We provide IT Staff Augmentation Services!

Software Developer Resume

4.00/5 (Submit Your Rating)

Cupertino, CA

SUMMARY:

  • 8+ years of software development experience that includes design, development, testing, and deployment of web applications using Java, J2EE, and application server technologies.
  • Extensive experience in Application Software Design, Object Oriented Design, Development, Documentation, Debugging, Testing and Implementation
  • Extensive hands - on experience in Core Java and J2EE based technologies, such as Servlets, JSP, JSTL, Custom Tags, Web Services, JNDI, and JPA.
  • Experience in Spring Framework (Spring Core, AOP, Data Access, MVC, Spring Batch), Hibernate, Struts, JDBC
  • Experience in Web Services using SOAP, RESTful, WSDL, HTML, XML, JAXB, XSD, SAX, and DOM.
  • Expert level skills in designing and implementing web server solutions and deploying java application servers like Tomcat, GlassFish, JBoss, WebSphere, Weblogic.
  • Experienced in using various IDEs like Eclipse, IBM RAD.
  • Developed the code for front end using JSP, JSP Custom Tags, JavaScript, AJAX, HTML, CSS and JSON.
  • Extensive experience in design, development and implementation of MVC using Struts, Spring Frameworks.
  • Experience working with versioning tools like CVS, SVN, GitHub, Perforce and Clear Case and build tools like ANT, Maven, Gradle
  • Good Understanding of Design Patterns such as Singleton, Factory, Abstract Factory, Facade, MVC, DAO, Observer, Proxy, Front Controller, Builder
  • Strengths include good team player, excellent communication interpersonal and analytical skills, flexible to work with new technologies and ability to work effectively in a fast-paced, high volume, deadline-driven environment.

TECHNICAL SKILLS:

Operating Systems: Windows, Linux, Mac, Android SDK (Systems Programming)

Languages: Java/J2EE, C/C++/C#, Sql / PLSql

Frameworks: Struts 2.x, Hibernate 3.x, Spring (Core, AOP, Data Access, MVC, Batch)

Web Technologies: JSP/Servlets, JavaScript, JDBC, EJB, JMS, HTML, XML, Javascript, JQuery, JSON, AJAX, JAXB, JAXP, CSS, WSDL, Web Services (SOAP and REST)

Application/Web Servers: Apache Tomcat, JBoss, WebSphere, GlassFish, Wildfly 9.x

Databases: Oracle 9i/10g, MySQL 4.x/5.x, DB2, PostgreSQL, Apache Derby

IDE: Eclipse, IBM RAD

Design Patterns: Singleton, Factory, Abstract Factory, Facade, MVC, DAO, Observer, Proxy, Front Controller, Builder

Tools: NS-3, Prolog, NetLogo, Weka, Hugin, Matlab, Deterlab, Simulink, SVN, Junit, Log4j, Maven, SVN, Confidential Composite Data Virtualization Software, Perforce, P4V Client, Xshell 5, GitHub, Postman, Jenkins/Fusion, Jira, Gradle

PROFESSIONAL EXPERIENCE:

Confidential, Cupertino, CA

Software Developer

Responsibilities:

  • Verifies data is present in the Oracle DB to be processed. Here the data relates to data of expired cards/about to expire cards.
  • Incorporation of classes extending the ItemReader, ItemProcessor and ItemWriter. Also incorporation of classes extending RetriableTasklets.
  • Retrieves the data .. (which could be about 2 million) from the Oracle DB, and processes them in batches of 10000, mapping each retrieved row to a POJO via a row-mapper, decrypting the encrypted card-number and mapping this entire data for each POJO to a ‘ChaseDetailRecordInput’ object … (The instantiated ‘ChaseDetailRecordInput’ object when exported generates the Chase Formatted 120 character String .. (accepted to Chase Paymentech) which is written to an inMemoryFile and MemoryDrive.
  • The data written to inMemoryFile/Memory Drive starts with a HEADER formatted String .. (formatted data generated from ChaseHeaderRecord), followed by ChaseDetailRecordInput Formatted Strings .. (this could range up to 2 million lines), followed by a ChaseBatchTotalsRecord formatted String .. (formatted data generated from ChaseBatchTotalsRecord), followed by a ChaseTotalsRecord formatted String .. (formatted data generated from ChaseTotalsRecord) and finally followed by a FOOTER formatted String. (formatted data generated from ChaseTrailerRecord).
  • A Builder Design Pattern implementation class used -- separately for the generation of HeaderCallBack. (containing the Header Chase Formatted String) and FooterCallBack. (containing the Chase formatted and appended strings of ChaseBatchTotalsRecord, ChaseTotalsRecord and ChaseTrailerRecord).
  • The written file is then sent to Chase Paymentech (CPT) SFTP location.
  • Chase Message Formatting: Designed and Implemented the layout and formatting for the following POJOs + wrote JUnit Test cases for each Record: This was implemented as a separate library. (chase-transport) and its jar incorporated in the chase-account-updater project.
  • ChaseHeaderRecord … (HEADER)
  • ChaseDetailRecordInput … (Intermediate data for each row containing information about expired/about to expire card numbers + their expiration date + other info)
  • ChaseBatchTotalsRecord … (contains information regarding the total number of ChaseDetailRecordInput objects + other related information)
  • ChaseTotalsRecord … (contains information regarding the total number of lines in this file + other related information)
  • ChaseTrailerRecord … (FOOTER)
  • Configured the JDBCPagingItemReader to read data from the Oracle DB with a definite paging size.
  • Configured the Composite Writer to write Chase Formatted Strings to inMemoryFile and MemoryDrive, in batches.
  • Configured code to send the written inMemoryFile to Chase Paymentech (CPT) SFTP location and rename the file after being sent.
  • Designed the Error Flow Layout for the Account-Updater Sender Flow
  • Embedded the functionality of Fault-Tolerant Error Handling Techniques with different Retry logic + Skip logic + Skip-Policy Exception Mappers.

Environment: Java/J2EE, Spring (Core, Data Access, Batch), RESTful Web Services, Jetty, Multi-Threading, Oracle DB, XML/JSON, JUnit, GitHub, Gradle, Jenkins/Fusion, DropWizard, Hubble

Confidential, San Jose, CA

Software Developer

Responsibilities:

  • Debug through the code and analyze to gain an overall understanding of the InvoicingServ REST API.
  • Used the POSTMAN Chrome App to test and develop the APIs. Configuring the relevant Header Information, POSTMAN was used to construct requests … Method + url + body (if necessary), interact with the API and analyze the json response returned by the API.
  • Added extra functionality to the InvoicingServ API by implementing the API methods (a) deleteExternalTransaction and (b) deleteExternalRefund, coding them internally in InvoicingServ to connect with InvoiceServ code. The flow through InvoiceServ hits the database tables via OCC and the response sent back from InvoiceServ is captured in InvoicingServ and sent back … (reflected as json response in POSTMAN).
  • Each newly implemented functionality extensively tested and validated via writing functional test cases for each implementation... (Writing java rest clients which are made to interact with the REST API and particularly the added functionality to validate the added functionality, secure it from possible failures and make it more robust).
  • Implemented JUnit test cases to validate the newly added functionalities.
  • Implemented a error handling mechanism to capture all possible code generated exceptions... (With their meaningful message), categorized them as according to status codes and have it displayed as error response... (Along with the message and type of Error) in json format, in case of exception formation.
  • Deprecation and enhancements of the following functionalities in InvoicingServ REST API:
  • Cancel Invoice
  • Send Invoice
  • Remind Invoice
  • Generate Invoice Number
  • Delete Invoice
  • Get Invoice Details: (added extra functionality to get History Data)
  • Implemented a future-callable multithreaded functionality where an external thread is spawned and a connection made from InvoicingServ to InvoiceServ to get the list of Event Log Data, pass this data from the external thread to main thread and embed this data in the invoice object to have it finally included and displayed in the response along with other data sent back during invocation of Get Invoice Details.
  • Modified and verified the Functional Tests for each of the above cases.
  • Modified and verified the JUnit test cases for each of the above cases.
  • Implemented the Error Handling Mechanism to capture all possible code generated exceptions and meaningfully display them in the Error Response.

Environment: Java/J2EE, RESTful Web Services, Multi-Threading, Oracle SQL, XML/JSON, Spring, JUnit, GitHub, Maven, Jenkins/Fusion, Postman, Jira

Confidential, Sunnyvale, CA

Software Developer

Responsibilities:

  • Member of DS Core Team 1 providing application support and maintenance functionality.
  • Debug and analyze the preload python and shell scripts to identify the Preload issue and modify code to resolve it.
  • Gained knowledge of the Wildfly Application Server and ways of building and installing Wildfly components as well as application deployment.
  • Monitor and troubleshoot the application based on an environment consisting of a server cluster with a load balancer implementing a fault tolerant mechanism with in-memory session replication.
  • Worked on the Digital Safe User Interface (DS UI):
  • Worked on tickets assigned in JIRA, including issues related to JSPs, Servlets and their interactions and handling run time exceptions in JSPs.
  • Worked on issues relating to thread safety of servlets and variable localization for user specific requests/responses.
  • Resolved issues arising from non-idempotent calls from client to server.
  • Issue identification via log file analysis.
  • Debugged code to identify the point of failures/issues.
  • Provided technical solution and enhancements to resolve the issues.
  • Test Digital Safe UI for prevailing issues as well as reporting them.

Environment: Java/J2EE, JSP/ Servlets, Web Services, Python, Shell, Jboss 3.x/Wildfly 9.x Application Server, PostgreSQL, Xml, Perforce, Jira, Jenkins, Windows 7, Linux (via VMware workstation)

Confidential, Sunnyvale, CA

Software Developer

Responsibilities:

  • Deployment of virtual regional store servers on local/virtual machines. Store servers deployed.
  • Debug, analyze and provide technical solutions to production issues (known as radars) collaborating with technical team members
  • Collaborate with QA Team to analyze QA server issues and propose fixes.
  • Developed RESTFul Server API for GET, POST, PUT, DELETE functions and integrated the RESTFul API with hibernate to perform the respective function with the database.
  • Applied security features to the RESTFul Server API by implementing a ServerInterceptor/Provider implementing the resteasy PreProcessInterceptor.
  • Wrote code to develop RESTFul client API using Spring MVC and client/web resource to send and receive data (JSON, XML, TEXT PLAIN) to/from Server RESTFul API.
  • Modify software code to provide enhancements to existing applications.
  • Test and validate applications.
  • Develop and direct software programming and create documentation.

Environment: Java, Threading/Concurrent networked applications, RESTful Web Services, Spring, MVC, XML, Oracle SQL, PL/SQL, iOS Objective C.

Confidential, San Jose, CA

Programmer

Responsibilities:

  • Acquire knowledge of the Composite Data Virtualization Software.
  • Create Composite specific function to connect to APPTIO Data store from Composite via REST API to get the APPTIO quarterly data in the form of a string (in a format in which the columns of a row are tab separated and each row separated by end of line character).
  • Wrote stored procedure to embed above function to retrieve APPTIO Quarterly Data in string format, and parse it row-wise and column-wise to produce a tabular format. (The columns of which represent RTB data) storing the data in Composite PIPE. APPTIO Quarterly data is retrieved for over a period of 3 years.
  • A logical data view (LDV) is generated from the above data.
  • Connected to TROUX data store to retrieve TROUX related data into Composite and a logical data view (LDV) generated from it.
  • A resultant LDV generated via EQUI-joining APPTIO LDV and TROUX LDV.
  • Above resultant LDV then published/virtualized within a virtual database (created within Composite) for Tableau/External APIs to connect to it and retrieve data.
  • Database caching technique implemented to cache data of the above LDV to improve performance in data fetch to Tableau/External APIs.
  • Connected Composite to Clarity to get Clarity related data and generated logical data views (LDV) which includes columns representing CTB data.
  • Virtualized above LDV within a virtual database for Tableau/External APIs to have access.
  • Database caching technique implemented of above LDV to improve performance.
  • Evaluated composite data elements using java and xml and prepared layouts for logical models and maintained database objects from various application components.
  • Coordinated with developers, project managers and analysts to prepare designs for new applications and documented all processes to ensure effective evaluation of all applications.
  • Collaborated with various departments and performed research on all data processing functions.

Environment: Composite Data Virtualization Software, Java, xml, Oracle sql, PL/SQL, JDBC, ODBC, Web Services

Confidential, Madison, WI

Software Developer

Responsibilities:

  • Debugged the code to gain an understanding of ‘Cares Worker Web (CWW)’ - the project which Confidential implements for the Confidential .
  • Involved in the creation and writing end-to-end code for three new pages (1) Referral Search Criteria (2) Referral Search Results and (3) Referral Details.
  • Used JSP, JSP Custom Tags for front end development and JavaScript for client side validations.
  • Used a Customized Struts Framework to map Urls (pageActions) to Action Classes (EJBs) for maintaining data and driver flow within the program. Created custom cargoes and merged it with the system framework to get the initial user input data into the program.
  • Wrote dynamic/static and custom DAO sqls along with the existing framework database interaction techniques to interact with the database.
  • Wrote code to embed a ‘Record Navigator’ in the ‘Referral Details Page’ which is a multi-layered architecture embedded in a single page allowing navigation along each of its layers. At a time, only the data on a single layer can be displayed on the page.
  • Worked as a developer of a 6-member team.
  • Active involvement during the phases of code construction, unit/integration and system testing.
  • Involved in the creation and writing end-to-end code for two new pages (1) Address Search Criteria and (2) Address Search Results.
  • Involved in modifying existing pages (1) Search Criteria (2) General Case Information and (3) Case Summary - to include new features and functionalities as according to the project requirements and writing end-to-end-code.
  • Procedures similar to the above FSET/ABAWD Policy Enhancements Project adapted to code my section of the EPP project: but adhering to the new Project Requirements and Objectives which had the implementation of extra features. (such as using a combination of the US Postal Webservice call and writing code to implement the feature of ‘Address Verification’, implement the different criteria for Address Search match, implementation of a button functionality on the navigation panel (to appear once navigated to the Case Summary page and while within the content of the Case) to return to the Results page from anywhere within a ‘Case Context’ and other relevant features).
  • Used the existing CWW framework techniques to achieve the project objectives.
  • Worked as a developer of a 4-member team.
  • Active involvement during the phases of code construction, unit/integration and system testing.

Environment: JEE on AIX and IMS-DC on z/OS mainframe systems, Java 1.4, EJB, Eclipse, Websphere Application Server, Windows XP/7, JavaScript, Servlets, JSP/Custom Tags, CSS, XML, JDBC 2.0, PL/SQL, Tortoise SVN, DB2, Oracle, SOAP and RESTful Web Services, WebSphere Portal Configuration, WebSphere MQ

Confidential, St. Louis, MO

Java /J2EE Developer

Responsibilities:

  • Project was developed following Agile and Scrum methodologies.
  • Developed the front-end user screens with Adobe Flex for rich interface features, with the required validations.
  • Created Action Script 3.0 files for validating data on client side as well for navigational purpose.
  • Used the Struts validation and Tiles Framework in the presentation layer.
  • Extensively used Hibernate in data access layer to access and update information in the database.
  • Involved in the database retrieval and connections establishment to the SQL Server database
  • Designed various tables required for the project in Oracle database and used the Stored Procedures MySQL in the application.

Environment: Java, JSP, AJAX, Struts, Spring, Hibernate, Adobe Flex, JNDI, Eclipse, Oracle, DHTML, XML, Action Script, UML, JSF, Web Services, JQuery, SOA, DOM, Ant, RAD

Confidential, Richmond, VA

Java/ J2EE Developer

Responsibilities:

  • Involved in various phases of Software Development Life Cycle (SDLC) such as requirements gathering, modeling, analysis, design and development.
  • Created UML diagrams like Class diagrams, Sequence diagrams, use case diagrams in different tiers of the module using Rational Rose.
  • Angular Java Script used for client side validations.
  • Ensure best programming standards and performance by using all the features in struts framework, struts Dyna Forms, struts validator.
  • Developed an Asynchronous AJAX based rich client to meet the user requirement.
  • Involved writing code in XSL Style sheet for creating dynamic web pages based on the XML templates.
  • Parsing XML and XSL files using SAX and DOM parsers.
  • Focus on converting the existing features in the application towards globalization of the application, which is internationalization of the web representation.
  • Used tiles framework for designing the layouts of multiple pages in the application.

Environment: HTML, JavaScript, Java, Struts, Spring IOC, JDBC, JSP, Servlets, JDBC, SQL, PL/SQL, ActiveMQ, JMS 1.1, Ant and Eclipse

We'd love your feedback!