Ian Kallen [curriculum vitae] adaptive, autodidactic and entrepreneurial [T]
++
Contact Info X
Ian Kallen
42 Knox Drive
Lafayette, CA 94549
h: 925.283.7788
m: 415.505.5208
spidaman _at_ arachna _dot_ com
Summary X
Over a dozen years of experience as a system, internet and software technologist. The last 3 years have been invested in growing and scaling a significant internet service to handle hundreds of millions updates per day, support millions of web traffic requests and millions more database and search system queries. The prior 5 years were invested developing management portals and web applications for online infrastructure and content for enterprise software and web publications. I am an agile and inventive technologist with a rich background in major application and system design, architecture and project leadership. Focused on the big picture while tending to the details in tenacious pursuit of success, I make great things happen.
Objective X
A challenging technology leadership position where my rich and varied experiences will be put to use creating valuable products and my professional repertoire of technology, management and communications skills will continue to grow.
Skills X
Practices
        agile development and scrummy extreme programming (XP)
        OO design and programming
        bang-it-out-hacking
Programming Languages
        Java, J2EE, EJB, JDBC, Servlets, JSP, JSTL, Struts/Tiles, jsr-168, JAX-RPC
        Perl, mod_perl, HTML::Mason, DBI, LWP, CGI, CPAN
        Apache Axis, SOAP::Lite and WSDL
        Python, twisted
        PHP, shell, Tcl/TK, expect
Software Infrastructure
        Apache HTTPD 1.x and 2.0
        Tomcat 3.x through 5.0
        mod_perl 1.x through 2.0
        JBoss 3.x
        Weblogic 7.x through 8.x
Database Technologies
        Postgres
        MySQL
        Oracle
        Sleepycat (native and je)
        ObjectStore
Standards and Protocols
        HTTP, SOAP, XML-RPC, WebDAV/DeltaV
        HTML, XML, XSLT
        FTP, SMB, NFS configuration
        Various mail protocols
Tools
        Eclipse, NetBeans and vi
        SQL*Plus and other SQL shells
        Embarcadero ER/Studio and DBArtisan
        ant, xdoclet, make, shell scripting
        white boards, hand gestures, rhetorical questions
        CVS, Bugzilla, RCS and subversion
        Microsoft Office, Visio and OpenOffice
Network Infrastructure
        Cisco/Linksys, 3com, Lucent/Ascend routers and switches
        f5 loadbalancers
        Homebrewed firewalls with BSD/ipfw and Linux/iptables
Operating Systems
        Linux
        FreeBSD
        Solaris
        Windows DOS/3.x/95/98/NT/2K/XP
        IRIX
        MacOS
Other
        BIND, squid, cron
        sendmail, qmail, ezmlm
        regular expressions
        awk, sed, grep, etc
Hardware Platforms
        x86
        Sparc
History X
Technorati Apr, 2004 - Mar, 2024
San Francisco, CA
  Senior Architect and Director of Core Services Apr, 2004 - Mar, 2024
  Innovation and Leadership
  • Decoupled application and UI with service interfaces
  • Virtualized services behind load balancing infrastructure
  • Introduced event based data collection and publishing systems
  • Integrated distributed object in-RAM caching
  • Implemented HTTP connection management with reverse proxying
  • Decoupled static from dynamic content serving
  • Implemented web spam detection and thwarting infrastructure
  • Redesigned and reimplemened crawling systems
  • Developed metric collection and visualization systems
  • Forecasted technology changes required and scaling needs driven by growth
  • Evangelized and developed technology around key areas
  • End-user identity silo solutions such as OpenID
Intellectual Property Development
  • Developed and filed patent on web spam thwarting system (patent pending)
  • Designed systems for high performance, smooth runtime scaling and simple operations
Operational Support
  • Provided provisioning, deployment and troubleshooting documentation
  • Assisted diagnostics and troubleshooting during operational intervention
