Ben NorthropSenior Java Developer Pittsburgh, PA http://www.bennorthrop.com |
| views: resume | timeline | summary | skills | pdf |
Technology:
Java
|
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) | ||
|
Jun2002 - Dec2003 |
|
| 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) | ||
|
Jun2002 - Dec2003 |
|
| 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) | ||
|
Jun2002 - Dec2003 |
|
| Designed and developed a core logging and exception handling framework used by multiple application teams within Straightline. (Log4J, Struts, JavaMail, Java) | ||
|
Jun2002 - Dec2003 |
|
| Built custom extensions to the Struts framework providing common functionality for session management, resource lookup, and data caching. (Struts, EJB, Java) | ||
|
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) | ||
|
Feb2005 - Jun2007 |
|
| Implemented a performance instrumentation solution utilizing Aspect Oriented Programming to achieve better maintainability and extensibility. (AspectJ, Ant, Java) | ||
|
Feb2005 - Jun2007 |
|
| Analyzed and refactored a critical core component that was responsible for system-wide performance problems. (Java Stored Procedures, PL/SQL, Java) | ||
|
Feb2005 - Jun2007 |
|
| Developed a tool used to visualize Ant target workflows for the purposes of understanding complex Java build scripts. (Java, Ant) | ||
|
Feb2005 - Jun2007 |
|
| Researched and refactored an exception handling rules-engine. (Java, EJB) | ||
|
Feb2005 - Jun2007 |
|
| 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) | ||
|
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) | ||
|
Jul2007 - Aug2008 |
|
| 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) | ||
|
Jul2007 - Aug2008 |
|
| Implemented key enhancements to a proprietary workflow engine, allowing the client to track license requests from customers. (Java, JSP, Struts, Oracle) | ||
|
Jul2007 - Aug2008 |
|
| Designed, garnered consensus on, and then implemented a key refactoring to an infrastructure piece responsible for managing configuration files. (Java, EJB, JMS) | ||
|
Jul2007 - Aug2008 |
|
| 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) | ||
|
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) | ||
|
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) | ||
|
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) | ||
|
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) | ||
|
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) | ||
|
May2008 - Sep2010 |
|
| Creating this site (!!), a better visualization of a developer's skills than the traditional resume. (Java, iBATIS, Spring MVC, JSP) | ||
|
Jul2007 - Dec2008 |
|
| 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) | ||
|
Jul2007 - Dec2008 |
|
| 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) | ||
|
Jul2007 - Dec2008 |
|
| 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) | ||
|
Jul2007 - May2010 |
|
| Implemented an intricate set of business rules for determining how much a student owes the university given tuition fees, financial aid, and periphery charges (e.g. food, housing, etc.). (Java, IBatis, Spring, CXF, Maven) | ||
|
Jul2007 - May2010 |
|
| Designed and implemented a flexible, light-weight, service-oriented authorization framework to grant or deny access to a specific operation given a user's role (RBAC) and attributes (ABAC). The framework leveraged both AOP and annotations for the purpose of separating authorization logic from core business logic. (Java, Spring, ) | ||
|
Jul2007 - May2010 |
|
| Led a team of 5 developers to modernize a legacy web application that helps students to view and manage their university information (e.g. grades, schedules, financial aid, etc.). The modernization improved usability for end-users, reduced operational costs for university customer service representatives, and provided a more stable and extensible base on which other valuable features could be added (GWT, Spring, IBatis, Java, JUnit, Ingres, CXF, Maven) | ||