Darren A Kahan Oakland, CA
Home Phone: 510.839.2425
Cellular (Voice Mail): 510.301.9873
E-mail: darrenkahan@yahoo.com

Professional Summary
Ten years of experience programming computers on the following platforms: Windows 95/98/NT, Linux, Sun Solaris, Macintosh, HP Apollo Workstations. Extremely proficient in Java, Perl, C/C++, JavaScript, and SQL. Project management knowledge and experience, including large projects lasting up to six months. Capable of managing projects and products from conception to completion.

  • Microsoft Windows '95, '98, 2000, NT 4.0, XP0
  • UNIX (Sun, Linux, HP)
  • X-Windows (Solaris, XFree86, HP-VUE)
  • Apple OS X (Darwin)
  • Certified Java Programmer
  • Java Servlet Programming (JSDK 1.x, 2.x)
  • Certified Web Programmer (HTML 4.0, DHTML)
  • Perl programming (4, 5)
  • C/C++ programming (emphasis on C++)
  • CGI programming
  • JavaScript programming (1.1, 1.2)
  • ColdFusion (3.0, 4.x) authoring
  • ASP programming (VBscript, JScript)
  • HTML authoring
  • SQL, PL/SQL (Oracle, Informix, ODBC)
  • Visual Basic programming (5.0)

  • Weblogic Server and EJBs
  • ATG Dynamo & Personalization Servers
  • Apache Web Server
  • Microsoft IIS
  • Netscape Web Servers (Enterprise; Directory; Catalog; Compass)
  • Allaire ColdFusion Server, Studio
  • Microsoft Visual C++, Basic, and J++
  • IntelliJ IDEA
  • Symantec Visual Cafe
  • IBM VisualAge for Java Enterprise
  • GNU C/C++ Compiler
  • Netscape News Server 2.0, Collabra Server 3.0
  • CorelDRAW
  • POVRay, Moray (3D Modeling & Rendering)
  • PhotoShop

Professional Experience
Lead Software Engineer, Hotwire.com, October 2001 - Present
333 Market St. Suite 100
San Fracisco, CA 94105
  Lead Software Engineer
As lead software engineer, my role has been to mentor and challenge other software engineers while producing high-quality code. While an active coder, I am also charged with software design, project management, enhancement management (smaller projects), and site support.
Lead Internet Engineer, AllBusiness.com, October 1999 - August 2001
300 California St. #600
San Fracisco, CA 94104
  Weblogic Migration
After merging with BigVine.com, worked with the complete "new AllBusiness" technology team to migrate and integrate our two sites to the WebLogic 5.x platform. Helped to rewrite custom Dynamo code to fit JSP standards. Personally migrated custom dynamo servlets, the CMT templates (see Content Management Tool below), site tools, and functionality into JSP, Java, and EJB code. The complete migration also added new features (such as integrated site registration) and took 4 months to complete. The result is a fully integrated web offering that encapsulates our functionality into a single web site.
  ATG Migration
Lead Engineer of a team of 4 in a project to migrate the AllBusiness website from ASP (IIS) to JHTML (ATG Dynamo). Emphasis was placed on maintaining current production process, site structure, and looks while providing enhanced features such as personalization and complex user tracking. Designed an infrastructure that would require the least possible effort: my Content Management Tool was modified to output XML documents (rather than ASP documents) containing as little HTML formatting as possible. JHTML templates then render groups of similar XML documents into HTML. Related content has been placed in XML by reference (rather than copying in the HTML directly) which allows for better site personalization. XML documents are indexed into an ATG repository that pre-processes each file into a DOM object. This project was part of a larger effort involving the entire technical staff (20 people) to move the site functionality to Java/JHTML/ATG Dynamo. The CMT templates interface with all other facets of the site such as security, registration, and tracking, and make extensive use of custom Java2 (1.2.2) beans and servlets (Dynamo Servlet Beans).
  AllBusiness Site Redesign
Lead technical contact for a complete redesign of the AllBusiness.com website. The template-based formatting of the CMT (see below) allowed most of the changes to be completed simply by changing text files. Additional programming was needed to allow for the new site navigation; third party contractors did most of this programming with my design and input. The final code was later enhanced in-house to provide features outside the scope of the contract.
  Content Management Tool
