Experience Summary
►Extensive experience in the utilization of Java EE in developing software, evaluation of methodologies and frameworks utilizing many tools and architecture approaches.
►Proficient in formulating Java Architecture and design patterns for executing multi-tier, highly scalable, component based, service driven enterprise applications.
►Technical leader with direct reports supervising junior and senior developers, managed guidance and growth of development team.
►Managed product, technical architecture, and strategic planning decisions for a team of developers
►Highly motivated team player with exemplary technical acumen that can effectively communicate with client and cross-functional teams to achieve project priorities and deadlines.
►Strong software architecture knowledge with a wide range of development and design patterns to resolve solutions for given requirements and tasks.
►Exceptional ability to investigate and evaluate multiple technical software solutions, educate and share findings with others, and propose and implement effective solutions.
►Experience in recognizing and utilizing powerful and cutting-edge open source development technologies, tools and methodologies.
►Extensive Experience in software development life cycle (SDLC) including requirements analysis, architectural design, design documentation, software development, software configuration management (SCM), and unit and system testing following Agile methodologies such as Scrum.
►Evaluated and adapted high level architectural approaches such as Object-Oriented Programming (OOP), Inversion of Control (IoC), Model View Controller (MVC) design, Test Driven Development (TDD), Aspect Oriented Programming (AOP), Object-Relational Mapping (ORM) and Service Oriented Architecture (SOA).
Technical Summary
►Languages: Java, SQL, C/C++, Ruby, Go (GoLang), JavaScript, Bash/Shell Scripting
►Frameworks/Libraries: Spring Framework, Spring MVC, Spring Web Flow, Spring Boot, Spring Batch, Ruby on Rails, Apache Struts, Facelets, JSF via MyFaces, JPA, Hibernate, Hibernate/JPA Named Queries and Criteria, HQL/JPQL, OpenJPA, Apache Velocity, Freemarker, iText, Apache POI, JFreechart, Quartz, JUnit, Mockito, JMS, Kafka, JAX-WS, Jackson, UML, SOAP, WSDL, WADL, JAX-RS, REST, Axis2, RESTEasy, Ehcache, DWR, JQuery, Coffeescript, UnderscoreJS, BackboneJS, MomentJS, Bootstrap, HandlebarsJS, OAuth, Google Test, Google Mock, Ajax, Log4j, SLF4J
►Data Formats: HTML5, XML, HAML, JSON, YAML
►IDE and Development Tools: AWS Cloud, IntelliJ IDEA, Eclipse, Vim, Tmux, RAD, Android SDK/NDK, Toad for Oracle, Pivotal, Github, JIRA, JMeter
►Build and Dependency Management tools: Gradle, Apache Maven, Apache Ant, Apache Ivy, CMake
►Web Servers: Apache Http Server, Apache Tomcat, JBoss, Websphere
►Version Control: Git, Mercurial, CVS, SVN, Aldon
►Continuous Integration: Teamcity, Bamboo, Jenkins, Cruise Control
►Database Systems: Oracle 9i/10g/11g/12c, Microsoft SQL Server, MySQL, MariaDB, PostgreSQL, Oracle OLAP, IBM DB2
Professional Experience
MasterCard Technology Headquarters
August 2020 – present, Position: Lead Software Development Engineer
►Effective Technical Lead developing MDES Manager application solutions delivering Mastercard's next generation of digital payment products.
►Collaborates across multiple teams and departments to design innovative Mastercard services
►Integration and utilization of Mastercard core services with technologies leveraging Spring, Spring Boot, Kafka, SOAP/REST services
►Leads and mentors a cohesive team-oriented group of developers in an agile environment
W Energy Software
May 2018 - present, Positions Held: Software Development Manager, Senior Software Developer
►Supervised, mentored, trained and evaluated senior and junior developers as well as assisting to build technical skills of team members.
►Utilized Ruby on Rails MVC stack with SqlServer backend in conjunction with Active Record ORM library with front end built with BackboneJS, Bootstrap, CoffeeScript/Javascript, JQuery (with Ajax), UnderscoreJS and MomentJS running on AWS Cloud to provide rich UX solutions to clients.
►Developed software solutions using Go programming language (GoLang) for performant tasks such as data processing and UI data pagination
►Worked with business to prioritize Pivotal stories, performed code reviews through GitHub pull requests and provided regular guidance to developers
►Designed ERP based software for oil and gas energy clients implementing product deliverables from the ground up collaborated with business analysts, implementers, testers and security team
► Designed and implemented software for expense reporting system, payroll and timesheet processing module, tax processing for various states, financial reporting, and general oil pipeline tracking system
►Evaluated and identified potential developer talent during hiring and interview process to grow and strengthen the team structure.
Ludiem LLC
June 2014 - May 2018, Mobile Application Developer
►Envisioned, created, designed and released the game “Bug Bonanza” to the Google Play store with over 1,000 installs
►Formulated and implemented business model to produce revenue through micro transactions using in-app content as well as non-intrusive optional in-app advertising using Google Admob.
►Setup Jenkins Continuous Integration build server to automatically compile and build Java/C/C++ code using Gradle and CMake from Git repositories and running unit tests via Google Test and Google Mock
►Utilized Android SDK/NDK via Java/JNI/C/C++ and integrated Google Play Billing Java Library and Google Admob Java Library for monetization and Google Play Game Services (C++) for player integration.
►Setup remote Ubuntu Linux server to run Jenkins CI within a tomcat container as well as housing Git repositories over SSH and running websites through Apache secured with Let's Encrypt SSL certificates.
►Developed game engine library following Entity Component System design patterns and integrated C/C++ open source software solutions including Ogre3D, CEGUI, OpenAL, Freetype, GLM, and STB.
►Evaluated and utilized open source tools such as GIMP, Blender, Tiled, LMMS, and Audacity to create 3D models, animations, graphics and sound effects and music.
MasterCard Technology Headquarters, St Louis, MO
July 2010 – February 2011, Software Development Consultant via Kforce Staffing and Solutions
February 2011 – June 2014, Positions Held: Technical Consultant, Senior Software Engineer
►Technical Lead of the MasterCard OpenAPI Developer Zone with direct responsibility for application architecture using technologies such as Spring Framework, Hibernate, JPA, SOAP/WSDL and REST supporting an API Gateway that exposes internal MasterCard API services externally to clients using SSL and OAuth via REST.
►Technical Lead of the MasterPass Digital Wallet implementing Java EE solutions using Agile methodology leading team of developers and providing design documents, code reviews and mentoring using Atlassian tools such as JIRA and Crucible.
►Significantly improved critical service performance throughput of OpenAPI by redesigning and refactoring Java code along with introducing multithreading while utilizing JMeter for load and stress testing
►Lead project to horizontally scale and expand the Open API Gateway platform to address OpenAPI usage growth as well as properly handling failover scenarios.
►Performed cross functional collaboration with external teams to assist with onboarding of new service providers for the MasterCard Open API platform by reviewing, recommending and approving external facing service REST API’s
►Lead migration efforts to port applications and infrastructure from Websphere to JBoss servers.
Caleres (formerly Brown Shoe Company, Inc.), St Louis, MO
August 2008 – January 2009, Software Development Consultant via Technology Partners
January 2009 – July 2010, Senior Specialist Software Developer
►Introduced, architected and implemented Java EE software stack solution utilizing Spring Framework and Hibernate while transitioning the current team development model from the traditional Servlet/JSP methodology
►Lead architect and developer in new projects such as label printing, corporate budget, and merchandising applications in which I was responsible for gathering requirements from stores/departments/clients, development of the software and testing of the applications.
►Lead the effort to utilize a new build and deployment process from a legacy method to an enterprise standard of a continuous integration process using tools such as Apache Ant, Apache Ivy, SVN and Teamcity
►Architected and implemented a dependency management system using Apache Ivy to better modularize and version java components to allow software reutilization where common functionality exists.
►Created a full testing suite using JUnit and added to the continuous integration process to insure proven and successful working software components for all products before deployment
► Developed and presented alternative software solutions showing strengths and weaknesses of Java frameworks such as Spring, Struts, and Spring Webflow, and view components like Velocity, JSP, Facelets, and JSF and database
AT&T Inc., St. Louis, MO
May 2004 – August 2008
Positions Held: Senior IT Developer, IT Developer, Associate Developer
► Recommended and implemented robust and flexible Java frameworks such as Struts and Spring by providing a detailed evaluation of the frameworks and presented the results to reshape the team's standard development tools and technologies.
► Lead the effort to design and develop several Network Capacity Management applications taking different design approaches and using different software solutions due to variations in project requirements and evolving software frameworks and libraries.
► Researched and adapted many other specific libraries and technologies such as Velocity, Freemarker, webservice tools such as Axis and XFire, AOP programming library AspectJ, JPA using Hibernate, Java Ajax library DWR and was able to integrate them into production scenarios.
► Designed SOA based solution for a single point of login application (SPL) allowing for participating applications to add users, remove users, reset passwords, and retrieve user information.
► Designed and developed Java packages to utilize Java OLAP API to represent multidimensional data structure as a Java bean and send it to a view component to be displayed.
► Developed mission critical applications applying ORM tools to applications such as NWCF utilizing Apache OJB, SDC and SPL both embracing Hibernate, and INSIGHT made use of JPA (Hibernate implementation).
► Proposed and utilized Aspect Oriented Programming (AOP) concept via AspectJ for handling authentication, authorization, error catching, and logging to while developing NWCF and SDC applications.
Education
► University of Missouri, Columbia 2001 - 2004
► Bachelor's Degree in Computer Science and Mathematics Minor
► Member of National Society of Collegiate Scholars
►Dean's List (5 semesters)