Resume for Keith Dart

email: keith.dart@gmail.com
phone: 408-296-5806  mobile: 408-348-6488

2848 Regnart Way
Santa Clara, CA 95051

Skill Summary

Quality Assurance: Write test plans, perform tests, use test tools, automate, script, report bugs, suggest improvements. White-box, black-box methods. Primary focus has been data communications technologies.
Quality Assurance Automation: Design and develop frameworks and toolkits for automated testing of software and hardware. Automate instrumentation using GPIB/IEEE-488, serial protocols, SNMP, HTTP/CGI, etc.
Software Development: Python, C/C++, Tcl/tk/Expect, shell scripting. CVS, Subversion, and Perforce SCM. Object-oriented design.
Network Architect: Architect of voice and data networks. Install cabling, switches, servers, etc. Usually associated with development labs.
LANs: IEEE-802 family, hubs, switches, cabling, VLAN, Wifi.
WANs: Frame relay, leased T1, T3, X.25, ISDN, ATM, VPN, PPP, IPsec, modems.
Telecom: PBX admin, T1/T3, CSU/DSU, VoIP, cellular mobile, radio.
Network Equipment: Cisco, Extreme, APC, HP, Netgear, Sun. Installation, configuration.
Operating Systems: UNIX, Linux, MS Windows, Macintosh, Netware.
Network Services: HTTP (web), FTP, DNS, RADIUS, SMTP (email), NTP, DHCP, etc.
Network Management: SNMP management, reporting; CLI, SSH, Telnet, Expect, custom tools.
Network Security: Intrusion detection (Snort), Vulnerability Assessment (Nessus), OS hardening.

Work History

11/08 to present

HyTrust, Inc.
1975 W. El Camino Real
Suite 203
Mountain View, CA 94040

QA Engineer. Startup. Shhh.

12/06 to 11/08

Google
1600 Amphitheatre Parkway
Mountain View, CA 94043

Test Engineer. Performed test and QA of Android product. This is an open-source software stack for mobile phones. Also tested reference hardware. Responsibilities include the following.

In support of test and measurement I wrote a Python framework and tools for measuring power consumption and radio. The primary equipment used were Agilent products including a programmable power supply, N4010 test set, Fluke 45 multimeter, and 8960 communications test set. This was controlled via IEEE-488 bus and RS-232 interfaces, using 488.2/SCPI command set. The Python framework provides abstract interfaces to these and other instruments and measurements. Also wrote plotting and analysis software.

5/06 to 12/06

Google (through Adecco)
1600 Amphitheatre Parkway
Mountain View, CA 94043

Software QA Engineer (temp). Working at Google through a contract agency (Adecco). Primary developer of the Mobile group's test automation framework. This framework provides the following features:

This test automation framework is largely based on the Django web application framework and the Pycopia network application framework. The basic design is one used successfully at other companies. At Google it is known as Gtest.

3/06 to 04/06

NetZentry
3408 Hillview Aveenue, Suite 150
Palo Alto, CA 94304

Senior QA Engineer. This company makes a network security product. The product detects and mitigates denial-of-service attacks. I was responsible for bug fix validation. Started an automation framework. Learning product internals when QA department was eliminated due to financial difficulties (failed to receive a round of funding). I was here only about six weeks.

10/05 to 01/06

Stratalight Communications
2105 S. Bascom Ave., Suite 300
Campbell, CA 95008

Software Developer (Test Tool Developer). Implemented a new Manufacturing Test automation system. This was used to validate product before shipping. The system included the following features:

05/05 to 9/05

Securify, Inc.
20425 Stevens Creek Blvd.
Cupertino, CA 95014

Software Quality Assurance Engineer. Designed and built automation framework specifically for testing network intrusion and vulnerabilities. The framework utilized remote method calls to distribute simulated hosts for various roles, such as victims, attackers, and defenders. A Snort machine was used as a reference. The device under test supports Snort compatile rule definitions and custom rules had to be created for negative testing, The nessus software was also used to verify IDS functionality. The framework is capable of arbitrary TCP and UDP protocols and exploits.

