P.O. Box 12604 • Denver, CO • 80212-0604
303-887-2251 • danlipofsky@danlipofsky.com
Dan Lipofsky
Summary
Senior
Architect with over 13 years professional experience, including team
lead experience.
Over 10 years of Java, including server-side (J2EE/Database). Extensive
Linux/Unix experience.
Considering opportunities near Denver or Boulder, or telecommuting.
Skills
Languages
Java, SQL, Perl, XML, HTML, JavaScript, CSS, C, C++, Lisp, sh scripts
User Interface
AJAX, JSP, Servlets, Struts, JSTL, TagLibs (custom), BIRT, Swing, AWT
Other Technologies
J2EE, EJB, Hibernate, JDBC, XML (Xerces2/Castor/JAXP/JAXB), AspectJ
SOA & Web Services
CXF and webMethods Glue, WSDL, SOAP
Business Rules, Workflow, Process Management
Drools (JBoss Rules), OpenRules, jBPM
Servers
JBoss 3/4/5, Orion, WebLogic, WebSphere 6, Tomcat, JRun, IIS, Apache
Databases
MS SQL Server 2000/2005, Oracle 8i
Tools
Eclipse, Ant, XDoclet, make, SVN, CVS, VSS, JUnit, Cactus, JProbe, jhat, jconsole, Log4j, Unix command-line tools
Operating Systems
Experience developing software on and administering Linux, Solaris, AIX, OSF1 and other Unix flavors, and experience developing on Windows NT/2000/XP.
Professional Experience
Bricsnet • www.bricsnet.com • Telecommuting • September 2003 - Present
Senior Software Engineer (includes Senior Architect duties)
Product: An enterprise-level web application for all aspects of corporate real estate management, included projects, work orders, assets, space usage, leases, and retail.
Technologies: Java, J2EE, EJB, Hibernate, JSP, AJAX, JavaScript, DHTML, CSS, Struts, JSTL, custom TagLibs, BIRT, XML, SQL, JBoss, Orion, AspectJ, Eclipse, Ant, SVN, CVS
Redesigned the internationalization architecture (date and number formats, time zones, and language). The product currently supports 6 languages in many countries.
Redesigned the core business object hierarchy for better flexibility and code reuse.
Redesigned the Hibernate infrastructure, including extensive custom code generation.
Designed and implemented the current Business Rules and Process Management architecture using Drools and jBPM (and helped build the previous system which used OpenRules).
Converted Web Services from webMethods Glue to CXF.
Create an extensive custom tag library, simplifying JSP coding and providing uniformity.
Designed and implemented many new features, at all levels: database, web services, business logic, rules, workflow, user interface, and unit tests.
Mentored and trained other engineers, interviewed candidates, and made hiring recommendations.
NuServe • San Francisco, CA • December 2001 - September 2003
Team Lead / Senior Architect / Senior Software Engineer
Product: A multi-tiered web application for risk analysis and insurance applications.
Technologies: Java, J2EE, EJB, JSP, XML, SOAP, HTML, JavaScript, CSS,
Oracle, WebLogic, Tomcat, Apache, Ant, CVS, Perl, Unix
Managed development timelines, set goals, assigned tasks, mentored.
Interviewed candidates and made hiring recommendations.
Architected major product components from scratch.
Wrote EJB, JDBC, and SQL code to implement back-end business logic.
Wrote JSP, HTML, DHTML, JavaScript, and CSS for front-end work.
Designed and wrote a sophisticated generic XML architecture to extract and edit data from the DB. It could display and edit data with JSP forms and display data in PDF.
Wrote testing scripts and unit testing code and helped coordinate QA.
Unix system administration (Solaris).
Self-Employed • Novato, CA • July - December 2001
Contract work doing Java programming and documentation, network configuration.
Kurion / iSyndicate • Austin, TX • May 2000 - June 2001
Senior Software Engineer
Product: A platform for creating user-customizable web pages and for real-time extraction and repurposing of WWW content and applications.
Technologies: Java, J2EE, Servlets, SQL, JDBC, MS SQL Server, JRun, VSS, Perl
Architected and coded new components, made key technical decisions.
Rewrote infrastructure, making major improvements to the efficiency, usability, flexibility, and organization.
Benchmarking, profiling, and performance tuning.
Mentored and trained junior programmers.
Cycorp • www.cyc.com • Austin, TX • August 1996 - April 2000
Product: General purpose AI composed of an immense multi-contextual knowledge base (over 1,000,000 hand-entered assertions) and an efficient inference engine.
Technology: Java, Lisp, C, Perl, sh, Unix
January 1998 - April 2000: Senior Software Engineer. Programmed in Java in both applet and stand-alone contexts. This included several thick client GUI applications using Swing and API code for communicating between Cyc (which is written in Lisp) and the Java tools. Also programmed in Perl and Lisp.
April - December 1997: Lead Release/QA Engineer, Assistant System Administrator, and Software Engineer. Responsible for the release process, including scripts for building and packaging releases and installing our software. Primary customer interface for installation and QA issues. Managed the testing cycle. Programmed in Perl, primarily data mining, and programmed in Lisp and C on the Cyc infrastructure.
August 1996 - April 1997: Lead Release/QA Engineer, Primary System Administrator, and Software Engineer. Maintained a mixed cluster of Unix/Linux workstations and servers, Windows NT workstations, and Symbolics machines. Responsible for the QA and release process. Programmed in Perl, Lisp, and C.
California Institute of Technology • www.caltech.edu • Pasadena, CA • May 1993 - July 1994
Designed and wrote software in C which utilized a robot for the automated creation of a database of images of physical objects. Also wrote software to assist in cleanup of these images. This database was used to train a biologically inspired object recognition program. Worked in a Unix environment.
California Institute of Technology • www.caltech.edu • Pasadena, CA • June - Sept. 1992
Wrote parts of library in C++ that provided methods to manipulate images stored in a wide variety of file formats through a uniform interface. Unix environment.
Microsoft Corporation • www.microsoft.com • Redmond, WA • June - Sept. 1991
Updated assembly code for compatibility with MS Assembler 6.0 (from 5.x).
Education
M.S. in Computer Science, 1996, Indiana University, Bloomington
B.S. in Engineering (Computer Science), 1994, California Institute of Technology