Mat Lowery - Résumé Contact Information: Mat Lowery Orlando, FL 32701 Email: mat _(at)_ matlowery _(dot)_ com Professional Objective: To be a member of an exceptional software development team, creating robust and flexible solutions to interesting and challenging problems. To work alongside bright people, applying best practices gathered from formal and practical learning. To consistently demonstrate my value to the team by producing well-designed and complete deliverables, while simultaneously remaining agile. Technical Proficiencies: Java: J2EE 1.4 (advanced), Java SE 5.0 (advanced), Java Servlet 2.4 (advanced), JavaServer Pages (JSP) 2.0 (advanced), Java Management Extensions (JMX) 1.4 (advanced), Java Portlet Specification 1.0 (JSR-168) (advanced), JNDI 1.2 (advanced), Jakarta Commons (advanced), Jakarta Ant 1.7 (advanced), JUnit 4.4 (advanced), jMock 2.5 (advanced), Apache Log4J 1.2 (advanced), Acegi Security System for Spring 1.0.6 (advanced), Spring Framework 2.0 (advanced), Jakarta Velocity 1.4 (intermediate), JavaMail 1.3 (intermediate), JDBC (intermediate), Apache Maven 2.0 (intermediate), Apache Ivy 2.0 (basic), Hibernate 3.2 (intermediate), Eclipse Standard Widget Toolkit (SWT) 3.3 (intermediate), Eclipse JFace 3.3 (intermediate), Eclipse Rich Client Platform (RCP) 3.3 (basic). Web: XHTML 1.0 (advanced), XML 1.0 (advanced), HTML 4.0 (advanced), XSL 1.0 (intermediate), JavaScript 1.5 (intermediate), CSS 2 (intermediate). Databases: Microsoft SQL Server 2000 & 2005 (intermediate), Oracle 9i & 10g (intermediate), SQL2003 (intermediate), PostgreSQL 8 (basic), MySQL 5 (basic), HSQLDB 1.8 (basic). Servers: JBoss Portal 2.6 (advanced), IBM WebSphere 5.1 & 6.0 (intermediate), Apache HTTPD 2.0 (intermediate), JBoss Application Server 4.2 (intermediate), Apache Tomcat 6.0 (intermediate), Liferay Portal 4.3 (intermediate), EMC Documentum 5 (intermediate), JA-SIG Central Authentication Service 3.3 (intermediate), Apache Directory Server 1.0 (LDAP) (intermediate), Microsoft Windows Server 2003 Active Directory (LDAP) (basic). Other Languages/Frameworks: ASP 3.0 & ASP.NET 2.0 (intermediate), ColdFusion MX 7 (intermediate), Django 0.96 (intermediate), Python 2.5 (basic), CherryPy 3.0 (basic), Cheetah 2.0 (basic). Tools: Eclipse 3.1 (advanced), Rational ClearCase 2003 (advanced), Subversion 1.4 (advanced), Microsoft Visual SourceSafe 6.0 (intermediate), Araxis Merge 6.5 (advanced), Meld 1.1 (advanced), UML 1.3 (intermediate), Cygwin 1.5 (intermediate), Windows Script Host 5.6 (intermediate), DbVisualizer 5.1.1 (intermediate), Apache Directory LDAP Studio 0.8 (intermediate), OpenOffice.org 2.3 (intermediate), GIMP 2.4 (intermediate), Mercury Interactive Astra LoadTest 5.4 (basic). Operating Systems: Microsoft Windows 2000, XP, & 2003 including Server (advanced), Ubuntu Linux 7.10 (intermediate). Fundamentals: Object-Oriented Programming (OOP), Debugging, Web Application Security, Test-Driven Development, Aspect-Oriented Programming, GoF Design Patterns, Scrum. Professional Experience: Software Engineer Pentaho Corporation (Orlando, FL) October 2006-Present Projects: * Implemented front end for *"row level security"* in the Pentaho Metadata Editor tool. * Co-developed Pentaho Aggregation Designer, a graphical user interface that simplifies the creation of aggregate tables that improve the performance of queries against OLAP cubes. The tool's user interface was created using XUL. * Served as primary point of contact for questions, defect resolution, and improvements regarding the *Pentaho BI Server security system* . Developed *extensible access layer for querying LDAP* directories for security-related information in the BI Server. * Developed and installed into production a *single sign-on* (SSO) implementation for the JBoss-based Pentaho BI Server by integrating with Central Authentication Service (CAS). Pentaho SSOCAS * Provided *extensive assistance to Pentaho support* , training, and sales departments by participating in numerous Pentaho BI Server security-related engagements. *Lead a session* at a Pentaho Partner Summit that by all accounts was a large success. Addressed questions from *Pentaho forum* users (in the *top 15* most prolific posters). Pentaho forums * Created thorough documentation and numerous HOW-TOs, making Pentaho BI Server security one of the *best documented* areas of the platform. Pentaho wiki * Initiated the implementation of Pentaho Commons, a *reusable code repository* . In addition, presented session on *test-driven development* to engineering team. Finally, *served as one of the champions* of a repository-based build system (like Maven or Ivy). * *Contributed to other open source projects* . Opened 7 defects in Acegi Security. Supplied code and testcases for 3 defects. Spring JIRA * Authored a major *user interface* component (the properties editor) of the SWT-based Pentaho Metadata Editor. Also, authored the LDAP configuration tool for the Pentaho Management Services Console. Achievements: * SpringOne Americas 2008 speaker: "Architecting scalable reporting and business intelligence applications using Spring and Pentaho." --December 1st - 4th, 2008 - Hollywood, Florida * "Dude you are a *rock star.* Our customer at [company omitted] just *named you by name* as a hero on our live web seminar. Nice work." --Pentaho Executive, November, 2007 * "You were today's webcast hero dude - [person omitted] *called you out by name* - NOW that's Support! *You rock!* " --Pentaho Executive, November, 2007 * "I want to talk a little bit about Pentaho security and working with their wonderful, wonderful team of technical support. They really rose to the occasion. We had a specific requirement where we wanted to authenticate our users against Active Directory. That was what we were using at the time, LDAP. And we wanted to manage the authorization with our users, in other words, mapping our users to role. ... Unfortunately, in 1.2 [version of Pentaho], using the Acegi [Security] framework, which is the security framework that the Pentaho platform uses, out of the box, didn't necessarily facilitate that. It was one or the other. Either it comes from Active Directory or everything comes from a relational database. Being able to split that apart really required some specialized classes and that was something that we didn't really want to look at. And the Pentaho folks said, "You know what [company omitted]? We really see this as a typical use-case. It certainly is a reasonable request. You know what, we'll go ahead and take care of that for you. We'll write up the class and we'll implement it." And all of the people that worked on the, * Mat Lowery, and all of his cohorts working on the security pieces really did a fantastic job * . And I believe that [the custom code] is now readily available in the newer releases. And some of the documentation is online. So that was a big piece." --Pentaho Customer, November, 2007 * 3rd Quarter 2007 *Golden Hoe* Award Runner-Up. * "I just wanted to take a minute to say thank you to Mat Lowery for providing me with the information that I need to support a Pre-sales engagement POT. *Mat has proven many times over* to be extremely *knowledgeable, sincere, diligent and precise* in his explanations and examples. I just wanted to extend my sincere appreciation to him and your team. Mat is a great example of the type of an employee that makes Pentaho an awesome company." --Pentaho Sales Engineer, August, 2007 * "WOW !!!! This is very cool. You guys ROCK !!!. Thanks for all your help with this and *please extend our appreciation to Mat Lowery* for the additional docs including the well documented SSO ant script." --Pentaho Customer, August, 2007 * "Props to you, Mat! *Thanks for all of the hard work* you've put in assisting SST - this goes along way towards our company's success and our customer's satisfaction." --Pentaho Support Engineer, August, 2007 * "Guys, I know that you are a small, tight knit group, however I did want to directly recognize the effort and support Mat Lowery provided to me at [company omitted]. He "stayed" with me through some pretty long hours, past midnight on two occasions, took a 5 hour plus phone call with me, etc. He even coded a new class that added additional logging so we could find out why LDAP wasn't working (this was *AT* midnight). Not to mention he put up with my frustration/sarcasm or sarcasm/frustration (pick your order) with nary a complaint. You are *lucky to have him in your organization* , please make sure his efforts do not go "unnoticed". PS [Others] were helpful too, but the *sheer magnitude of Mat's help* needs highlighting." --Pentaho Partner, March, 2007 * "Mat Lowery, a Pentaho engineer who focuses on security during his day job, put together the content for the module [at the Pentaho Partner Summit] today. Mat took a pretty complex set of topics (LDAP, Acegi, CAS and J2EE Container Security) and delivered just enough content to understand easily what Pentaho Security is made up of, and what Pentaho adds to the standard technologies available to you in a J2EE environment." --Pentaho Software Engineer, January, 2007 Application Software Developer Wyndham Vacation Ownership (formerly Cendant Timeshare Resort Group) (Orlando, FL) October 2003-September 2006 Projects: * Designed and implemented *extensible web application security infrastructure* according to OWASP best practices. Used Acegi Security to provide transparent authentication and authorization. Encapsulated *user management* (e.g. registration, password retrieval, administration) into a separate web application whose services were shared by client web applications. Modeled user management web application after Microsoft Passport—one site for account services with many clients of that site. Designed security infrastructure to support users from *heterogeneous datastores* such as Microsoft Active Directory and relational databases like Oracle with graceful degradation for unsupported operations. Provided verbose *auditing* as well as *account lockout* was implemented using the Observer pattern. Created custom *single sign-on* (SSO) implementation that seamlessly integrated with Acegi Security's authentication mechanism. OWASP * Served as the primary implementer of initial *data layer, business facade, and reusable UI* elements for Fairfield Resorts' primary external web site using established *enterprise design patterns* . Used Hibernate for *object-relational mapping* and Spring DAO support for data access objects. "Wired" dependent objects together using Spring's bean *factory* functionality while also providing per-environment "override" configurations. Designed common, *reusable page elements* using Tiles. Followed Spring conventions of judicious use of Java *interfaces and runtime exceptions* . Introduced *transformation layer* to allow Hibernate POJOs to differ from the business objects, allowing design of data layer and *business facade* to proceed independently and in a manner convenient for each. Wyndham Vacation Resorts * Assisted operations personnel with the configuration of *development, integration, and staging environments* in addition to a production environment. Configured *clusters* and servers in WebSphere including *virtual hosts, datasources, and shared libraries* . * Served as *build manager* for application builds using Ant, *administrator for version control and continuous integration systems* (ClearCase and CruiseControl respectively), and system administrator of shared development machines. Graduate Teaching Assistant University of Central Florida (Orlando, FL) August 2001-May 2003 Projects: * Designed and instructed an *object-oriented programming course* based in Java, covering topics such as Java language elements (variables, control structures, and assignment), classes, interfaces, and objects, constructors, methods, instance vs. static, inheritance and composition, data structures, exception handling, and Swing GUIs. * Assisted in the instruction of an *enterprise technologies course* including J2EE APIs, covering topics such as distributed applications, concurrency, JavaBeans, security, and remote method invocation (RMI). * Instructed the recitation of a *discrete mathematics course* , a notoriously difficult course in the computer science curriculum. Topics included combinations and permutations, set theory, functions, and state machines. Programmer, MeasureMe exhibit Orlando Science Center (Orlando, FL) January 2001-June 2001 Projects: * Employed Jini and JavaSpaces to build a *distributed, asynchronous system* used in an exhibit called "MeasureMe." Jini provided *service discovery* much like UDDI does today. JavaSpaces provided simple, *anonymous access to shared data* . Red Hat Linux-based server running PostgreSQL database acted as persistent storage. Microsoft Windows clients running Java Swing acted as graphical interface for science center visitors. Extensive use of RMI between client and server. Used Java Communications API to interact with custom measurement hardware connected via serial ports. MeasureMe Intern, International Release Certification Fiserv, CBS Worldwide Division (Orlando, FL) October 1999-December 2000 Projects: * Supported *regression testing* by release certification team. Enhanced *data-driven regression test scripts* written in Mercury Interactive's Test Script Language (TSL). Executed test scripts using WinRunner. Stored test results using TestDirector. * Streamlined disk imaging process for rapid environment changes. Memberships: Student Leadership Orlando March 2006-October 2006 Leadership Orlando is a 9-month community leadership program conducted by the Orlando Regional Chamber of Commerce. Class 69 Directory 2006-07 Fundraising/Sponsorship Chair UCF Alumni Association Metro Orlando Chapter January 2006-May 2007 Raised funds for scholarships and represented chapter when contacting sponsors. Volunteer UCF Alumni Association Community Service January 2004-December 2005 Habitat for Humanity, Citrus Harvest, Seniors First. Volunteer ICSE Conference May 2002 Served as volunteer during 2002 International Conference on Software Engineering. Education: MS in Computer Science, September 2001-May 2003 University of Central Florida Overall GPA: 3.9 BS in Computer Science, January 1998-May 2001 University of Central Florida Overall GPA: 3.9. Magna Cum Laude AA, August 1996-December 1997 Palm Beach Community College Overall GPA: 3.8 Last modified December 2008.