Senior Systems Software Engineer Resume
GA
SUMMARY:
- Sr. Java Developer with over 10 years of experience that includes Enterprise Web & Backend Development and Sytems Integration using Java / Java EE.
- Expertise in Object Oriented Programming and development of n - tier component based enterprise Web Applications using Core Java6/7, Java EE 5 (Servlets, JSP, JDBC, JTA, JPA), Web Services (REST), JSON (Jackson, GSON) and XML (DOM, JAXB)
- Experienced working on with industry standard frameworks like Spring 4.x/2.5/3.0, Hibernate 3.0/4.0.
- Have worked on deploying WAR/EAR files to Tomcat 6/7, Weblogic and JBoss in both Windows and Unix-based platforms.
- Familiar with developing front-end technologies using JSP/JavaScript/HTML/CSS/JQuery.
- Highly proficient in designing Enterprise applications with Java/Java EE design patterns/best practices/coding standards including GoF Design Patterns, Dependency Injection and MVC.
- Expertise in creating Unit Tests using JUnit 3/4 with the use of Mocking frameworks such as Mockito, EasyMock and PowerMock.
- Have experienced working with Continuous Integration environment such as Jenkins, Bamboo and Cruise Control.
- Experienced in designing Normalized Database design, Database Management and Data Manipulation using SQL scripts.
- Can confidently interface with different business clients to gather project requirements, demos & presentation and other concerns in order to deliver the assigned projects.
TECHNICAL SKILLS:
Languages: Java 6/7/8, Java EE 5/6, JavaScript, XML, HTML, Visual Basic 6.0, VBA
Web/Server Technologies: Spring 4.x/2.5/3.0, Hibernate 4.0/3.0. JSP 2.1, JSTL, Servlets 3.0/2.5, JasperReports, JQuery, Ext JS, iBatis/MyBatis
Web Services: RESTful, XML
Databases: MySQL 5/6, SQLite, Oracle 9i/10g, PostgreSQL, MS Access
J2EE Design Patterns/Architectures: MVC, IOC, Singleton, Factory, Fa ade, Bridge, Data Access Object, Adapter, Observer, Strategy
Testings: JUnit 3.0/4.0, Mockito, EasyMock, PowerMock
Application/Web Servers: Tomcat 6.0/7.0, JBoss, WildFly
Operating Systems: Windows NT/2000/XP/2003/7, CentOS, Linux Red Hat
Mobile: Android SDK, BlackBerry SDK, J2ME
Version Control: Git, Atlassian Stash, Subversion, Accurev, Perforce
Architecture and UML design tools: Microsoft PowerPoint, Microsoft Excel, Microsoft Visio
Methodology: Agile (SCRUM, XP), SDLC
CI: Jenkins, Atlassian Bamboo, Cruise Control
IDE: Eclipse, Android Studio, IntelliJ
Build Tools: Maven, Gradle, Ant
Peer Code Review Tool: Atlassian Stash, Crucible
PROFESSIONAL EXPERIENCE:
Confidential, GA
Senior Systems Software Engineer
Responsibilities:
- Develop Server-side service APIs that will be used by the mobile app.
- Add Spring Controller methods to be used by the Mobile client app.
- Add or modify new or existing business services based on the provided specifications and response structure agreed with the mobile app team.
- Develop webservice calls to various external service APIs and consume response data.
- Marshall and unmarshall client request and response using Jackson for JSON data.
- Parse external service response using Castor Marshaller for XML data.
- Create cache to persist database data to the memory. Setup a cache reload functionality if DB data has changed.
- Utilize parallel execution by spawning Threads using ExecutorService to execute independent processes in parallel.
- Log transactions using Spring AOP.
- Find bottlenecks using JMeter and resolve to improve application response time.
- Integrate to various systems like ATG, PEGA and also to LDAP.
- Create Unit Tests for every changed or created components.
Environment: Java 7, Spring iOC/MVC/AOP 4, JUnit 4, SQL, Stored Procedures, Oracle Coherence, Oracle Database, JMS, JNDI, JSON, XML Eclipse, Maven, GIT, Accurev, Castor, Jackson, Axis2, SQLDeveloper, JMeter, ActiveMQ
Confidential, San Mateo, CA
Software Engineer
Responsibilities:
- Interact regularly to Product Owner, QA and Server team to gather requirements and get clarifications through User Stories
- Analyze the documented specifications by the Architecture Team specifically on the HTTP request requirements between Server and Mobile app.
- Create or modify changed tables using Hibernate annotations.
- Create or modify DAO components that implements on using Hibernate HQL or Criteria.
- Setup Controller to handle HTTP request and response using Spring MVC and JSON.
- Analyze documented wireframes provided by the Product team to be implemented to the Android app.
- Create Activities, Services and layouts in the Android app based on the wireframes.
- Create or modify the Android components that sends HTTP request and handle responses coming from the Server.
- Create or modify unit tests for new or changed classes using JUnit, Mockito and PowerMock.
- Create Pull Request so the change will be reviewed by the development team using Stash.
- Push code changes to the team’s central repository using Git.
- Check for compile errors and failing unit tests in Jenkins and resolve it.
Environment: Core Java 7, Spring 3.0 MVC, Hibernate 4.0, Android SDK, Junit 4, RESTFul Web Services, JSON, GSON, Stash, GIT, Eclipse, Android Studio, Gradle, Maven, Jenkins, SQL, PostgreSQL, Windows 7 (Development), Unix (Non-Development), Google Cloud Messaging
Confidential, San Mateo, CA
Software Engineer
Responsibilities:
- Participate in Sprint Zero to gather and estimate development tasks required for the product.
- Work with the Architecture team on converting the requirements into codes.
- Setup Controller Servlets using Spring MVC and implement agreed documented specifications set by the Architecture team
- Setup Controllers for event reports coming from the Android app that will be looked up by Prod Support.
- Develop or change existing SQL queries for retrieving or updating data to Database.
- Setup GCM message to notify the Android app to do HTTP requests to Server depending on the event using REST WebServices and GCM.
- Create or modify existing Test Cases using JUnit and used Mocking frameworks like EasyMock and PowerMock.
- Create Android screens based on the required UI specifications from Product team using Android Studio.
- Maintain RestClient component in Android that sends HTTP request and handle responses coming from the Server
- Create Pull Request so the change will be reviewed by the development team using Stash.
- Stabilize central repository in Jenkins especially if there Unit tests that are failing.
- Push code changes to the team’s central repository using Git.
Environment: Core Java 7, Spring 3.0 MVC, Hibernate 4.0, Android SDK, Junit 4, RESTFul Web Services, JSON, GSON, Stash, GIT, Eclipse, Android Studio, Gradle, Maven, Jenkins, SQL, PostgreSQL, Windows 7 (Development), Unix (Non-Development), Google Cloud Messaging
Confidential, Manila, Philippines
Part-time Programmer Analyst
Responsibilities:
- Gather requirements from different key stakeholders in DPWH.
- Develop a Proof-of-Concept application and setup demo to all end-users.
- Create and design a Schema in MySQL and create table definitions with their respective relationships.
- Implement Data Access Layer (DAO) by using Hibernate that directly access the created MySQL Schema.
- Implement Business Layer containing all application Services to process the agreed business logics.
- Encrypt user passwords using Jasypt before storing to the User table.
- Implement and writing several Spring Controllers/Servlets to handle HTTP Requests from JSP pages.
- Deploy WAR files to Tomcat 7.0.
- Write JSTL and JavaScript codes to JSP files to display requested data coming from the Server.
- Implement Web Security using Spring Security to handle user authentication, handle different user roles and session timeouts.
- Use JasperReports library to implement reporting feature. Used iReport tool to design the report templates.
Environment: Core Java 6, Spring 3.0, Hibernate 4.0, HTML, CSS, JavaScript, JSP 2.1, Jasper Reports 4.1, iReport, JSTL, MySQL, Maven, Eclipse, SQL, Windows 7, Jasypt
Confidential
Programmer Analyst
Responsibilities:
- Setup meetings with the stakeholders to gather account review requirements and strategize on how to connect to the target system for account extraction.
- Develop the agreed integration process using the nominated Test environments by the stakeholders.
- Develop the component that will extract data from the external source.
- Plug-in the new component by configuring the Identity management system to use that bean for a particular account review report.
- Configure Identity Management System to finalize the integration.
- Provide packaged JAR file to Operations team so it will be setup to Production.
Environment:: Core Java 6, Hibernate 3.0, Spring 2.5, SQL, XML, REST/SOAP Web Services, Windows Active Directory, JDBC, CentOSConfidential, Manila, Philippines
Associate Applications Engineer
Responsibilities:
- Analyze the documented feature request from Product Management team.
- Create or modify an existing JSP page depending on the provided Wireframes.
- Create or modify Service components and write corresponding JUnit test cases required by Cruise Control CI Server.
- Add new bean in Spring container for new features.
- Update Hibernate mapping XMLs if necessary.
- Create batch jobs for converting data from a 3rd party legacy system to target tables in ETM.
- Document and propose fix for known issues for Architect team approval.
Environment: Core Java 6, JavaScript, Spring 2.5, Hibernate 3.0, JDBC 2.0, JSP 2.1, HTML, XML, XPath, Oracle 9i/10g, SQL, SQL Developer, JBoss, Perforce, Cruise Control
Confidential
Software Developer
Responsibilities:
- Develop JSP Web pages and Servlets for new screens or modify existing components depending on the client's change request.
- Design or modify DB tables based on the requested change.
- Develop SQL scripts to be used in Kettle Data Integration Tool that will pull the data
- Deployment of the WAR files to UAT and assist Operations team for production deployments.
Environment: Core Java 6, Servlet 2.5, JSP 2.1, JUnit 3, JDBC 2.0, JFreeChart, SQL, MySQL, JBoss, Subversion, Spring 2.5, Kettle, JFreeChart, Red Hat Linux (UAT & Prod), Windows XP (Dev), Maven, Eclipse
Confidential
Software Developer
Responsibilities:
- Develop JSP Pages with JavaScript codes to display data and handle server requests/responses
- Develop Servlets and Services to handle requests coming from the JSP Pages.
- Develop SQL scripts to be used by Kettle Data Integration tool that will extract data from an external source.
- Deploy changes to UAT and Production Servers. Write DDL scripts to be executed by DB Admin.
Environment: Core Java 5, Servlet 2.5, JSP 2.1, JUnit 3, JDBC 2.0, SQL, MySQL, Tomcat 6.0, Subversion, Spring 2.5, Kettle, JFreeChart, Red Hat Linux (UAT & Prod), Windows XP (Dev), Eclipse