Home: 781-894-9387 Cellular: 781-254-8601 David Kramer 77 Farnum Road, Waltham, MA 02453 david@thekramers.net http://thekramers.net/portfolio Version 8.0 I have 22 years of experience in software design and development, as well as hands-on management. My strengths are my diversity and depth of experience, perseverance, ability to learn new technologies quickly, and organizational skills. ---------- SKILLS Languages and Technologies: Java, J2EE, Eclipse, JavaScript, XML, HTML, CSS, AJAX, PHP, Perl, Python, SQL, DB2, bash, C, C++, Subversion, MySQL, SQL Server, Oracle, Apache, Tomcat, Beowulf clusters (cloud computing), InstallAnywhere Application Environments, Methodologies and Markets: Web, web services, client/server, Agile/Extreme Software Engineering, cross-platform desktop, embedded (ARM), semantic web, natural language processing, cryptography, localization, branding, training, assessment, simulations, toolsmithing, automation, financial, military, SCORM (training and assessment), CRM (Customer Relationship Management), BPM (Business Process Management), POS (Point Of Sale), TPS (Transaction Processing Systems), ETL (Extract, Transform, and Load), batch processing, Operating Systems: UNIX (Solaris, HP-UX, AIX, SCO), Linux, Windows, Mac ---------- PROJECTS AND ASSOCIATIONS Associate Director/Speaker, Boston Linux and Unix group http://www.blu.org A non-profit group educating about and advocating for Linux, Unix, and Free/Open Source software. Volunteer, Agile Bazaar http://www.agilebazaar.org A non-profit group focused on Agile/XP/Scrum/Lean software development methodologies Co-inventor, Patent No. 6,073,105 A method for bi-directional data synchronization between a website and telephony system. Co-inventor, Patent Application No APTIPU0803PC A method and system to predict the likelihood of topics based on the prevalence of other topics in the past. ---------- EXPERIENCE LITLE & CO., Lowell, MA 11/2009 – 02/2010 Principal Software Engineer Java, Eclipse, Ant, JBoss, Tomcat, XML, JDBC, Accurev, DB2, Agile, Unit/integration tests, Linux Litle & Co. is a leading payment management and processing platform for businesses that sell goods and services directly to consumers. They provide transaction processing and consultative merchant services for card-not-present (non-face-to-face) and alternative payments (PayPal, Bill Me Later). Litle acts as a middleman between merchants and the credit card companies and banks. I worked on several components, including disaster recovery, statistical analysis of transactions, and interfacing with the credit card companies. The development environment is fully agile, with monthly iterations, TDD, retrospectives, and integration tests. METATOMIX, Dedham, MA 12/2008 – 10/2009 Platform Developer (Laid off) Java, Eclipse, Ant, OSGi, Tomcat, XML, JDBC, Subversion, MySQL, unit tests, BPM, Linux, Windows. Metatomix has a software platform that imports and exports documents and their metadata from different sources, transforming, merging, and routing them. The target markets are the banking industry and law enforcement agencies, where it is used to share information about individuals and locations across agencies. I worked on the application core, adding BPM workflow functionality. Another product I worked on extracts metadata from unstructured documents, parsing and clusters them, representing them in a faceted browsing environment. APTIMA, Woburn, MA 10/2005 - 12/2008 Team Lead (Manager), Consulting Software Engineer, and Webmaster. Java, J2EE, Eclipse, Web, JavaScript, XML, HTML, CSS, AJAX, REST, PHP, Apache, Tomcat, Python, MySQL, SQL Server, Agile/Scrum, training, simulation, cryptography, Subversion, Linux, Windows. Aptima focuses on human-centered engineering; organizational design, user-centered technology, and training systems that make individuals and teams more effective for all levels of commercial, government and military organizations. I managed a team of Software Engineers, worked on projects as an individual contributor, and consulted on company-wide technologies and solutions. Some of those projects were: - STAR: Prediction of near-future news topics based on the historical prevalence of predictive topic. Uses several semantic models in Java on the back end, J2EE in the middle, and Flex/JavaScript front end for UI and graphing, dynamically updated using AJAX. - TeamBuilder: Selection and evaluation of teams based on a semantic analysis of documents describing the mission and the candidates, combined with team theory measures based on the nature of the mission. Uses a Java-based PLSA NLP engine supporting a JAVA/J2EE/Servlet application. - CASCOM: A training system using Flex and Java/J2EE/JavaScript/AJAX that coupled didactic training in a SCORM-compliant learning management system with experiential training in a multi-player simulation environment. The success in accomplishing goals in the simulation were fed back into the LMS. - MetaCORE: A web-based application used to search and browse documents and their metadata in a faceted browsing environment showing geospacial, temporal, and topical ontologies. Documents could be imported and exported in different metadata formats, like RDF. Uses a PLSA NLP engine, Java/J2EE, and Flex. Other initiatives: I also helped manage their Subversion repository, designed a set of Agile software development practices and trained several groups on it, and developed a cross-platform, distributed, multi-threaded build and unit testing system. SOFTWARE CONSULTING (out of necessity due to economy) 2003 – 2005 TRADELOOP, Burlington, MA Perl, Oracle, sendmail, Web, Apache, TPS, ETL. Tradeloop is a subscription-based service and online database for wholesale traders of IT and office equipment. I worked on an email-based transaction processing system written in Perl. I did a complete workflow map of the software, and rewrote about half the application for reliability, performance, and new features. I made major modifications to their database schema, increasing performance and data purity significantly. POLAROID, Waltham, MA Java, JNI, C++, Python, Tk, Linux, Windows, Subversion. Polaroid IDP group developed Polaroid's Instant Digital Prints picture printing kiosk. For the prototype version of the product (Windows front end with a Linux back-end), I worked on the front end GUI in Python and Tk to support more features and eliminate major software defects. For the production version (Linux front end and back end), I designed and developed software in Java, JNI, and C++, to interface with device drivers for memory card readers, printers, and credit card readers in a Linux environment. I also worked with their Release Engineering group to make their build process more reliable, and migrated their source control to Subversion. ANACOMP, Reading, MA Java, C++, AIX UNIX, Windows, AIX xlC, gcc, Subversion. Anacomp's DocHarbor product is a document management system with conversion, indexing, and web presentment capabilities. It has a C++ UNIX tier, and C++ and Java Windows tiers. I ported the back end from AIX's xlC compiler to GCC. I also designed and implemented of a unified build system for both platforms and languages, and migrated them from PVCS version control to Subversion. PAPA GINO'S, Dedham, MA (Technical Lead) C, curses, SCO UNIX. Papa Gino's and D'Angelo's use a point of sale system written in C and running on SCO UNIX. I lead a team of three developers adding gift card functionality to that point of sale system (including interfacing with the card-reading hardware), added new screens to the UI, and refactoring modules. AGILE RULES, Lexington, MA 03/2003 - Present Co-Founder, Chief Technical Officer, Principal Software Engineer I co-founded Agile Rules to promote Agile, Scrum, Lean, and XP software development practices. We coached, performed readiness assessments, helped companies transition to Agile, and presented papers at several conferences. One of the open source products I developed was CATSRunner, a system for automated testing on embedded systems. While Agile Rules no longer meets on a regular basis, we're all still active in the Agile community, and never officially disbanded the company. COMPETE, Boston, MA 04/2002 - 08/2002 Senior Software Engineer (Laid off). Web, HTML, JavaScript, Apache, C++, C, Python, ETL, Oracle, CVS, toolsmithing, Beowulf clusters. Compete provides companies with statistics on customer and competitor activity based on Internet usage, polls, and demographic data, based on deep analysis of anonymized click data (with demographics) they buy from ISPs and mine to find out what products and options each demographic is shopping for. I designed and developed software to parse the click data, and analysis software that ran in the Beowulf cluster (a bank of 37 computers connected to a 4 terabyte SAN). I also developed software for special reporting, data integrity validation, and automated build tools. PEGASYSTEMS, Cambridge, MA 02/1999 - 04/2002 Principal Software Engineer. C++, C, Oracle, Sybase, SQL Server, UNIX, Windows NT, CRM, BPM. Pegasystems makes software and services that use a rules-based workflow engine for customer relationship management, salesforce management, and business process management. Most of my work there was on the lower layers (database, SOA, platform abstraction, localization). I developed a performance measurement and tuning library, a debugging library, and a distributed, cross-platform build and software distribution system. I helped architect a series of watchdog, load balancing, and fallover components to increase system reliability as required for AOL. INERGY ONLINE, Burlington, MA 03/1998 - 02/1999 Team Leader and Senior Software Engineer (Company closed) Web, HTML, JavaScript, Perl, C, Oracle, Solaris, Apache, endmail, Localization, Financial. Inergy Online was a startup that created a completely web-based office suite aimed at thin-clients and remote location users. I managed a team of up to seven Software Engineers and three Graphic Artists, as well as the software development process and workflow. I developed their localization system that allowed us to partner with foreign companies like Daimler Chrysler, a check processing system, and a credit card billing system. I made major changes to their Oracle database schema to support new features and optimize performance. TELE-PUBLISHING, Boston, MA 02/1995 - 03/1998 Team Leader and Senior Software Engineer (Team outsourced) Web, Perl, HTML, JavaScript, C, telephony, OS/2, Perl, Oracle, Solaris, Apache, rcs. Tele-Publishing, Inc was part of the Phoenix Media Communications Group, along with The Boston/Worcester/Providence Phoenix, WFNX Radio, Stuff Magazine, and Mass Web Publishing. I did work for all of these companies (especially website work), but I was employed by Tele-Publishing. I lead a team of up to four Software Engineers and two Graphic Artists in their classifieds and personal ads system, used by 650 papers internationally. Among the major features I designed and implemented was a phrase and image branding system. I also developed (and helped patent) a distributed bi-directional data synchronization system that connected the telephony system to the web system. THE GROUND ROUND, Braintree, MA 08/1993 - 02/1995 Team Leader and Senior Software Engineer. C, SCO UNIX, Xenix, DOS, POS, BPM. I lead a team of three developers, working on their point of sale system in C in a cross-platform environment on SCO Xenix/UNIX, and DOS, as well as in-house systems for processing data from the restaurants. I also designed and implemented an accident reporting system for Worker Compensation data. TIAA-CREF (Teacher’s Insurance), New York, NY 10/1990 - 08/1993 Senior Software Engineer C, FoxPro, Clipper, financial. I worked on several financial and transaction-based systems, including retirement planning and live data capture. I trained users on the software, and supported it both internally and externally. THE COMPUTER FACTORY, Elmsford, NY 03/1989 – 10/1990 Senior Software Engineer (Company closed) C, Clipper, POS, Inventory Control, Embedded. I was in charge of their inventory control system. I designed and developed an order picking system using handheld computers with barcode readers. I also worked on their Point Of Sale system. Grants Management Group,New York, NY 10/1987 – 02/1989 Software Engineering: C, dBase, Financial software (grants management) (Company closed) ---------- EDUCATION Hofstra University: Bachelor of Business Administration, 1987. Dual Majors in Business Computer Information Systems and Management Microsoft University: C++ Sun Microsystems: Java Sun Java Evangelist Sang Shin: Java/J2EE Northeastern University: UNIX Kernel Internals, SQL Database Design, C. Sybase: DBMS schema design, ASE fundamentals.