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
| Proficiency Legend |
|
novice
|
An understanding of only the most basic concepts within this topic. Will require training or self-study. |
|
basic
|
An understanding of the fundamental concepts within this topic. May require supplemental training. |
|
intermediate
|
A solid understanding of core concepts within this topic. May require initial study for advanced concepts. |
|
advanced
|
An understanding of many advanced concepts within this topic. Capable of mentoring others on most aspects. |
|
expert
|
An understanding of most advanced concepts within the subject area. Capable of mentoring others on the most complex aspects. |
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 SSO
CAS
-
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
Education
Last modified December 2008.