Lead programmer and manager of a team of 14 to create a complete web-based publishing solution for the AllBusiness website. Managed a team of 4 ASP/Oracle developers to design, produce, and test the Content Management Tool (CMT), and a team of 8 content/HTML designers to migrate the content of the website to the CMT. The CMT is written in ASP using both VBScript and Jscript, and connects to an Oracle 8i backend. The CMT publishes most of the site's 3500 pages, produces co-branded sites, makes site-wide layout changes through the use of templates, manages workflow, and provides personalization features on the published web site. When complete, the 5-month project had been recognized as the largest and best run in the company's history. The tool is currently still in use and was a key selling point for a recent multi-million dollar deal with Bell Canada.
Software Engineer, BASIS Inc., 1997 - October 1999
5758 Hollis Street
Emeryville, CA 94608
  RocketWeb (http://www.johnsonrockets.com/rocketweb)
Lead programmer in a yearlong effort to make rocket engine simulation codes available on the internet. Help to design a complex backend Informix 7.1 database with more than 30 tables. Met strict Department of Defense security requirements through session management, including session timeouts, multiple login checking, and logout features, along with Enterprise Server 3.5.1's 128-bit https features. Sole programmer for a backend Java 1.1.7 RMI server (MissionControl) that executes job requests on any number of Unix and Windows machines connected via LAN. MissionControl can recover from network errors, execute any program on any remote machine, accept kill requests, and track the state of remote jobs. Remote FORTRAN codes are executed using complex Korn shell wrappers that prepare the run context, track the run, output status, and trap kill requests. All aspects of the RocketWeb system are data driven; the entire product can be pointed to different databases, web servers, and directory trees by changing text files. Used ColdFusion 4.01 for the entire UI, and simple file management. The UI allows users to run jobs, view information about past runs, see output directories in a secure encapsulated format, download results, delete runs, change their user information, request help from RocketWeb experts, and more. In addition, used ColdFusion to build a UI for RocketWeb experts, build database administration screens, and build business administration screens for processing orders, tracking expert requests, and viewing customer order history. Finally, used Citrix Metaframe 1.8 on a Windows Terminal NT Server 4.0 to allow Windows GUI programs to be used over the internet. Session state is maintained during the use of the Citrix server, and results files are shared through Samba mounted drives.
  California State University, Chico
Lead programmer for the creation and maintenance of CSUC's LDAP database, which stores information about all of CSUC's 30,000 students. Designed a data-driven Java application using JDK 1.1.6 and IFC 1.1.2 to interface with the LDAP server. The applet has an elaborate ACL based on the types of Chico administrative users, and allows for LDAP attributes to be added/removed from the interface simply by editing a text file. In addition, UI components, such as pop-up lists and text entry validation routines, can be manipulated with the same text file. Despite numerous parameter and scope changes from the client, this code did not need to be recompiled for the last 6 weeks of the project. All changes were handled via the text data file. In addition, developed two Java 1.1.6 servlets for CSUC student initial logins. The servlets, intended for different types of users, are data-driven. After allowing users to set their passwords, they activate the account and set LDAP attributes based on the type of student and their existing attribute values. The servlets may invoke a Korn shell script creating a UNIX shell account for the user.
  Dentistat Medical Credentialing Application
Worked with a team of four engineers, including Danny Goodman (author of The JavaScript Bible), to create a frames-compatible browser-based application for dental credential tracking. Code was written entirely in JavaScript and used Netscape's LiveWire Pro server-side application manager. Application connected to an Informix database with more than 35 tables at the backend. Wrote complex SQL and input verification functions. Used cookies to maintain persistent state on client machines. Embedded applicable JavaScript code in client HTML pages to relieve server load. Created 18 separate credential forms for viewing, modifying, and deleting entries from the database. The application was approved for use by the NCQA.
  Corporate Address Book
Designed a system to create and update a corporate address book in Netscape Communicator 4.x. Wrote data-driven Perl 5.0 scripts to query an LDAP server and parse the results into an LDIF file, allowing for multiple search configurations and address books. Address books are pushed via HTTP to the client machines, where a Windows '95 application queries the registry and imports the files into Netscape's NAB file format transparently. In addition, wrote Perl 5.0 scripts to translate delimited ASCII files into LDIF format, preserving legacy directory information.
  Document Repository and Distribution System
Customized and installed Netscape Publishing System 1.5 extensions developed by BASIS for Autodesk, allowing for document-level access control of publications. Installed Netscape Enterprise Server 2.01, Netscape Publishing System 1.5, and Oracle 7 on a dedicated machine at Autodesk. Wrote Perl 5.0 scripts to automate difficult content administration tasks. Modified legacy Perl code to customize functionality of the BASIS extensions, allowing for entire web sites to be imported into the system at once.
  Client Service Ticket Tracker
Designed, prototyped, and produced an internal application for tracking technical support requests. Code is written in Java using the IFC 1.1.2 and JDK 1.1.5. Connects to an Oracle server on the backend using JDBC. Allows employees to manipulate information about clients and their contacts, systems, and technical support. Includes newsgroup-style commenting areas where users can collaborate, and a series of report-generating Java servlets.

University of California at Berkeley, 1994-1998  
  Bachelors of Arts in Computer Science (with distinction in General Scholarship), 3.7 GPA, Honor Roll, Speaker at graduation, Fall 1997 President of UPE (National Computer Science Honor Society).