UI Engineer: Designing and Scripting with Standards

Seasoned UI engineer with a strong background in open source and designing user interfaces. Comprehensive experience with web architectures, api programming, and web design.

Hands on interaction with over 30 software packages required for the development and testing of web applications. Intergration of user interface in Perl, JavaScript, PHP, and Ruby on Rails framework.

Core Concepts

  • User Interface Usability, Web Architecture
  • Separation of Structure, Behaviour, and Design
  • Unobtrusive DOM Scripting
  • MVC Design pattern
  • Object Oriented Programming
  • Source Control Management
  • W3C specifications and recommendations
  • Cross-browser, cross-platform design
  • Section 508 compliancy and accessibile design
  • Functional UI Testing with Selenium (IDE/Core)
  • Microformats
  • Search Engine Optimization (Marketing)
  • Agile Development — Scrum, XP

Software Experience

  • Vim, TextMate
  • SSH
  • Macintosh (10.4.x) with Parallels Desktop
  • Linux (Gentoo, Debian/Ubuntu)
  • Apache
  • MySQL, Postgres, Oracle
  • Subversion, CVS
  • Quantas+
  • Gimp, Photoshop CS3, Illustrator
  • XMLSpy, OxygenXML
  • Command Line Interface (Bash)
  • Trac, Bugzilla
  • ClearCase, ClearQuest
  • AxKit
  • Bind - DNS
  • Cocoon - Java/XML framework
  • Samba
  • OpenSSL
  • DHCP Server
  • Streaming Media (Real©, Shoutcast, ogg, mp3)
  • curl API
  • Rsync, scp

Web Programming Languages

  • XHTML, CSS, JavaScript (W3C recommendations)
  • Object Oriented Perl
  • Perl CGI/Mason
  • XML, XSLT, XSD, XPATH queries
  • PHP 5 / Smarty template engine
  • SQL
  • Bash
  • Ruby on Rails (jr.)

Web APIs and Libraries

  • YUI!
  • Script.aculo.us
  • Prototype.js
  • Google Search API
  • Yahoo Search API
  • MSN Search API

Perl Modules

  • CGI.pm, HTML::Mason
  • Class::DBI, SQL::Abstract
  • XML::LibXML (et. al - *::LibXSLT, *::XPATH)
  • Template-Toolkit
  • HTTP::Request, LWP::UserAgent
  • Date::Calc, Date::Manip
  • URI::URL
  • HTML::Entities
  • GD::Graph
  • Mail::Mailer
  • Pragmas — strict, warnings; Data::Dumper
  • Perl::Critic usage

Work Experience

WhiteHat Security, Inc. - Santa Clara, CA

Sr. UI Engineer

January 2007 - Present

User Interface design (view, behavior) and middle-tier development (controller, model) for an industry leader providing web application security management to Fortune 500 companies.

Introduced web standards to current development practices. Increased separation of design, behavior, and structure and lead team on improving client side.

Utuxia Consulting - Capitola, CA

Web Developer Consultant

January 2006 - January 2007

Developing community-driven forums and converting existing designs to standards-based "tableless" layout designs. Writing cross-browser CSS 2.1, DOM scripting level 1, and semantic XHTML markup.

December 2006 - January 2007

Implement graphic design with xHTML and CSS 2.1 seperation of markup and design for an embedded IE software application.

eCommerce Projects

August 2006 - September 2006

xHTML and CSS programming for online stationery store.

Shopping cart and catalog re-organization and management for small ecommerce site. SQL, Perl, and MySQL application design. Consolidated product catalogs from multiple shopping cart databases.

Internal Projects

Build and promote community web sites. Improve search engine ranking and sell advertising space to clients and affiliates — CPM, CPA, and PPC advertising space. SEO consulting for small to medium sized companies.

PayPal, Inc. (eBay, Inc.) - San Jose, CA

Software Engineer

February 2006 - July 2006