Technical Uses and Accomplishments
  • Java application development with JDBC, JMS, JUnit and other APIs
  • Java UI development with JSP/taglibs, Velocity, Servlets, Struts, Tiles and Java i18n/l10n
  • OO Perl development with mod_perl, DBI and myriad CPAN modules
  • PHP, Python and Ruby script development and maintenance
  • MySQL, PostgreSQL and BerkeleyDB db development, maintenance and administration
  • spread, memcached and daemontools integration
Covalent Technologies Mar, 2001 - Mar, 2004
San Francisco, CA
  Senior Software Engineer/Project Team Lead Feb, 2003 - Mar, 2004
  As CAM Team Lead
  • Implemented portions of the infrastructure inventory system web GUI.
  • Analyzed mockups for the monitoring web GUI for backend support requirements.
  • Led a small team to implement web GUI for 1.0 release.
  • Applied fixes to the 1.x product's web GUI and in the EJB backend.
  • Co-lead on the 2.0 metric system re-design team.
  • Wrote functional specifications, screen storyboards and other design materials for the 2.0 product metric system.
  • Analyzed system reporting requirements and implemented prototypes.
  • Designed and implemented metric grouping attribute system and problem identification system.
  • Specified application transaction availability tracking system.
Technologies used included
  • JSP, Servlets, Struts, Tiles, JDBC
  • Entity and session EJBs (session facade pattern)
  • Xdoclet, ant (including custom ant tasks)
  • Tomcat 4.1.x
  • JBoss 3.0.x and 3.2
  • Managed infrastructure: WebLogic, Oracle, Apache and others
  Senior Software Engineer/Product Lead Mar, 2001 - Feb, 2003
  As CMP Product Lead
  • Worked with product management to specify configurator, monitoring, alerting, process control and security requirements.
  • Analyzed and scoped marketing requirements, wrote functional specifications and specified architectural elements.
  • Recruited engineers, worked on estimates and project plans, facilitated workshops for QA, professional services, support personnel and technical documentors.
  • Planned bug-fix schedules and releases.
  • Worked with packaging and installer team on product bundles, installation utilities and product integration.
  • Re-architected and refactored system for performance gains.
  • Wrote version migration scripts and tests.
Technologies used included
  • JSP, Servlets, Struts, Apache SOAP and Axis, JDBC, SSL
  • Ant (including custom ant tasks)
  • Apache HTTPD 2.0, Tomcat 3.x and 4.x with mod_jk
  • SNMP (Netaphor and UCD snmpd libraries)
Salon.com Jun, 1999 - Jan, 2001
San Francisco, CA
  Creation Engines CTO Sep, 2000 - Jan, 2001
  Architected, designed and hired engineers for implementation of
  • workflow systems
  • user management and security model
  • article keyword suggestion engine
  • keyword <=> article relationship productivity enhancements
  • template management and page component generation system
  • page component staging, transformation, queuing and deployment system
  • content re-use and syndication system
Collaborated on
  • financial modeling
  • business plans
  • marketing/sales plans
Traveled on-site for
  • investment meetings
  • customer demos and technology discussions
  Software and Network Systems Manager Nov, 1999 - Sep, 2000
  Performed integration, maintenance and troubleshooting for a variety of products such as
  • WebCrossing
  • Accrue
  • RealMedia Open AdStream
  • Oracle 8.0/8i
Application development, designed, developed and implemented
  • polling system
  • content delivery for AvantGo and other wireless/PDA target devices
  • traffic tracking systems using mod_perl and PHP (MySQL back-ended)
  • server farm content population system
  • reporting systems
  • prototyped re-built mod_perl applications as Java servlets
  • load distribution system
Architected, designed, developed and implemented replacement CMS
  • integrated a widely used templating system, HTML::Mason (eliminated use of Apache::Registry)
  • Oracle 8i schema
  • managed team of engineers dedicated to the implementation
  • object oriented class hierarchy
  • business logic API provided
  Software Engineer Jun, 1999 - Nov, 1999
 
  • content syndication/subscription systems
  • cryptographically secure cookie based access controls
  • SSL authentication
  • Apache builds, Perl library maintenance