02/04 to 05/05

NeoPath Networks, Inc.
2171 Landings Dr.
Mountain View, CA 94043

Software Quality Assurance Engineer. Write test plans, perform testing, and report bugs in the product. I designed and implemented an automated test framework. The framework included a testbed abstraction so that tests could be run with any available set of hardware, and test writers can implement test cases more abstractly. Designed a persistent object database schema and objects. Implemented a remote method invocation server for MS Windows and Linux for remote control of clients and servers. Wrote documentation on how to use the framework. This system was adopted by the company as the automation framework for QA and unit testing for engineers.

12/02 to 10/03

Ironport Systems, Inc.
1100 Grundy Lane
Suite 100
San Bruno, CA 94066

Test Tool Developer. Primary designer and author of test automation library and automated test cases. Most of the framework was written in the Python language. The framework provided a rich and consistent API for test automation. Solid Object Oriented design principles were used throughout resulting in a very modular, reusable, and maintainable code base. I implemented many test cases using this framework. Other members of the automation team also used the framework. Some notable contributions include the following.

3/02 to 10/02

Pivia, Inc.
10670 North Tantau Ave.
Suite 200
Cupertino, CA 95014

QA Engineer. Primary designer and author of test automation library. This was written in the Python language. Performed tests and automated regression testing of Pivia's Dynamic Web Cache product. Also contributed supporting utility programs for the product.

Reason for leaving was a 33% reduction in force, due to company's change of focus (original product was not selling).

9/99 to 10/01

Cosine Communications
1200 Bridge Parkway
Redwood City, CA 94065

Senior QA Engineer. Initially, I worked in the Systems Management System (SMS) group. This group was responsible for the management software for the product, which was a carrier-grade IPsec-based VPN device. I designed an object-oriented automation framework for the SMS system using the provided CORBA interfaces. The implementation language was Python. This framework provided for easy system configuration and automated testing from Python scripts. The object model for this was later translated to Java by SMS developers for the next version of the SMS software.

5/99 to 9/99

Globix Corp.
2807 Mission College Blvd.
Santa Clara, CA 95054

Senior Network Administrator. I joined this tier-1 Internet service provider, that was just starting a global expansion, in order to help them become a world-class ISP. Here I performed various duties, including interviewing and hiring additional operations staff, installing and configuring Cisco routers and switches, built the network operations center computing environment (Linux workstations and servers), performed technical consultation with prospective customers, and anything else required to grow the business. Due to management's change of strategy this position was short-lived. They decided to keep engineering staff at their headquarters in New York, rather than the regional offices, as originally planned. Since I worked in a regional office, and the job and compensation became less than originally discussed, I left after a few months.

7/97 to 5/99

Cisco Systems
170 W. Tasman Dr.
San Jose, CA 95134

Devtest (QA) Engineer. Devise test procedures and write test plans for various Cisco products. Wrote scripts in Tcl and Python languages for automated functional and regression testing. Conduct performance testing using custom, in-house built, and commercial tools (such as Smartbits). Assisted junior engineers in doing the same. I worked with Voice over IP (VoIP) related gateways and gatekeepers most of this time. The primary focus was on testing authentication, authorization and accounting, using a customized RADIUS server and driver programs.

10/95 to 7/97

International Network Services
1213 Innsbruck Dr.
Sunnyvale, CA 94089

Network Systems Engineer. International Network Services (INS) was a consulting company specializing in information technology. Generally, I would work with customers to design, build, deploy, and maintain data networks. While at INS I was deployed to several customer engagements, as follows:

Mervyns

Installed, debugged and administered Internet firewall and other Internet services. Set up internal (fake rooted) DNS system. Managed corporate token-ring LAN.

MFS Datanet