Volunteered for a new initiative to improve developer productivity. Built benchmarking framework to track internal tools used by developers including ClearCase usage statistics, written using Object Oriented Perl and an Oracle database. Experience with source code control in Subversion, CVS, and ClearCase (ClearQuest bugtracking).

New Hire Training — Chennai, India; San Jose, CA

November 2005 - February 2006

Traveled to India Development Center to lead hands-on training course for new offshore web development team. Participated in interviewing and help build an efficient team to use PayPal's web development architecture. Led web development training for new hires in San Jose, CA upon return.

Web Developer

May 2004 - February 2006

Integral role in implementing the XML presentation tier of PayPal's architecture. Responsibilities include XML, XPATH, and XSL stylesheet programming, as well as defining XML Schemas. Responsible for developing standards-based CSS styles used on PayPal site, including "tableless" layouts in CSS and accessible menus.

Used Perl to convert existing html-based files to XML; wrote an automated robot to verify link integrity from the view of search engine spiders (Googlebot, MSNBot, Yahoo, etc.). Utilized Perl regular expressions and Bash/Linux command-line on a daily basis.

Active member in PayPal's natural SEO team. Provided solutions for obtaining higher rankings and improve brand management in major search engines.

Helped developed client-side of PayPal's mobile product, allowing payment exchange over SMS.

Vinq, LLC. - San Jose, CA

Software Engineer

November 2003 - April 2004

Worked on Fannie Mae Foundation web site, KnowledgePlex.org. Wrote several web-based perl applications under HTML::Mason framework and Mod_Perl on Apache and MySQL. Handled session data and remembering form state using session ids and cookies. Applications include a moderated expert chat interface, online applicant survey for Fannie Mae Foundation with statistics reporting using GD::Graph. Also pulled Lexis Nexis XML news feed and wrote XSLT stylesheets for news stories using XML::LibXSLT and XML::LibXML.

Wrote an object oriented plugin in Perl for CVS and dotProject, updating the dotProject database with comments and hours worked from the CVS commit log entry.

Wedirect, Inc. - San Jose, CA

Sys. Admin / Web Developer

February 2002 - September 2003

Linux Server Administration - Setup apache, mod_perl, php on Linux servers. Maintain virtual domains, user accounts, MySQL databases, and DNS.

Programming - Wrote CGI application to create web pages from templates using Text::Template, HTML::Parser, and LWP perl modules, also used Template-Toolkit 2.09. Wrote CGI database application for logging in and tracking virtual domains, including hosting information, client information, and status of web site project; used MySQL database, DBI perl module, & Cookies. Wrote application in Perl, using Net::FTP module and tar to create server backups and transfer files to a data storage device.

Web Design - Designed many templates, using graphics designed and web page layout created in Photoshop. Coded HTML, JavaScript, Forms, Tables, & CSS by hand in Homesite and Bluefish.

SEO Expert - Increased traffic to sites from various search engines, focusing on Google and Inktomi. Obtained Google PageRanks© of 7/10 for domains, and managed to get many keywords in the top 10 listings for Google and Inktomi databases.

Van Wagoner Capital Management - San Francisco, CA

Technology Consultant

July 2001 - February 2002

Installed and configured an email newsletter application I wrote in Perl (modules including CGI.pm, DBD::mysql, DBI.pm). System administration in FreeBSD server environment, apache web server, and MySQL database server. Configured email aliases with auto-responders on FreeBSD. Wrote email application in PHP that emails form results to a recipient and inserts them into a MySQL database.

Ongoing maintenance of Linux and Apache web server

mPower Advisors, Inc. (now MorningStar, Inc.) - San Francisco, CA

Sr. Web Developer

November 1999 - July 2001

Architected an XML & XSL-based system of distributing retirement articles to clients for use on their web sites. Coded the application in Perl using the XML::Simple.pm Perl module for client configuration in XML files. Content was stored as XML and parsed by XSL using the xml-publishing framework of Cocoon for Apache web server.

