Senior Full Stack Developer Resume
3.00/5 (Submit Your Rating)
Alexandria, VA
SUMMARY
- Expertise in Object - Oriented industry best practices, analysis and design.
- Strong knowledge and expertise in software architecture, enterprise integration, full SDLC, software development tools, and open source technologies.
- Experience providing both front and back end mobile and web solutions.
- Great troubleshooting skills and ability to absorb large amounts of information quickly and efficiently.
- Ability to meet strict deadlines in a fast paced team environment while leading and mentoring the team.
- Very passionate about technology; Spend a lot of time learning new technologies and frameworks, as well as industry best practices
- Organizer of 2 DC meet ups, DC Ionic Framework, and DC Spring Framework
- Maintainer of open source JS plugins; github
TECHNICAL SKILLS
- Java
- AngularJS
- Angular 2
- Ionic
- Ionic 2
- TypeScript
- Grunt
- Node.js
- Gulp
- Bower
- Backbone
- Handlebars
- Karma
- Mocha
- Jasmine
- Yeoman
- PhoneGap
- Cordova
- React
- LESS
- SASS
- CSS3
- Bootstrap
- J2EE
- SQL
- PL/SQL
- Spring JDBC
- JMS
- JSON
- XML
- XPath
- XMLBeans
- Jackson
- JAXB
- XSD
- WSDL
- SOAP
- REST
- Ant
- Maven
- GIT
- JUnit
- Mockito
- JPA
- SpEL
- JSP
- Thymeleaf
- JSTL
- STOMP
- SockJS
- HTML 5
- JavaScript
- JQuery
- JQuery Mobile
- Spring Core Framework
- Spring MVC
- Spring Data
- Spring Boot
- Spring Batch
- Spring Integration
- Spring Websockets
- Spring Web Services
- Spring Security LDAP
- Spring AMQP
- SPA ’ s
- OWF
- Redis
- Oracle
- PostgreSQL
- MongoDB
- STS/Eclipse
- IntelliJ
- WebStorm
- JIRA
- Bamboo
- Jenkins
- SoapUI
- ActiveMQ
- HornetQ
- XCode
- Tomcat
- Jboss
- TOAD
- Oracle Forms/Reports
- Photoshop
- GIMP
- Kony
- Agile/Scrum
- Waterfall
PROFESSIONAL EXPERIENCE
ConfidentialResponsibilities:
- Created a POC reviews app for Android, and iOS.
- Mobile SPA implemented in Cordova, Ionic 2, Angular 2, SASS
- Built a backend REST application in Node.js.
- Setup and deployed server app to AWS environment (EC2, Beanstalk, Nginx).
Responsibilities:
- Lead of a 2 man team developing a sports news app for Android/iOS.
- Mobile SPA implemented in Cordova, Ionic, AngularJS, SASS, Grunt, and Bower
- Built a backend REST application in Node.js which connects to a Redis instance and aggregates RSS feeds for many sources for a specific sport/team/league.
- Setup and deployed server app to AWS environment (EC2, Beanstalk, AWS ElastiCache/Redis, Nginx).
- Open sourced popular plugins for Ionic and Node.js including ionic-filter-bar, ionic-scroll-sista, ionic-content-banner, and node-feedjett
Senior Full Stack Developer
Responsibilities:
- Full stack developer responsible for developing/maintaining features, as well as improving application architecture in an ongoing product for the Army.
- Lead for the data ingest team responsible for creating multiple micro services in both Java/Spring Boot and Node.js, which ingest public information from social media sources and APIs and communicate via RabbitMQ
- Split up front end (AngularJs / OWF) and API code (Spring MVC/Java) into separate repos to better suit UI/backend teams and increase productivity, which also included tasks such as removing JSP and XML Spring config, configuring the Maven project structure/module hierarchy, and using a packaging manager for 3rd party UI dependencies. As a result, development build time drastically improved from minutes to seconds.
- Created a shared messaging layer using Spring AMQP which multiple Java/Spring applications use to communicate to/from RabbitMQ queues and exchanges which allowed us to remove lots of low level API client code
- Refactored large data ingest application to use Spring Boot and leverage Dependency Injection as well as existing Service modules allowing us to remove lots of redundant code and client connections
- Led a major ElasticSearch upgrade effort which included upgrading API code/Queries from 1.4 to 2.3, and creating/configuring a Docker container for ElasticSearch rather than an embedded instance
- Implemented Websocket endpoint using Spring Websockets which uses RabbitMQ as a web socket broker. Client uses SockJS to manage connections to the web socket endpoint.
- Development of multiple UI features and Angular 1.5 components including specialized dashboards, and widgets.
Lead Developer / Architect
Responsibilities:
- Work as a consultant to financial institutions providing detailed analysis and implementing mobile banking solutions such as SMS banking, mobile deposit, mobile alerts, and mobile banking applications for smartphones, tablets, and web browsers. Additional services include a CSR console, reporting console, and a user enrollment application.
- Lead and mentor small teams ranging from junior to senior developers.
- Provide documentation in JIRA Confluence/Wiki space on topics such as software architecture, best practices, design, internal processes and procedures, release management, and release artifacts.
- Provide LOE ’ s to directors and PM ’ s for potential and signed business.
- Create User Stories and tasks in JIRA Agile and work with PM ’ s to organize tasks into sprints for all projects.
- Handle basic deployment operations such as deploying artifacts to tomcat servers, configuration, and troubleshooting on Linux machines.
- D3 Banking Arvest Implementation
- Customized an existing D3 SPA for Arvest bank by rebranding and adding new features such as dynamic contextual help, online help tutorials, and integration with IntelliResponse, a virtual agent and knowledge base management provider.
- Rebranding was done using LESS.js and Bootstrap, while feature enhancements were developed in a JavaScript SPA using Backbone, Grunt, Bower, and Handlebars templates.
- Arvest Bank Mobile Batch Alerts Implementation
- Developed a mobile alerts engine that polls a directory for xml files and reads a list of accounts and nested transactions in batch to determine whether or not to create alert requests based on complex business rules. All alert requests are sent to the Core server application via an outbound web service gateway (SOAP) which handles alert delivery via XSL templates. The alerts engine also includes complex error handling logic that sends error email notifications to clients and writes detailed error content to specific xml files.
- The alerts engine is developed in the Spring Batch and Integration frameworks and uses JAXB in the OXM layer conforming to client XSD ’ s.
- Refactored the main integration layer between the bank and our backend server using enterprise integration patterns and the Spring Integration framework.
- Arvest Bank myArvest Legacy iOS Application Integration
- Integrated features from a legacy native iOS application into the current Android/iOS application, removing the need for the legacy application.
- Features were developed in our SPA using the PhoneGap platform with HTML 5, XUI.js, Mustache.js, CSS 3, and ANT.
- Redesigned the UI/UX of the current application to accommodate new features such as Ads, location services, rates, calculators, and contact info. As a result, the app won most innovative Monitise mobile banking app of the year.
- Used the Android AVD Manager and XCode IDE during development and testing. XCode was also used for iOS provisioning and submission.
- Mobile Alerts Demo Android, Mobile Web, and Backend Application
- Developed a mobile application that allowed users to register for and send real-time informational and conversational SMS alerts to their mobile device. This app was used by executives for business development.
- The mobile web application was built on Spring MVC (3.x), and Spring Mobile for device detection/resolution. The web app would render Thymeleaf HTML 5 view templates optimized with JQuery Mobile. All alert requests made from the web app, were marshalled to XML using JAXB and sent to a JMS backed HornetQ queue via Spring Integration.
- A backend web application, built on Spring integration and JAXB, listened on the HornetQ queue, and handled all business logic to transform alert events to the appropriate alert requests to be sent to the device.
- Developed a Native Android application that would render the mobile web application in a WebView. Executives used this app remotely to access the mobile web application which was deployed on a VM.
- Sallie Mae Project Upgrade and Android Application
- Configured the Atlassian Bamboo CI server to trigger builds on commits, send status notifications, and allow for downloading artifacts.
- Customized the Monitise mobile banking application for Android using PhoneGap, HTML 5, CSS 3, XUI.js, Mustache.js, AVD Manager, and ANT.
- Modified the existing reporting console to allow for LDAP authentication (via Spring Security/LDAP).
- Spring REST and MongoDB Proof of Concept Web Application
- Developed a small web application for an internal POC built on Spring MVC REST (3.x) that exposed RESTful services consuming JSON. The data was then stored as MongoDB documents using Spring Data MongoDB.
- Kony Demo Loan Origination Android/iOS Tablet Application
- Led design and development of a small loan origination Android/iOS tablet application using the Kony studio platform (JavaScript version) that was demoed by team executives in a Kony Conference in Orlando FL.
- Sallie Mae Mobile Deposit and Alerts Implementation
- Part of a team that implemented mobile check deposit, a feature that allows customers to deposit checks into their bank accounts from the mobile banking application. Mobile Deposit functionality was added to a Core server application using Spring Web Services (SOAP), XMLBeans, and XPath in the integration/OXM layer to send and receive XML from a third party vendor.
- Led the development of a Spring Batch application that polls a file directory for flat files containing alert events, then reads, transforms and sends alert requests (SOAP calls) to the Core server.
- Sallie Mae, Comerica Bank and Arvest Bank Project Restructure
- Refactored existing code base into a multi-module nested Maven project structure to manage dependencies and plugins as well as aggregating all target artifacts into a single distribution.
- Developed a local build automation module within the project structure which contained specific Maven profiles for recreating the local development environment and PostgreSQL database, deploying artifacts to a local tomcat instance, and copying the distribution to remote servers.
- Configured the Jenkins continuous integration server to trigger builds on SVN commits, send status notifications, and allow for downloading artifacts.
Senior/Lead Java Developer
Responsibilities:
- Lead developer on energy data collection web applications for DOE clients.
- Worked closely with the PM and federal employees on site to gather detailed user requirements using the waterfall methodology.
- Helped manage LOE ’ s, timelines, and resource allocation in Microsoft Project.
- Energy Data Collection Web Applications
- Developed 2 web applications from scratch in the Spring MVC framework (3.x) to replace legacy Oracle Forms applications.
- Designed Oracle data models and used the IBatis ORM tool in the data access layer to interact with the database.
- Developed the view layer using JSP, JSTL, HTML, CSS, and JQuery for client side validation.
- Developed in Eclipse, built with Maven, tested with JUnit, deployed in JBoss, and version controlled in Subversion.
Java Developer
Responsibilities:
- Worked as part of a small team to help design, develop, and maintain energy data collection web applications for DOE clients.
- Worked closely with the PM and federal employees on site to gather detailed user requirements using the waterfall methodology.
- Energy Data Collection Web Applications
- Developed 3 web applications from scratch in the Spring MVC framework (3.x) to replace legacy Oracle Forms applications.
- Designed Oracle data models and used the IBatis ORM tool in the data access layer to interact with the database.
- Developed the view layer using JSP, JSTL, HTML, CSS, and JQuery for client side validation.
- Developed in Eclipse, built with Maven, tested with JUnit, deployed in JBoss, and version controlled in Subversion.
- Spring Batch Web Application
- Developed a Spring Batch web application that listened for messages on an ActiveMQ queue and kicked off batch jobs to save data to an Oracle database.
- Created an XSD for the data contract and unmarshalled XML using XMLBeans in order to transform data to the applications domain model.
- Used a combination of Spring JDBC and the IBatis ORM tool in the data access layer to save data to an Oracle database.
- Developed in Eclipse, built with Ant, tested with JUnit, deployed in JBoss, and version controlled in Subversion.
- Legacy J2EE Energy Data Collection Web Applications
- Maintained 5 legacy J2EE web applications within a JDeveloper and JBoss environment. Source was controlled in Subversion.
- Used JDBC API to execute SQL and PL/SQL for database access.
- Developed JSP views with HTML, JavaScript, CSS, and scriplets.
- Oracle Forms/Reports Data Collection Applications
- Developed 2 data collection applications using Oracle 10g Forms Builder.
- Developed 2 reporting applications using Oracle 10g Report Builder which provided detailed data reports to the client.
- Created PL/SQL functions, triggers, and stored procedures for business logic validation.
- Developed complex SQL scripts and views exported to MS Excel spreadsheets for client data analysis.