Second level support for MFS Datanet's managed frame relay and ATM network. Trained MFS employees in Cisco router troubleshooting. I wrote a custom training course for Cisco products tailored to MFS. I Resolved customer trouble tickets. Analyzed network data patterns, located problems, and effect solutions in their global frame-relay network. Acted as professional services consultant on behalf of MFS to MFS customers.

Hyundai

Assisted Cisco SE's in building new LAN infrastructure at a new site using Cisco VLAN technology. Wrote some simple VLAN test and verification tools using Tcl/Scotty scripting. Installed intranet services such as DNS, network management stations, etc. Reported some bugs to Cisco I found in their Ethernet switch products.

Cisco Systems, Access Business Unit

Initially brought into Cisco to form a tiger team to liaison between Cisco engineers and customer's engineers supporting a new Cisco product (the AS5200).

Later, I worked with devtest group to analyze performance, and verify functionality, of Cisco network access (NAS) products. In support of the goal to create more real world test scenarios for large-scale network access products (specifically, the AccessPath), I designed and built a call simulator. This system measured call-answer rate and data throughput rates. It was comprised of a cluster of Linux PCs with multi-port serial and ISDN daughter cards. It could provide up to 644 modem and ISDN dial-in sessions (T3 capacity). This required devising methods of large scale system control in order to precisely control timing, call mix, and traffic flow during test runs. Most of the software was written Tcl, with some C utilities and shell scripting.

After this, I joined Cisco as a full-time employee.

8/95 to 10/95

West Valley Engineering,
1183 Bordeaux Drive
Sunnyvale, CA 94089

Consultant. West Valley Engineering is a contracting brokerage company that places skilled technical workers at corporations needing specific skills. During this time I was assigned to Adobe Systems to install a remote access system using Ascend products. While here I also analyzed and made recommendations for improving their Ethernet LANs, and NFS performance. I helped monitor and support their LAN infrastructure while the primary IT group transitioned to their new San Jose site.

8/94 to 8/95

Airtouch Communications,
Airtouch Corporate Center,
One California St. San Francisco, CA 94111

Network Data Services Specialist . Part of Airtouch's CDPD Data Group. We were primarily responsible for building and maintaining Airtouch's new wireless data service network.

6/92 to 8/94

GTE Mobilnet,
4410 Rosewood Dr., Pleasanton, CA 94588

Information Systems Analyst. I planned and implemented the overall computing environment in the GTE Mobilnet Western region, in collaboration with three other analysts and the IM Manager. I also performed LAN administration, application integration and development, and troubleshooting. I managed UNIX, MS-DOS, MS-Windows and Macintosh operating systems and software.

Equipment Engineer. As part of the engineering department, I planned the layout and specified parts lists for GTE Mobilnet cellular base sites. Later, I was part of a team to change system infrastructure from Motorola to AT&T switches. I designed the floor plan, cable runs, power systems, and general support of the sites. I wrote the cut-over plan for several of the sites my team was responsible for. This operation required careful planning and coordination, and we succeeded without any major problems.

Designed a cellular phone call pattern analysis tool that graphed cell and sector utilization. This was comprised of MS Excel macros and Oracle middleware, running on MS Windows. It could report call traffic intensity and trunking capacity, reported in Erlang or CCS per site, sector, or channel.

Education

Institutions

9/91 to present Various courses at UC Santa Cruz Extension and UC Berkeley Extension in network engineering and software engineering. These are taken on a continuing basis to enhance my knowledge and skills in the telecommunications, software engineering, and data networking fields.
9/88 to 9/91 De Anza Junior College, Cupertino, CA.

Specialized

Various Corporate training in Quality Assurance, Cisco products, general data networking, and time management.

Military

US Navy for six years. Various training in basic electronics, radio direction finding systems, satellite communications, photography.

Other Info

Primary author of the Pycopia open source project. This is a software framework, written in Python, that provides modules for SNMP, SMI, Internet protocols, process control, XML, XHTML, remote control via CLI, CLI framework, and more. It is primarily a framework for writing network management tools for network engineers, system administrators, and QA automation.