Bill Welch, Senior Software Engineer
billw@cruzio.com
SUMMARY
A proven software professional with eighteen years of experience including project leadership, specification, development, integration, and testing. A track record of delivering award-winning products on-time and within budget. An accomplished creator of web-based interfaces for user applications and server administration. Customer focused, personable, conscientious, and organized. Establishes good working relationships with customers and colleagues. Demonstrated ability to jump into new technologies and challenges.
SKILLS
• Customer-oriented UI design and usability testing that consistently pleases end-users, emphasis on web applications
• Broad product development experience in several roles in adaptive and predictive methodologies such as Agile (TDD, FDD), XP, Iterative, RAD, and Waterfall
• Experience with multi-tiered J2EE architecture, OO design, using AOP, IOC, SOA, and various design patterns, Facebook FBML, REST client and AJAX cross-browser web apps
• Product and technology evaluation and competitive analysis
• Fostering skill development and product knowledge with new and junior team members and evangelizing best practices
• Reliable communicator: technical papers, production documentation, and presentations for customers, sales channel and developers around the world
ACHIEVEMENTS
• 20 on-time commercial product releases with 9 separate products
• Delivered 3 industry award-winning products
• Selected to present at developer conferences in India and Germany and product training in Japan
TECHNICAL SUMMARY
Languages/Markup: Java, PHP, Perl, JavaScript, D/X/HTML, XML, CSS, SQL, C++, C, Tcl, X11/Motif, sh
Services & Frameworks: Facebook, Prototype, Stripes, Freemarker, Spring, Ibatis, Apache, Tomcat, Tapestry, OpenSSL, OpenLDAP, DNS
Tools: Eclipse, Maven, JUnit, Firebug, Subversion, CVS, SCCS, Jira, Twiki, Bugzilla
Applications: Photoshop, Illustrator, InDesign, Acrobat, VMware
Operating Systems: UNIX, Linux, Windows
Databases: MySQL, Informix, Ingres, Integra
EXPERIENCE
Senior Software Engineer -- The Santa Cruz Operation Inc. (7/1988 - 1/2008)
Java Servlet Developer -- Developed web applications in a J2EE environment with Stripes, Freemarker, Tapestry, AJAX and FBML. Contributed to the back-end Java services running in a distributed SOA. Used Spring, Ibatis and AOP framework to keep layer implementations loosely coupled. Used test-driven development with JUnit and HTMLUnit. Deployed and managed apps under Apache + Tomcat + custom SOA container. Cross-trained in development for mobile interfaces on Blackberry. Utilized refactoring and XP methodologies to keep pace with changing strategies. Worked remotely as a member of a small, Agile development team. Used Wikis to document features, decisions and practices.
Product Lead -- Led engineering teams creating web applications and server management products. Worked with multiple engineering organizations, system test, product management, sales and support organizations, and manufacturing on product requirements, schedules, doc, defects, and escalations. Managed third-party vendor engineering relationships. Provided sales support including trade show demos, regional sales channel presentations, brown-bags, and support training. Created a bullpen workspaces for small teams.
Technical Lead -- Created project prototypes and delivered technical presentations to potential OEMs. Trained other engineers on the product architecture, coding practices, tools and assigned tasks. Mentored junior engineers. Engaged in pre-sales engineering, customer specific solutions, and visited customers. Wrote product documentation. Developed and presented non-technical overview presentations for sales and end-users and technical customization courses for developers.
Web Developer -- Developed cross-browser web applications using DHTML, JavaScript, Perl, TCL, and C. Leveraged Open Source software (postfix, cyrus, nfs, samba) for product foundations and built new task oriented interfaces on top. Created a custom app framework in PHP. Designed and ran usability testing. Created a XML-based syndication mechanism for delivering marketing collateral into applications. Evaluated competing products. Co-managed text and graphic localization into multiple languages and created a localization toolkit. Turned design comps into production graphic source files and created final graphics. Created and iterated prototypes for sales meetings and during product design. Used custom and commercial test automation software for nightly and milestone builds of api-level, public interface and web pages as well as stress/capacity testing.
GUI Developer -- Developed graphical administration and object-oriented administration back-end using C, C++, TCL, and VisualTCL. Particular focus on Filesystem, File, Kernel and Hardware administration applications. Wrote internal X11/Motif apps.
Kernel Engineer -- Ported OSF/1 disk and tape drivers to MIPS 4000 based Jazz platform. Wrote serial mouse driver.
Installation Engineer -- Evaluated 3rd-party install technologies, packaged products in RPM, pkgadd, shar, and 'custom' formats. Worked on menu-driven and curses OS installation programs. Created full product and product update packaging including in-place OS update. Handled licensing updates and product integration with system licensing manager using C++.
System Test -- Performed integration and system testing for UNIX products and software bundles. Performed system installation and bug fix verification. Worked with developers to create test plans. Used test automation software. Wrote SQL-based reports and created web pages for defect tracking.
Unix/Windows/DB Administrator -- Managed the operations of test, staging, and 24/7 production servers running Apache, Tomcat, and MySQL. Administered the database, designed and executed s/w upgrades and data migration procedures. Administered internal UNIX servers and wrote scripts to automate maintenance. Performed installs, backups and restores.
IT Technician -- Developed company hardware tracking database, forms and reports using Informix and Integra. Developed internal applications (event registration, electronic timesheet) using C with curses and c-isam libs.
Graphic Designer -- Self-employed (1995-2000)
Designed and managed production of print pieces for a variety of clients. Created CDs, posters, programs, postcards, and business identity package. Created 2-D & 3-D graphic and composited video segments.
Electronics Technician -- Seagate (6/1988-7/1988)
Built hard drive burn-in and stress test hardware from schematics for manufacturing.
Computer Lab Assistant -- University of California, Santa Cruz (1/1987-5/1989)
Assisted students learning how to use computers, printers, and software to complete their projects. Tutored staff members in basic UNIX skills including common commands and vi editor.
EDUCATION
B.A. with honors in Mathematics, University of California Santa Cruz 6/1991
Computer-related courses included: Programming in C, C++, Data Structures, Computer Organization, and Logic Design