About
Spencer Gibb
Chelsea, MI
Mobile: 801-540-5830
spencer at gibb.tech
@spencerbgibb
github
linkedin
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
PRINCIPAL SOFTWARE ENGINEER, Pivotal, Palo Alto CA (Remote), Jul 2014 – Present
- Co-lead on 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), Nov/2012 – Jan/2013
- Team lead on digital catalog application (Java, Spring, MarkLogic), Sep/2011 – Aug/2012
- Enterprise Software Architect for a portfolio of applications, Nov/2010 – Sep/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 – Present
- (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
- Battleschool: https://github.com/spencergibb/battleschool
Development environment provisioning using ansible, ala boxen -> puppet, kitchenplan -> chef - Halfpipe: https://github.com/spencergibb/halfpipe
A Dropwizard clone using Spring & Tomcat (superseded by Spring Cloud)
Technologies
- Java (1.4, 5, 6, 7, 8), Groovy, Scala, Spring, 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, 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. – git, C++, C, Python, Ruby, Perl, Shell Scripts, Photoshop, Subversion, CVS
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 and helped individual representatives learn problem solving, effective teaching and leadership skills