S p e n c e r G i b b ------------------------------------------------------------------------------------------ Ann Arbor, Michigan Mobile: 801-540-5830, spencer@gibb.tech http://twitter.com/spencerbgibb https://github.com/spencergibb http://www.linkedin.com/in/spencergibb ------------------------------------------------------------------------------------------ Skills ------------------------------------------------------------------------------------------ * Java tech (Spring, Scala, Hibernate, JPA, Maven, Swing, Ant, GWT, JEE, JSE) * Web tech (nodejs, HTML, CSS, JS, Rest) * Large-scale distributed systems * NoSQL and SQL databases * Working in cross-functional teams * Unit and integration testing * Team leadership * Full product life cycle * Functional requirements * Mentoring junior co-workers ------------------------------------------------------------------------------------------ Professional Experience ------------------------------------------------------------------------------------------ R & D ENGINEER SOFTWARE, Broadcom, Palo Alto CA (Remote), Jun 2014 – Present (NOTE: formerly Pivotal & VMware) * Co-founder and lead of Spring Cloud https://github.com/spring-cloud PRINCIPAL ENGINEER, Domo, American Fork UT, May 2013 – Jun 2014 * Dropwizard, AWS, MySQL, Java, Spring PRINCIPAL ENGINEER, FamilySearch, Salt Lake City UT, Feb 2013 – May 2013 * Cassandra, Dropwizard, AWS, MongoDB, JSON, 800M records ARCHITECT/PRINCIPAL ENGINEER, LDS Church, Salt Lake City UT, Nov 2010 – Jan 2013 * Developer on Leader Portal (nodejs, Javascript, Riak), 9/2012 – Jan 2013 * Team lead on digital catalog application (Java, Spring, MarkLogic), 9/2011 – 8/2012 * Enterprise Software Architect for a portfolio of applications, 11/2010 – 9/2011 * Responsible for architectural cohesion across all projects in the portfolio * Continued, part-time, as lead software engineer for preservation system SENIOR SOFTWARE ENGINEER, LDS Church, Salt Lake City UT Jul 2007 – Jul 2008, Jul 2009 – Nov 2010 * Developed Digital Preservation submission application (GWT, Java, Scala, Spring) * Developed Personal Video Conferencing account creation application (JSF, Spring) * Senior team member on entrance security project for the 130+ temples (see www.lds.org/temples for explanation) * Developed web services, web applications, and Swing clients * Developed using Java Server Faces, Facelets, Java Persistence API (Hibernate provider), Web Services (XFire) * Developed swing interface for bar-coding application to inventory between 2-4 million archive items SOFTWARE CONTRACTOR, Salt Lake City UT, Jul 2007 – Jun 2009 * (Company: STG Inc., Client: Northrop Grumman) Senior Engineer on a large government research application. Implemented code using Spring, iBatis, SQL, Apache Digester, JavaCC, and Oracle 10g. Database contained over 750 tables. * (Company: Alta Consulting LLC, Client: RX America) Designed, architected and implemented a web service to gather and send data to a 3rd party printing company using JEE 5, Web Services, JPA, Session EJB's, Oracle, and XML * (Company: Self, Client: Broadweave) Developed RESTful shopping cart API using Maven, Spring, Hibernate, and CXF * (Company: Self, Client: Broadweave) Created administration application using Eclipse Rich Client Platform (RCP) SENIOR SOFTWARE DEVELOPER, Collabraspace Inc., Annapolis MD, Aug 2004 – Jul 2007 * Team Leader on a complex government application * Tasked, mentored, and reviewed deliverables for each team member * Lead developer for 1st Air Force Collaborative Decision Aid, a Weblogic Portal application that integrates various third party applications and a custom J2EE/Swing Applet * Developer for CollobraSuite, a set of graphical collaboration modules using Swing, J2EE, and BEA Weblogic Portal * Built multiple N-Tier clusters using J2EE, Web Services, Weblogic, Oracle, and Apache SOFTWARE DEVELOPMENT SPECIALIST, Dept. of Defense, Ft. Meade MD, Apr 2003 – Aug 2004 * Ported an Oracle Forms-based issue tracking system to a web-based application * Mentored other team members in Java and J2EE best practices * Collaborated in design of a legacy database port to Oracle * Developed applications with BEA Weblogic 8 and Oracle 9 * Completed 'Software Engineering Process' Course SENIOR DEVELOPER, BuildersNet, Inc., Orem UT, Jan 2002 – Sep 2002 * Designed and developed web-based applications in e-commerce, web hosting, and groupware applications * Built systems, installed and configured Linux, Apache, BIND, and MySQL * Designed and created database schemas for applications PARTNER/SENIOR ENGINEER, NetBing LLC, Orem UT, Mar 2001 – Jan 2002 * Designed and implemented E-Commerce systems in a J2EE/Linux environment * Collaborated in decisions regarding purchase of hardware, software, and Internet connectivity * Designed and implemented a scalable and flexible e-commerce system using JSP, EJB 2.0 (Entity and Session beans), PHP, payment gateway, and 3rd party loan software integration USER INTERFACE ENGINEER, Excite@Home (Formerly iMall Inc), Orem UT, Jan 1998 – Dec 2001 * Team member on large-scale web applications for AT&T Small Business Hosting and IBM Homepage Creator * Created co-branded web-based interfaces using Java, JSP/Servlets, and Netscape Server Side JavaScript) * Developed EJBs BEA Weblogic Application Server in a cooperative environment * Gained expertise in JSP/Servlets, JavaScript, and HTML and performed limited graphic design in Adobe Photoshop. ------------------------------------------------------------------------------------------ Open Source Projects ------------------------------------------------------------------------------------------ Founder/Co-founder * Spring Cloud: https://github.com/spring-cloud Tools for building common patterns in distributed systems with Spring Boot * Battleschool: https://github.com/spencergibb/battleschool Simple work-station provisioning using Ansible * Halfpipe: https://github.com/spencergibb/halfpipe A Dropwizard clone using Spring & Tomcat (superseded by Spring Cloud) Contributor * Spring Framework: https://github.com/spring-projects/spring-framework Popular Java application framework * Spring Boot: https://github.com/spring-projects/spring-boot Spring application that you can “just run” * Eureka: https://github.com/Netflix/eureka Service registration and discovery server and client written in Java ------------------------------------------------------------------------------------------ Technologies ------------------------------------------------------------------------------------------ * Java, Spring, Kotlin, Groovy, Scala, Hibernate (JPA), iBatis, Java Server Faces (JSF), Facelets, JEE (JSP, EJB, JMS, Servlets), Swing, JDBC, Maven, Ant, Eclipse, Eclipse RCP, JAX-RS, Velocity, JUnit, TestNG, DBUnit * App Servers: Tomcat, Jetty, Netty, Weblogic, Websphere, JBoss, Glassfish * JavaScript, HTML, CSS, Web Services, Apache, PHP * Platforms – Linux (Ubuntu, Red Hat, Fedora, Debian), Solaris, Mac, Windows * Database – SQL, Oracle, MySQL, Riak, MongoDB * Misc. – Ansible, it, C++, C, Python, Ruby, Perl, Shell Scripts, Photoshop, Subversion ------------------------------------------------------------------------------------------ Education – BS, Computer Science, Brigham Young University Provo UT, December 2002 ------------------------------------------------------------------------------------------ * Senior courses in: Software Engineering, Distributed System Design, Database Modeling Concepts, Computer Communication and Networking and Machine Learning. * Sun Certified Java Programmer, October 2004 ------------------------------------------------------------------------------------------ Volunteer Representative – The Church of Jesus Christ of Latter-day Saints Recife, Brazil, Dec 1994 – Dec 1996 ------------------------------------------------------------------------------------------ * Learned Portuguese almost fluently * Developed and taught weekly training meetings for 20 – 30 representatives * Traveled to help individual representatives learn problem-solving, effective teaching, and leadership skills