|
Carnegie Mellon University |
close
|
|
Aug1995
-
May1999 |
|
Bachelor of Science in Information and Decision Systems, , 3.67 QPA (4.00 scale) |
|
|
Adclip Corporation |
close
|
|
Jan2000
-
May2001 |
|
-
Led the development effort for a web-based administration system used by online publishers and advertisers to configure and deploy digital coupons
(Java, JSP, Servlets, Beans, XSL, XSQL)
-
Developed the beta version of AdClip’s first wireless product, the Wireless Wallet
(Perl, WML, XML)
|
|
Straightline |
close
|
|
Jun2002
-
Dec2003 |
|
-
Created a Notification hub used by different J2EE applications to send messages to subscribers in different file formats and via different delivery channels. Implemented based on the Publish-Subscribe design pattern
(JavaMail, EJB, Struts)
-
Maintained two key business components for calculating prices of different product configurations of steel and for checking inventory availability for these products.
(EJB, Oracle)
-
Designed and developed a generic reporting framework which provided common functionality for displaying and manipulating read-only data, like sorting, paging, filtering, and file conversion.
(Struts, Custom Tags, Java)
-
Led the development effort for an online contract management tool used by customers to manage their own accounts. Developed utilizing core J2EE design patterns including the Business Delegate, Session Facade, Value Object, MVC, and Service Locator patterns
(EJB, Struts, WebSphere, Oracle, Java)
-
Designed and developed a core logging and exception handling framework used by multiple application teams within Straightline.
(Log4J, Struts, JavaMail, Java)
-
Built custom extensions to the Struts framework providing common functionality for session management, resource lookup, and data caching.
(Struts, EJB, Java)
|
|
Carnegie Mellon University |
close
|
|
Apr2004
-
Jan2005 |
|
-
Collaborated with Information Visualization specialists from the Human Computer Interaction Institute to design an effective interface for searching and navigating large, multi-faceted, hierarchical data sets.
(JSP, Struts, MySQL, Java)
-
Implemented a web-based portal and discussion engine used in Pittsburgh’s 2004 Deliberation Day. The portal was used to host and facilitate political conversations among citizen participants toward the goal of strengthening democratic discourse
(MySQL, PHP, Flash)
|
|
Summa |
close
|
|
Jul2007
-
Mar2010 |
|
Financial Client
-
Worked along side a team of 5 to architect, design, and implement a greenfield Software as a Service (SaaS) product for the client built for universities to manage their payments to students and faculty. Helped deliver the system on time and under budget.
(Java, Spring, Spring MVC, iBATIS, SQL, JSP)
-
Created and configured a Spring Web Services module and created an endpoint that accepted messages about new client accounts opened by students.
(Java, Spring Web Services, JDOM)
-
Created and configured the infrastructure for an automated unit and integration testing framework and helped maintain 100% pass rates throughout the course of the construction phase.
(Java, JUnit, DbUnit, Spring)
Telecom Client
-
Led the design and development of a web-based system used to manage the process of customers opting out of license agreements with the client.
(Java, JSP, Struts, Oracle, EJB)
-
Implemented key enhancements to a proprietary workflow engine, allowing the client to track license requests from customers.
(Java, JSP, Struts, Oracle)
-
Designed, garnered consensus on, and then implemented a key refactoring to an infrastructure piece responsible for managing configuration files.
(Java, EJB, JMS)
-
Helped implement enhancements to the client's Online Application system to support a critical business goal of increased agility and responsiveness to customer requests.
(Java, EJB, Struts, JSP)
|
|
KIWI Bulimia Database |
close
|
|
Sep1998
-
Jul1999 |
|
For a Software Engineering class at Carnegie Mellon, a team of 5 were tasked with creating a database to track the results of an international study on anorexia and bulimia for the Western Psychiatric Institute in Pittsburgh. The project lasted one semester, and afterwards I was hired on by the Institute for 6 more months as an independent contractor to maintain and enhance the database.
(MS Access)
|
|
Ciber |
close
|
|
Jun2001
-
May2002 |
|
Internal
-
Developed a wireless knowledge management application used to assist a sales team in initial-stage client meetings. Designed the architecture using a standard MVC pattern, such that core business components were reused across multiple presentation layers
(JSP, JavaBeans, Servlets, Custom Tags, Tomcat, MySQL, SQL, WML)
Transtar
-
Implemented key business components within the EJB specification for an internet application used by Railroad operators for placing railcar orders
(EJB, DB2, WebSphere, Visual Age)
-
Built a JSP Custom Tag library used in the presentation tier to encapsalate and reuse complicated client-side logic for validation, filtering, and complex input fields.
(JSP Custom Tags, Javascript, HTML)
|
|
RealStats Website |
close
|
|
May2004
-
Jun2004 |
|
I created a basic web site for a local small business that distributes statistical reports on real estate transactions in Allegheny county. The site provides potential customers the ability to generate sample reports online, demonstrating the power of the RealSTATs data set.
(PHP, MySQL)
|
|
SDLC Partners |
close
|
|
Feb2005
-
Jun2007 |
|
MSA
-
Played a key role in an architecture assessment of MSA’s Gabriel product, a 5 million line ERP system for the Media industry. The assessment spanned functional, organizational, and technical domains to discover the extent to which each architectural element supported critical business goals.
-
Implemented a performance instrumentation solution utilizing Aspect Oriented Programming to achieve better maintainability and extensibility.
(AspectJ, Ant, Java)
-
Acted as a mentor to junior Java developers, performing code reviews, holding consistent brown-bag learning sessions, and offering general support and assistance.
-
Developed a tool used to visualize Ant target workflows for the purposes of understanding complex Java build scripts.
(Java, Ant)
-
Researched and refactored an exception handling rules-engine.
(Java, EJB)
Vocollect
-
Led the analysis, design, and development of the Delivery Locations feature for Vocollect’s VoiceLink 3.0 product. Utilized the dependency injection design pattern to improve testability and extensibility of business logic, and used ORM techniques to achieve portability and better maintainability of database persistence code.
(Java, Spring, Hibernate, WebWork, Ajax)
-
Managed the implementation of the reporting module, which entailed integrating a proprietary reporting component and open-source reporting frameworks with the VoiceLink 3.0 system.
(Jasper Reports, Spring, Hibernate, Webwork, Ajax)
-
Served as the lead consultant of 13, helping to coordinate tasks and manage knowledge.
-
Helped to coordinate, administer, and analyze a usability test of the VoiceLink 3.0 product and helped to pinpoint and then eliminate over two dozen critical usability issues.
-
Helped define the customization strategy for the VoiceLink 3.0 product.
|
|
CodersCV |
close
|
|
May2008
-
Mar2010 |
|
Creating this site (!!), a better visualization of a developer's skills than the traditional resume.
(Java, iBATIS, Spring MVC, JSP)
|
|
CRIMP |
close
|
|
Nov1997
-
Dec1998 |
|
When I was in college, I worked the desk at the local rock climbing wall. The database we used to track customers and sales was pretty limited, so I began to make enhancements here and there. After about 7 months, I had completely gutted the old system and replaced it with a fully featured database management system. They still use it today.
(FileMaker Pro)
|
|
BUMP |
close
|
|
Oct2001
-
Dec2001 |
|
An intelligent MP3 player that learns your music preferences and then optimally plays songs based on your current mood and tastes. To my knowledge, there's nothing out there quite like this. Most MP3 players will allow you to create custom playlists or play songs randomly. This is different. BUMP allows you to define a song's genre, mood, and how much you like it. It then uses a basic statistical algorithm to select an "optimal" group of songs to play for you at that time. I literally use this every day - if you're interested, let me know.
(Java, JMF)
|
|
Carnegie Mellon University |
close
|
|
Aug2004
-
Mar2010 |
|
Masters of Science in Philosophy (Logic and Computation), |
| Intended Thesis: “Proofs, Pictures, and Euclid – a Theorem Prover for Euclidean Geometry” |
|
Customer DB |
close
|
|
Jun1998
-
Aug1998 |
|
Between my junior and senior years in college, GymKhana Gymnastics hired me as an independent consultant to build them a database to track their customers, inventory, and sales. I finished the project in 100 hours, and they still use it today.
(FileMaker Pro)
|
|
BUMP 2.0 |
close
|
|
Dec2004
-
Mar2005 |
|
This is version 2.0 of an intelligent MP3 player that I created a few years ago. Other MP3 players that I've seen are usually of one of two flavors: the playlist model or the random model. With the first, you're forced to manually create playlists, which gets very tedious. With the second, you end up listening to songs you don't like as much as songs you do - since it's completely random. What I created is the best of both of these worlds - a player that intelligently selects songs based on your mood and preferences. If you're interested in trying it out, contact me.
(Java, Swing, JMF)
|
|
PMDReports |
close
|
|
Jul2006
-
Mar2008 |
|
PMDReports is a wrapper around the popular open-source Java code analysis and bug detection tool, PMD. Whereas PMD generates and displays code quality statistics at a source code level, PMDReports persists and aggregates these statistics so that code quality can be viewed from a more macro, component level. From this elevated perspective, development team members can begin to better understand: (1) Which components in a project have the best or worst code quality? (2) As development continues, is code quality improving? Or getting worse? (3) How does code quality in this project compare to other projects?
(Java, XSL)
|
|
Classic Clips Website |
close
|
|
Mar2004
-
Jul2004 |
|
For the College of Arts and Sciences, I developed a very simple web site to showcase their distinguished faculty. The site consisted of two parts: the web site itself, containing instructional videos and teaching resources, and an administrative console where the web site content could be updated.
(PHP, MySQL)
|
|
Euclidean Geometry Theorem Checker |
close
|
|
Mar2007
-
Mar2008 |
|
Collaborating with Dr. Jeremy Avigad and Dr. John Mumma, I built an automated theorem checker for a formal system of Euclidean Geometry. A user enters facts about a diagram, and the tool generates a list of logical entailments - i.e. conclusions that could be deduced using pre-defined logical rules.
(Java, JavaCC)
|
|
Accounting System |
close
|
|
Jan2003
-
Mar2005 |
|
Made improvements to an off-the-shelf accounting system to better manage customers and inventory.
(MS Access)
|
|
CRM and Scheduling System |
close
|
|
May2006
-
Jul2007 |
|
Designed and implemented a web-based system to help a local fire protection business track inventory and route technicians to customer sites. The system was intended to reduce operational costs and increase customer retention, thereby increasing revenue.
(Java, Struts, Hibernate, JSP, Javascript)
|
|
FHLB Toolbox |
close
|
|
Jan2007
-
May2007 |
|
Rewrote an existing web application used to manage internal banking documents using Java-based technologies to keep consistent with IT standards. The site was used by 200+ users located in different FHLB branches around the country.
(Java, Webwork, Hibernate, MySQL, Javascript)
|
|