Designed & wrote XML files validated against DTDs - including XSLT & XPATH programming. Configured Cocoon & AxKit XML-publishing frameworks. Heavy use of Perl regular expressions in parsing XHTML files for delivery to clients, and converting static HTML files to XML files.

Programmed Perl/CGI web-based HTML & Text-embedded mass emailing tool (MIME 1.0 compliant Multipart/Alternative email), storing email addresses & subscription information in a MySQL database. Installed & configured HTDIG search engine to index and display results across multiple web sites.

Web Production Associate

April 1999 - November 1999

Wrote a Perl script utilizing OpenSSL and cURL to download stock market data from a remote server. Coded an HTML & JavaScript 401(k) financial calculator for use on the 401(k) retirement web site. Redesigned both the 401(k)afe and IRA Junction web sites using two-level tab-style navigation and page layout.

Wrote an interactive voting script in Perl for visitors reading retirement articles on the web site; used cookies & environment variables to limit the number of votes to 1 per article for each visitor.

Linux system administration on both production & development servers, installed & configured the following software: Samba, SSH server, Apache (mod_perl), Cocoon & Axkit, ProFTPD, Apache Jserv, streaming Real© Server setup & media conversion (mp3/mpeg/rm/wav).

Virtually Commerce - San Diego, CA

Junior Developer

February 1998 - June 1998

Media conversion for Streaming Real Server (ra/wav/aiff). Created animated effects for graphics using a CSS, DHTML/JavaScript layer animation script. Coded HTML tables, embedded media, and submission forms for clients' web sites.

AP Web Design - San Diego, CA

Web Programmer

December 1995 - February 1998

Maintained Microsoft Windows NT© 4.0 DHCP server & IIS web server. Setup office LAN with T-1 internet access.

Coded DHTML animated menu navigation using JavaScript and layers. Redesigned web site, including graphics & page layout. ASP & database programming with Microsoft Access©, displaying rows of data from database in tabular HTML tables.

Perl scripting for voting & email forms on web site using a MySQL database. Maintained & coded intensive HTML in Homesite html editor using tables & frames. Configured Apache and email accounts on a Solaris web server. Supported partners by providing web content to third parties with CyberInvest content populating clients' templates. Maintained email newsletter using SmartList email newsletter server.

Advised graphic designers on layout & HTML table constraints, web safe colors, and animated graphics. Hand coded HTML pages in Homesite HTML editor. Setup & maintained virtual hosts on Apache & Solaris. Wrote custom Perl scripts for submitting data via email from HTML forms on the web site.

Education

San Diego State University - San Diego, CA

BS in Business Administration

Marketing, Psychology

GMAC Internship - Lead team in state-wide web interface design competition for the GMAC web site.

Lab Assistant - Internet Marketing - Consulted with Professor Schilmpaglia about the newly created "Internet Marketing" class at SDSU. Presentations to class about commonly accepted web design practices.

SIFE - Wrote a comprehensive assessment of shopping.com and the viability of online commerce (1997). Presented in National SIFE competition among top Universities in Kansas City, MO (sponsored by SDSU - personally raised $2,000 in funding from AutoTrader Publications).

Cabrillo College - Capitola, CA

Graphic Design

Advanced Photoshop - Increased knowledge of professional techniques and interface features for Adobe Photoshop and Illustrator CS3.

De Anza College - Cupertino, CA

Database and Programming

Advanced Perl - Object Oriented Perl, command line programming, user input validation, database driver usage, and regular expression pattern matching.

Database Management - Database design concepts, including normalization techniques, constructing database queryies, and schema design with UML diagrams.

San Jose City College - San Jose, CA

Web Programming

XML Programming - Creating XML and writing XSL templates parsed by current browser engines. Writing complex XPath statements used to identify specific nodes and attributes in a given XML document tree.

JavaScript Language - Creating JavaScript event handlers, DOM parsing, and form validation. Writing DHTML behaviors on the client-side.