Gamespot.com/ZDNet Feb, 1996 - Jun, 1999
San Francisco, CA
  Director of Technology Feb, 1996 - Jun, 1999
  Set up systems for
  • Web servers that delivered upto 2M pageviews day (IRIX/SGI and FreeBSD/Intel)
  • farm of FTP servers that supported upto 800 simultaneous downloaders each (2400 in aggregate) (FreeBSD/Intel)
  • staging servers for content development and QA
  • Oracle, MySQL and other RDBMS installations
  • Squid caching web servers
  • mod_perl servers
  • PHP and server side include components
Performed setup and systems/network administration for
  • e-mail (sendmail, qmail and listserv)
  • DNS
  • NT LAN, samba servers, printers, file servers
  • network equipment: routers, switches and hubs
  • desktop hardware and software support
San Francisco State University Jun, 1997 - Dec, 2002
San Francisco, CA
  Instructor (part time) Jun, 1997 - Dec, 2002
  Courses offered
  • CGI Programming with Perl
  • Installation and Management of Apache Webservers
  • Advanced Perl
Setup and tracked
  • set up and maintained Unix system for class use
  • student accounts
  • online curriculum notes
  • student assignments
Taos Mountain Software Nov, 1995 - Feb, 1996
San Francisco, CA
  Contractor
Contracts:
Oracle Corporation (Server Technologies Group) Nov, 1995 - Feb, 1996
Redwood Shores, CA
Systems Administrator Nov, 1995 - Feb, 1996
Performed
  • maintenance of SparcStations, mostly 10s and 20s including CDDI cards, disk drives, CPUs and ethernet
  • SunOS 4.13 systems and installations
  • Solaris 2.4 systems and installations
  • back-ups and restorations, NCD, print and file server troubleshooting
  • migrations from SunOS to Solaris
  • developed a "upgrade automation" server
-
 
The Well Oct, 1994 - Aug, 1995
Sausalito, CA
  System tools and user support Oct, 1994 - Aug, 1995
 
  • hosted Web pages
  • Macintosh and MS-Windows 3.x/95/NT connectivity (serial dial-up and PPP
  • conferencing system use
  • founder of the Java and VRML conferences (1996)
  • Performed QA for customer software bundle development

additional job history available upon request
Presentations X
Exchanging Objects and Messages With SOAP O'Reilly Open Source Conference (Jul 23, 2002)
  An in depth web services tutorial using example code in Java (Apache Axis) and Perl (SOAP::Lite)
Industrial Strength Web Publishing O'Reilly Open Source Conference (Jul 20, 2000)
  A discussion of open source tools to fulfill high volume content management and web publishing requirements.
Web Server Load Balancing O'Reilly Open Source Conference (Aug 23, 1999)
  A review of scalability challenges and solutions as well as a comparative overview of load balancing technologies.
Know You Audience: Logging and Tracking ThunderLizard Apache Summit (Jul 22, 1999)
  A technical overview of web traffic analytic challenges and solutions, general and specific to the Apache web server.
Extending Apache: Modules and More ThunderLizard Apache Summit (Jul 23, 1999)
  A demonstration of the Apache httpd server's extensibility and open architecture.
Publications X
Teach Yourself Apache 2 in 24 Hours SAMS Press (Apr 15, 2001)
  Provided technical editing during the early draft cycle for the lead author, Daniel Lopez, as well contributed chapters on mod_perl, Tomcat/mod_jk and mod_rewrite with setup HOWTO's and code examples.
Cranking Out The Pages LAN Times (Jun 22, 1998)
  A comparitive review of web servers for Microsoft NT with a side bar on the Apache/Unix alternative. Offline and only partially archived on archive.org.
Teach Yourself Perl in 21 Days SAMS Press (Apr 15, 1998)
  Provided technical editing during the early draft cycle of this instructional book with the lead author, Laura Lemay.
Education +
references available upon request

spidaman _at_ arachna _dot_ com
[ technologist / the big picture matters most / the details matter too ]