Web Developer Resume
Columbus, OH
TECHNICAL SKILLS
Operating Systems: MS Windows, Mac OS X, UNIX, Linux, VAX/VMS
Programming Languages: J2SE, J2EE, Visual Basic 6, VBA, C, C++, and some C#
Scripting Languages: HTML, CSS, XML, JavaScript, jQuery, PHP, SQL, XQuery, UNIX Shell, and T - SQL for MS SQL Server 2008
Database Management Systems: Oracle, MySQL, Sybase, Filemaker Pro, SQL Server, DB2, and MarkLogic
Database Tools: SQL Server Management Studio 2008, SQL Developer, HeidiSQL, Toad for Oracle, and Toad for SQL Server.
Application and Web Servers: Apache Tomcat, GlassFish, WebSphere, JBoss, and Weblogic
EDI/BPI Development Tools: SeeBeyond e*Gate 4.5.3 and Websphere Integration Developer (WID) 6.0
XML Editor and Mapping Tools: Altova XMLSpy, Altova MapForce, Liquid XML Editor, and XML Editor
XML Parsing Frameworks: JDOM, XOM, XMLBeans, and XSOM.
Web Programming Technologies: AJAX, Portlets (in Liferay), Servlet and JSP, JSF 1.x, IceFaces, Struts 2
Software Version Management Tools: IBM ClearCase, IBM RTC, Subversion, GIT, and Hudson
Other Programming Technologies: Spring, Hibernate, ibatis, JUnit, TestNG, Ant, Maven, Mockito, DbUnit, Klocwork, PMD, FindBugs, JPA, OpenJPA, soapUI, Axis, and Mediawiki
Java IDEs: Eclipse, MyEclipse, NetBeans, IntelliJ, and IBM RAD and RSA
Other IDEs: Visual Studio 2008, 2010, 2012, 2013, Pycharm, and Wingware Python IDE
Software Development Methodologies: Agile, Waterfall, and RUP
Updating Knowledge to Include: HTML 5, AngularJS, Bootstrap, MongoDB, Python, Spring MVC, C# 5, ASP.NET MVC, and DevExpress.
PROFESSIONAL EXPERIENCE
Confidential, Columbus OH
Web Developer
Responsibilities:
- Worked on a web project which used AngularJS and Bootstrap on the front-end and MySQL as the database. The CRUD operations were done in LINQ, and it utilized the REST protocol as the communication medium between the database and the controllers.
- Worked on a project which upgraded a client’s current Java programs, which were written using version 1.3, to Java 6. Also upgraded their EAR and WAR projects, which targeted WebSphere Application Server v5 as the deployment server, so that they are compatible with WebSphere Application Server 8.5. Went through all the code to identify and recommend re-write opportunities, and eliminated most of the warnings generated mostly due to lack of use of generics types and unused variables.
- Working on a web project which utilizes the DevExpress controls and data source objects. It uses Bootstrap and HTML 5 on the front end with a SQL Server database. It also utilizes LINQ for the CRUD operations.
Confidential, Columbus OH
Programming Analyst
Responsibilities:
- Worked on an in-house web application using Struts 2, Spring, and traditional web technologies (e.g. CSS, JavaScript, jQuery). Also implemented several functionalities of the application using other frameworks. For instance, generated customer emails using JavaMail and TinyMCE APIs; generated in-house reports in Excel using the Apache POI API; and implemented date time pickers using Struts 2 jQuery and Dojo plugins.
- Written stored procedure and functions using T-SQL.
- Setup Hudson to automatically build, test, and deploy application to Tomcat servers in Linux environments.
- Written unit test cases using JUnit and mock objects using Mockito.
- Written shell scripts to manually deploy web applications to Tomcat server on Linux for DEV and QA testing.
- Coordinated with the network group to setup F5 load balancing and monitoring on PROD servers; and performed new application deployment to PROD servers.
- Created a web service client with AXIS for the data automation group to access public court records in Pima, Arizona. Wrapped the client in a Java Swing GUI and set up logging mechanisms through log4j.
- Created a Swing application for QA to load test the URLs generated by another web application. The Swing application, first, requests users to enter their username and password for LDAP authentication. Then, it provides another screen for users to select the file that contains the list of targeted URLS, and requests for other testing parameters (e.g. number of times each URL should be hit and the number of threads spawned for each URL hit). In addition to logging information, the application will return the response and process time of each URL hit or the reason(s) when an URL fails to provide a valid response.
- The same Swing application also allows users to request for information on DataVerify by sending multiple XML requests, through POST protocol, from its website in a batch process.
- Created a servlet that handles both Identity Provider (IdP) initiated, i.e., users log on at client locations, and Service Provider (SP) initiated, i.e., users visit the web application directly, single sign on (SSO) processes via PingFederate server as a proof of concept for the process. And currently working on implementing the servlet into web application.
- Created a simple proof of concept application that involves sending a message through a RabbitMQ topic queue, then transforming the message into XML, and saving it to the MarkLogic database. The file is then read from the MarkLogic database, sent through another RabbitMQ topic queue to a process that extracted the message, and saved the message to a file on to the local drive.
- Involved in the design process for the backend system re-write, and written up preliminary design document to explain the process to upper management and justify the new technology recommendations.
- “Mavenized” an existing web application which is ant-built with over 150 dependency library jar files; it also requires the creation of a bunch of Java stub files from an existing WSDL and copying a bunch of files from another project located in the SVN. Also working on updating all the dependency jar files and modifying the existing code for the backward incompatible classes from the jar files.
- Worked on compiling a list of files changed based on JIRA number from the SVN using the SVNKit and JIRA comments for each JIRA number using the JIRA Java API for each QA release into a file to be included with the release.
Confidential, Dublin OH
Java Developer
Responsibilities:
- Working on a project initiated by the TCGA program of the NCI which involves converting cancer patient study results in XML format into tab delimited format, aka “biotab”, using XOM, XSOM, and XMLBeans.
- Performed analysis on the biospecimen and clinical XML files, by disease study, in order to better understand the different requirements of the biotab files for each disease.
- Written a custom class loader to load the necessary classes from third party jar files within an executable jar file, and make a method call to the main class of the application using the Reflection API.
- Written an utility class to validate the date related data from the XML according to business rules and to generate data to obfuscate the patient identifying date related data.
- Writing a XML parser in JDOM to create new XML files with the obfuscated data to test the utility class.
- Evaluating Apache Camel and ActiveMQ to integrate the biotab file generating process from obtaining the XML files for processing to the bundling of the biotab files.
- Written a Java program to bundle the biotab files and cryptic-hashed the bundling files with MD5.
- Writing documentation for the biotab generation process, the date utility application, and the bundling process in Confluence.
Confidential, Columbus OH
Senior Java Developer
Responsibilities:
- Supported the ECS application which utilizes front-end controller servlets and JSPs with a fair amount of client form validations written in JavaScript. One of the projects involved consolidating several servlets and JSPs into one single controller with one view in addition to creating a considerable amount of SQL operations for use with the new database structure.
- Supporting the ROCS application which utilizes JSF 1.1, Spring Web Flow, and Hibernate. One of the projects involved creating a new entity and modifying DAOs and their implementation classes, adding new flows to the application, and minor reconstruction of the client view. The project utilizes knowledge in all three frameworks.
- Worked with the UI and integration teams to perform service operation analyses on each business process model identified by the business analysts on the OWF project which has just been released to the clients of Confidential ’.
- Worked with data model domain experts to identify entities for each data domain and created entity classes and fundamental DAO operations (i.e., CRUD) using OpenJPA for each entity class.
- Written Groovy script to generate WSSE header in the SOAP request and destroy the header after receiving the response in soapUI in order to create an automated testing environment for each service operation. Also written Windows batch scripts and bash scripts on LINUX to run soapUI tests without the user interface; and written a Python program to generate HTML reports based on the results of the runs for the enterprise test team.
- Created WSDL and XSD for each service, generated the service skeleton beans using top down method; and implemented the logic for identified operations.
- Implemented DbUnit to test the DAO implementations and mocks via Mockito to test the service operations.
- Written several simple service clients in C# to test the operations in addition to using the soapUI tests.
Confidential, Columbus OH
Software Developer
Responsibilities:
- Utilized the Agile development practices, including stand-up meetings, story cards, three amigos meetings, and the Extreme Programming disciplines like Test-Driven Development and Pair Programming.
- Supported and developed new features for the Prospect Integration portion of an application, which was developed using Jacada Fusion within the Jacada Workspace, written for field agents to enhance customer integration.
- Utilized IBM Rational Application Developer for WebSphere Application Server.
- Utilized several J2EE design patterns such as MVC, DTO, Business Delegate, and Session Façade.
- Utilized JSP, CSS, and JavaScript, including jQuery, JSON, and AJAX to modify and create view/widget layers.
- Utilized JiBX for binding XML data to Java objects.
- Written test cases using JUnit and created mock objects via EasyMock.
Confidential, Dublin OH
Java Developer
Responsibilities:
- Supported two of Confidential ’s products: Avatar RADPlus is built on a Java Swing frontend and a J2EE backend; and BUI is built on Swing, applets, servlets, and JSP.
- Perform research and develop solutions on issues concerning the incompatibility of applets with the next generation plug-in from JRE 1.6.0 18 and LiveConnect.
- Re-designed the existing data warehouse configuration console in order to allow the application to run under Windows Server 2008 and, at the same time, maintain compatibility with the previous versions of Windows Servers. The major modifications occurred on the separation of the GUI and server components of the application and its Windows service component.
- Wrote a web service in Java and Axis 1.4 for knowledge base website. The example demonstrates passing variables into an existing web service as well as verifying data integrity through MD5 checksums on the transferred file.
Confidential, Columbus OH
Development Engineer
Responsibilities:
- Created a landing page for one of the sub-websites for a future advertising campaign of a major client’s in JSP; and written a servlet to interact with this JSP as well as the Adobe Flex version of this page, which would allow users to download applications to mobile devices and reward points to users only on their first download.
- Resolved problem tickets on the GUI and the backend of the website using HTML, CSS, and servlet.
- Set up SSL on Tomcat versions 5.5 and 6 with self-signed certificates, and set up security constraints on the application to make sure the application can run under the SSL environment.
- Wrote JSON wrappers for the Java service classes as a communication means between the application and another application written by a third party vendor.
- Wrote another sub-website in JSP and POJO to allow users to upload their photos to the site, send the pictures to a third party vendor for validation, and informing the users when their pictures are approved through the dedicated email server.
Confidential, Dublin OH
Data Analyst / MarkLogic Developer
Responsibilities:
- Worked on a project to strengthen the quality of DOI (Digital Object Identifiers) resided in CAPlus records so that a value added feature can be included in the next release of SciFinder.
- Project involved mapping both CrossRef (primary source of all DOI) and CAPlus XML files into a common in-house schema; developing XQuery code to cut up the multiple-DOI contained files into files with single DOI record, and load the processed files into MarkLogic; statistically analyzing data from both sides to determine the common fields that can be used for matching to identify problematic DOI records; further analyzing the fields to determine how to standardize the data so that the best matching result can be obtained.
- During the file loading process, DOI have been identified in many malformed and invalid files. Based on the identified DOI for the questionable files, a python program was written to search for the files in a directory containing the specific DOI.
- Performed data analysis on the files to identify the problems and sent the list back to the vendor for file corrections.
Confidential, Columbus OH
Systems Analyst
Responsibilities:
- Worked on a project to web-enable a financial reporting process.
- Process involved analyzing existing code written in COBOL and Excel VBA, then generating a requirement document for developers to upgrade the code using Groovy and Grails.
- Reviewed systems scripts written in Perl and Perl DBI to determine the data source for the requirement document.
- Learned to program using Groovy and Grails in the process despite of the project termination after one week.
Confidential, Powell OH
Application Support Developer
Responsibilities:
- Fixed issues and implemented enhancements to the application, which is written in Java and using Swing as the front end and J2EE as the back end, as identified by customers and QA.
- Most requests were UI related which involved local debugging on client side to track down the problems or implement the necessary enhancements.
- Provided required remote debugging on the server side and Oracle stored procedure changes.
- Involved in QA testing to make sure the customer requests were completely fulfilled in monthly patches and to find out if there are any new issues that have not been covered; then updated existing or opened new tickets in TeamDynamix to report any findings.
- Wrote standalone Java applications to solve customers’ requests outside of the product application. For example, wrote a Java Swing standalone application to encode characters outside the range of the 7-bit ASCII code so customers could view web documents in its entirety without the display of incorrect characters.
- Wrote a Java program to transform error logs created by the application, in XML, into HTML using XSLT and XPath.
Confidential, Columbus OH
Senior Research Programmer
Responsibilities:
- Developed the TOKEn browser using AJAX technologies, demonstrating the feasibility of allowing research or medical professionals to use conceptual knowledge discovery in database approaches in order to search for and annotate relationships between biomolecular and phenotypic concepts in large scale data sets.
- Developed and deployed the first version of the Patient Study Calendar for use by the multi-centered CLL Research Consortium (CRC) using JSF technologies to provide a user-friendly environment for site coordinators and nurses to maintain schedules for study participants.
- Actively evaluated interoperability of preceding tools with the caGrid platform.
- Developed and executed comprehensive project plan for the CRC Patient Study Calendar project.
- Actively worked with multi-member team to ensure compliance with project plans.
- Developed and disseminated project documentation as needed.
- Implemented and administered a Linux Cent OS server for the LTRC to host new applications.
