Senior Java Developer Resume Profile
Detroit, MI
Summary
- Sam is a software craftsman and leader with over a decade of experience, mainly in the automotive, healthcare and insurance industries. His most recent work has focused heavily on ReSTful HTTP services supporting scalable, performant and modular cloud architectures.
- He offers advanced technical and leadership skills, a great attitude, creative energy, and top communication skills. Sam has demonstrable experience envisioning, designing and delivering enterprise-level application systems through multiple project management methodologies, on time and with high quality.
- His creativity finds the perfect solution to a problem, while his technical acumen can execute on that solution with consistently positive results. Due to his beginnings in the field of Software Quality Assurance, Sam comes to the table with an implicit awareness of quality and quality-focused design.
Industry Experience
Senior Java Developer
Confidential
- Worked on the total re-engineering of legacy products monolith web applications into a series of well thought out micro-services. Involved in analysis of existing use cases, and helped redefine next generation products alongside product/project/delivery managers. Consulted directly with Principal Technologist on technology decisions.
- Evaluated RabbitMQ for potential use as replacement of custom-built message broker.
- Installed Hadoop 5-node HDFS and related components along with Zookeeper quorum. Documented process so it could be both operationalized and automated.
- Automated development environment provisioning using Vagrant and Chef. Wrote Chef cookbooks to automate the creation of ephemeral nodes installed with standard toolsets Java, Tomcat/Jetty, Apache, as well as install platform HTTP services. Wrote Vagrant script for developers to use when starting from scratch.
- Documented ReSTful API using RAML ReSTful API Modeling Language and Mulesoft's API Designer tool.
- Lead distributed team of engineers local, Shanghai, Mumbai using JIRA to manage each Sprint.
- Coached team on how to write an effective suite of tests along with their JIRA stories. Introduced them on strategies to mocking Oracle back-end datasource using H2 embedded DB, as well as writing broad functional tests using Spring's MockMvc test servlet.
- Consulted with project stakeholders to communicate progress, roadblocks and future vision.
- Installed, configured and used Riak NoSQL database as back end for new greenfield services. Performed data modeling activities alongside Principal Technologist to ensure distributed data was storied in a way that made access trivial and straightforward.
- Designed and helped implement ABAC-based authorization module to be used by all micro-services and other platform components. Added necessary measures to ensure performance bottleneck was trivialized.
- Lead peer code reviews, created and enforced developer-centric aids such as Definition of Done checklists, Java coding standards, IDE setup guidelines, and similar artifacts.
- Experimented with Java 8 lambda, Nashorn JavaScript engine.
Java 8, JSON, Maven, Spring Web, Tomcat Jetty, Hadoop, HDFS, Zookeeper, Distributed Systems, RabbitMQ, Chef, Cookbooks, Vagrant, Amazon Web Services, H2 Embedded DB, ABAC XACML, Activiti process engine, Shibboleth IdP, Apigee, Xen, Riak, Google Protocol Buffers, Git, ReST, RAML, JPA, Google Guava, CentOS 5/6, Hibernate, JUnit TestNG, Continuous Integration, Unit/Functional/Integration testing.
Software Development Manager
- Able to independently operate and lead through ambiguous direction in a fast paced environment.
- Excellent written and verbal communication skills with a proven ability to present complex technical information in a clear and concise manner to a variety of audiences.
- Demonstrated leadership in cross-functional, highly collaborative environments.
- Track record of developing engineers through various career stages and building high-performance teams.
- Experience building complex, high-performance, and highly available software systems that have been successfully delivered to customers.
- Demonstrated focus on continuous improvement of systems, software and processes through data analysis and metrics.
- Interviewed and hand-selected new development team members. Direct reports doubled in size, due to high organizational success and new project demand.
- Used proven techniques to estimate software projects of varying size, with increasingly precise windows of confidence.
- Helped champion the organizational adoption of CMMI level 3 from planning through appraisal.
Software Architect
- Lead a team of architects, senior and junior developers, technical analysts, and QA engineers through the definition and construct phases of large B2C projects.
- Provided technical leadership to senior management, business owners, project management, and partnering architects across a varied collection of project vendors.
- Created a technical project framework to meet the demands of a large-scale, incrementally-released project. Dependencies on external vendors and systems were mitigated via intelligent simulators that were designed and built in advance.
- Managed a large team of offshore developers and architects in Montreal Shanghai. Held offshore teams to the same strict cadence and standards of local developers, while also ensuring that these remote resources felt as though they belonged to the team.
- Played in a technical R D role discovered and designed unique ways to solve common problems, while also having to persuasively sell the architectural direction to a very traditional group of solution owners, directors and architects.
- Provided overall architectural direction for the product, while also participating in low-level tasks such as peer code reviews, key framework development, and day-to-day code-base health and monitoring.
- SONAR monitoring dashboard for code quality and health
- Strict development quality standards
- Responsible for integrating new organizational practices and technologies into the project:
- Experience in agile-oriented project management practices via both reactive and proactive responses to issues.
- Participated in several architectural review committees, both as a reviewer as well as the one reviewed. Provided guidance to peers and other architects on the team. Also hosted a weekly round-table for managers and directors of other teams to learn about the project architecture, ask questions, voice concerns, and raise issues that needed to be answered in the design and architecture.
- Daily security scans during early construct phase to prevent surprises late in the game
- Code profiling agents to track code performance down to the finest detail
- Architecting and designing a platform to meet the demands of several teams security, infrastructure, operations, and QA.
Java, JSON, XML, JDBC, Oracle, Eclipse, SOAP, Identity Management, Tomcat, Liferay, Spring, Portlets, REST API, AJAX, JavaScript, jQuery, Hibernate, Hypersonic, CSS3, Maven, SVN, Jenkins, JUnit, SONAR, Nexus, RunDeck, Linux, JMeter, TestNG, Selenium, TDD, Corbetura, Performance tuning, Security scanning, Cloud services, SSO, OAuth 2, SAML, Content Management Systems, Akamai Edge, Architecture reviews, BPMN, Activiti, XACML, Servlets, JSP, Velocity templates, Salted SHA1 hashes, Web Access Management, HTML5, Adobe CQ, project estimation, Proof of Concepts
Confidential
Applications Architect/Technical Lead
- Designed and implemented GM's next generation Confidential software from the ground up. Challenged with extremely unrealistically aggressive timelines, worked with an understaffed team and faced many road-blocks that required parallel workarounds and resolutions to keep within the time constraints.
- As part of a very limited development team, I collaborated with other engineers, technical staff, and SME's to build solid server-side and presentation-layer frameworks primary technologies were JDK6 and jQuery, respectively . Requirements dictated that the tool be highly customizable/configurable, highly skin-able, and easily expandable to accommodate future requirements and general unknowns . The product delivered and exceeded expectations. Some observable outcomes: short development efforts to build and expand core functionality, minimal turnaround time to onboard other vehicle brands, a very short defect resolution time, and more.
- Created a re-usable Java library for core business functions that was leverage by other teams these libraries included such things as web service consumer APIs, core platform APIs, common utility packages, etc .
- Created a JavaScript test-bed with jQuery and the QUnit testing framework to cover all JavaScript libraries components, widgets, framework code, etc . Achieved solid 90 code coverage on all code-bases.
- Created and maintained a common build process using Maven and Jenkins to automate the building and deployment process, as well as to spin up and enable a collaborative dev and Continuous Integration environment.
- On-boarded and coached junior developers who participated in the project and set them up to be able to most effectively contribute towards the application removed obstacles and unimportant nuances from their field of vision
- Used JMeter to performance test the server-side application and services. Applied high volume to put pressure on the system, and measured critical performance criteria such as threading, response times, synchronization, server state, and more.
- Used JProfiler to monitor and identify memory leaks and performance bottlenecks in the server-side application.
- Worked with QA department to resolve defects and identify flaws in the development/testing process at the same time. Testing cycles were very short-spanned and aggressive, so close communication and collaboration was the key to success.
- Result of testing process was a low Defect Density Ratio of 12 a key QA reporting metric , which could be attributed to an expansive unit test library.
- jQuery, QUnit, Spring, JMeter, JProfiler, code quality, SOAP, REST, AJAX, modular design, architecture
Confidential
Senior Java Developer
- Designed and implemented a flexible and configurable benefits administration website using Struts 2 framework with an Oracle back-end. Used many design patterns including Facade, Bridge, and Singleton. jQuery JavaScript framework and many off-the-shelf jQuery plug-ins were used in the presentation layer, as well as CSS2.0, to provide a dynamic and exciting look and feel to the front end, in what would be an otherwise static-looking website.
- Experienced single-handedly building an application from scratch, with full control of all design decisions.
- Wrote system feeds relying heavily on SQL, utilizing views, PL/SQL packages, and complex Oracle SQL structures to fulfill business requirements.
- Helped upgrade the technology stack to the most recent version, including Eclipse, Tomcat, Single Sign-On framework, and much more. This challenge required the ability to quickly absorb the function and purpose of many legacy applications, and the determination to tackle a plethora of small-to-mid-scale problems encountered while upgrading the development environment.
- Struts 2.x, jQuery, CSS2, PL/SQL, SSO, BIRT reporting framework, design patterns, Oracle, XPath
Title J2EE Application Developer
- Designed and implemented a complex, scalable, highly available transactional data-processing system using SOA.
- Created design documents, object models, database logical model and control diagrams with Enterprise Architect.
- Many advanced technologies, technical tools and programming concepts were used in this project:
- Web Services/SOA
- Inversion-of-Control/Dependency Injection pattern
- Many new features from Java 5.0 packages, such as atomics and the concurrent packages
- Oracle 10G PL/SQL
- A system-wide IoC container that managed the dynamic loading of 'plug-in' libraries
- Utilized XML heavily for system configuration, dynamic metadata, and especially for data processing. All inbound data is converted to a standardized XML format which follows XSDs and uses XML namespaces.
- Engineered a full system monitoring suite which monitored for uptime of shared web services, servlets, and databases, as well as measured disk capacity, thread count, and processor load.
- Per business requirements, designed system to be very generic and configurable platform needed to support new client on-boarding on-the-fly, which meant the ability to process new client file structure, new client-specific business logic, different web services and sequence of web service invocations, and much more.
- Per business requirements, designed system to be hot-deployable no down time was acceptable for deployment of new release, or new client on-boarding.
- Wrote persistence framework for back-end using PL/SQL integrated with the common company data-processing libraries.
- Delivered system ahead of time with low defect density ratio.
- This project was a smaller project, requiring a heavy-duty batch-running Java program to process a large amount of data very quickly.
- Studied requirements, held many design sessions with co-developer to address all possible performance problems before starting to write any code.
- Wrote application using many re-usable company libraries, decreasing time as well as defect risk.
- Pair-programmed during the initial implementation phase.
- After program was written, installed and ran some eclipse plug-ins to determine important characteristics about the program, such as JUnit code coverage using EMMA , hidden defects using FindBugs , and circular-dependency tracking using the Metrics tool from metrics.sourceforge.net .
- Evaluated program performance and re-factored code to increase performance, efficiency, and decrease overhead and memory footprint.
- Wrote Jasper reports to show program results after it completed writing to the database.
- Installed the Subversion tool, and helped evaluate its potential use as a version control back-end for company-wide use.
- Led a company-wide initiative to form a standard build-process strategy to be followed by all active and planned projects. Wrote custom Ant tasks as part of this effort. Part of the functionality of the new common build process was the area of dependency management which is basically what Maven is well known for doing.
- The new build process enabled component re-use, and had to be designed in such a way as to allow for the seamless integration of a start-up open-source development model that the company was initiating.
- Helped evaluate the new company Community Development Environment CDE tool, GForge, which led to the purchase and in-house installation.
- Designed and constructed software while adhering to the Software Life Cycle methodology according to CMMI level III, as well as ISO 9001 processes both which are company standards .
- Mentored developers and held peer code reviews on other projects as part of a cross-functional initiative.
- Java, JMX, XML, Enterprise Architect, UML 2.0, dependency injection, Oracle, PL/SQL, SMTP, sockets, JAXB, JAXP, StAX, DOM, SAX, transactions, 99.99 HA, data warehouses, parallel query execution, JBoss AS, NIX, A/B failover, JUnit, Continuous Integration, GForge, CMMI, CDE, Confluence, Wiki, ANT, custom ANT tasks, dependency management, CVS, Adobe Flex, ActionScript 3.x, build management, SOA, SOAP, fail fast principles.
Application Test Engineer
- Created Test Cases and Test Scripts from client requirements to ensure product fulfillment.
- Created a common Fault Injection test set to analyze and process multiple applications not built according to implementation standards due to the lack thereof these tests involved changing the application's environment to simulate extreme conditions involving system resources, media states, memory and network faults and more.
- Formed a series of tests popular for honing in on defects' most common hiding spots regardless of the application. Tests covered the four areas of all software Input, Output, Data and Computations and ensured a baseline for guaranteed quality releases.
- Possess deep experience as Test Lead for numerous, often simultaneous, large-scale system testing projects with aggressive delivery dates.
- Tested the company's database upgrade process involving hash algorithms to improve database load performance. Gained rigorous data validation experience and a working knowledge of databases and data operations.
- Bugzilla, JIRA, HP Quality Center formerly Mercury TestDirector , test automation, VB scripting, regression testing, defect metrics
Systems Analyst
- Reviewed system requirements, business and design documents to establish system test cases, test scripts and test grids. Modified testing documents as required.
- Developed core technical knowledge in various software relational database DB2, flat files, 4GLs - COBOL, system testing software and methodology, mainframe infrastructure, and healthcare claims business procedures HIPAA .
- Learned key aspects of developing technical solutions for strategic business needs, and full software life cycle process.
- Gained strong team skills by working in cross-functional technical and business groups.
- Delivered quality work under limited instruction and supervision.