Geoff Lane’s Resume
Wednesday, 20 August 2008
Skills
Programming Languages:
Fluent: Java, C#, Ruby, Groovy
Conversational: Objective-C (Cocoa), Python, JavaScript, PHP, Unix Shell Scripting
Familiar: C, C++, Perl, Erlang
Technologies:
Java — Spring, Hibernate, Seam (EJB 3.0, JPA, JSF), Tapestry, Servlets, JSP, Tag Libraries, Jakarta Struts
Ruby on Rails
.NET — C#, ASP.NET , ADO.NET
SQL — ANSI SQL, Transact SQL, (MS SQL Server, Oracle, MySQL, PostgreSQL)
XML, XSLT, XPath, SOAP, HTML, XHTML, CSS, Javascript
Other Tools — Idea, Eclipse, Net Beans, Visual Studio.NET, Subversion, Git, CVS, Ant, NAnt, MSBuild, xUnit, Bugzilla, CruiseControl, Jira, Confluence
General Development:
Object Oriented Programming and Design (OOP/OOD), Architecture, Design Patterns, Refactoring, Unit Testing
Methodologies:
Agile, Extreme Programming (Iterative Development, Refactoring, Unit Testing, Automated Functional Testing, Build Automation, Continuous Integration, Pair Programming)
Operating Systems:
Mac OS X, Unix, Linux, Solaris
Windows NT/XP, Windows Server 2000/2003
Certifications
Sun Certified Programmer for the Java 2 Platform — Feb 2002
Experience
Sr. Consultant, SpiderLogic; Milwaukee, WI — Oct 2005 - Present
Lead efforts to architect, design and implement solutions for clients working with a distributed team of developers (4 offices in 2 countries). Work with sales to provide solution architecture and estimates for clients. Unit Testing and Agile evangelist. Strong influencer of technical directions and tooling decisions.
- Designed and implemented custom WebDAV server in .NET/C# to provide access to files stored in a database allowing users to map network directories to virtual filesystem.
- Researched and help implement Tapestry, Spring and Hibernate application rearchitecture to better leverage Hibernate and achieve dramatic scalability improvements (10x the concurrent users).
- Designed and led a distributed team in implementation of .NET Compact Framework handheld application that integrated with a Java based Web application using SOAP Web Services. Included configurable user interface and reliable delivery of messages.
- Implemented multiple Groovy and Grails based web applications.
- Provided architectural guidance and mentoring to large Java and .NET shops implementing SOA.
- Worked with organizations in many markets including Emergency Management, Insurance, Auction, Non Profit Services and Banking
Lead Developer, B2P Commerce Corp.; Chicago, Illinois — Nov 2002 - Oct 2005
Designed, architected and developed a web-based performance measurement, reporting and analysis system which allowed Nonprofits to measure social impact and report to funders. Foundations and other funders could track grants, manage organizational objectives and aggregate grantee performance through the system. The system was successfully used by 25 Foundations and approximately 1500 nonprofits.
- 3-tier, distributable system built on Microsoft’s .NET platform using C#, ASP.NET, and SQL Server
- Architected a flexible database to cope with changing data storage requirements and business rules
- Built and designed user customizable, data driven data collection modules to allow funders to easily collect, aggregate and compare data from many different nonprofit organizations
- Implemented real-time integration with external partners through SOAP services
- Assist analysts with developing requirements, estimating effort, and prioritizing work
- Applied agile methodologies to ensure ongoing product quality and to adapt to a highly dynamic business environment
- Developed tools, created scripts, and setup systems for a one-step scripted build including unit testing, functional testing and database creation
- Setup and maintained systems for source control, defect tracking and continuous integration
- Mentored and coached junior developers
Technical Team Lead, JG Sullivan Interactive; Chicago, Illinois — Apr 2002 - Nov 2002
Lead a team in architecting and developing consumer and business facing e-commerce solutions for the home appliance and flooring industries. The system allowed leading brand name appliance manufacturers to sell online through their local dealers.
- Lead a team of 8 people in developing a mixed Java (Struts) and Perl based system
- Made architectural and design decisions, assigned developer tasks, and advised management on the best technical courses of action
- Developed XML based communication system to pass data between appliance manufacturers and their dealers to aid in selling online
- Ran daily standup Scrum meetings to keep team up-to-date and to keep communication open
Java Engineer, Inclusion Inc.; Los Altos, California — Mar 1999 - Feb 2002
Developed web-based collaboration tools used by a number of large organizations for knowledge management and distance collaboration. The system was built on top of a Java servlet infrastructure with an Oracle back end and deployed on the Tomcat servlet engine.
- Designed and implemented major new features for the application including file attachment mechanism, an address book import and sharing system to integrate with Outlook contacts
- Developed a servlet and XML-based remote authentication (Single Sign-On) protocol to allow authentication against remote systems and a seamless user experience
- Ported Java 1.1/Servlet 2.0 application to Java 2 (1.3)/Servlet 2.2 specification allowing us to move to Tomcat and improve performance
- Customized template-driven web pages for clients
- Installed and maintained production Linux servers with Apache for image serving, DNS and CVS
Education
Ohio University Honors Tutorial College, Athens, Ohio — Bachelor of Arts in Philosophy, 1999
University of Santa Cruz, Santa Cruz, California — Coursework Programming in Java, 2000
Open Source
TestMaker
Designed and implemented Tool (Test Object Oriented Library) — a Java-based framework for building automated tests for SOAP Web Services, dynamic Web sites and other Internet protocols. TestMaker was built on top of Tool and run through Python scripts using the JPython implementation. Both portions are licensed under the GPL license.
SQLSchemaTask (NAnt Task)
Developed an NAnt task to reverse engineer a SQL Server database schema (using SQL DMO) from an existing database to allow for easy scripting of database creation and modifications.
MSBuild Community Tasks
Contributed bug fixes and developed new tasks for the project. Specifically dealing with Subversion automation.
MigratorDotNet
Committer on the project. Undertook a major refactoring of the code base to make creating providers easier, implemented a high level of unit test code coverage, implemented MSBuild automation, implemented SQLite support.