Robert Joseph McMahon
13654
Verde Vista Court
Saratoga,
CA 95070
Phone
Home: (408) 867-2252 Cell: (408) 438-3756
rjmcmahon
at rjmcmahon.com
http://www.rjmcmahon.com
skype
id: rjmcmahon
Test & measurement position for networking products in growing markets. Interests include machine learning of large data sets and fully automated systems
Self starter who takes initiative with quick learning capabilities and growth mindset
Primary maintainer of iperf 2 since 2014
30+ years software design, development (including OO) and testing skills for networking products
Math skills include signal processing and statistics (both uni-variate and multi-variate for anomaly detection e.g. Shewart & T Control Charts)
Programming skills include C, C++, Python, PHP, TCL, GDB, bash scripting, regexp, and x86 and MIPs assembly
Operating systems skills (at admin level or better) include Mac OS X, Linux (Fedora, Suse, Debian) and Cisco IOS.
Protocol experience includes JSON, XML, IEEE 1588 (PTP), 802.11 Spanning Tree, VLANs, IP Multicast PIM, IPv4, IPv6, TCP/IP, IEEE 802.2 LLC, ATM, HTTP
Server configuration skills include Apache2, SMTP, Postfix, Bind9, Spamassassin, Mailman, Wordpress, Mysql
Development test skills include writing both scripts and automation framework elements to support event based testing
Extensive knowledge in layer 3 and layer 2 packet forwarding for both unicast and multicast, TCP and in Wi-Fi
Media expertise in 802.11, Ethernet, FDDI, Token Ring, ATM and Fiber Channel
Tools experience includes gnuplot, gnu octave, Ixia, iperf, Wireshark, Nessus, Snort, ntop, SVN, git, CVS, Subversion, Clearcase
Principal Software
Automation Test &
Meausurement
Engineer:
Performing as a software automation test
& measurement
engineer writing automation test infrastructure and automated tests
for 802.11 ASICS and device drivers. Design and built RF test
beds with controlled RF environments including variable attenuators.
Supported scale out of testbeds and test operations in offshore
facilities. Perform as both an individual contributor and a
technical lead. Trained personal at all levels across
geographies.
Represented
Broadcom at the FCC as a technical expert for both DSRC & 6GHz
unlicensed
spectrum, to both the FCC commissioners & the FCC technical
group.
Maintained iperf 2 as open source since 2014. Fixed
bugs, re-factored
the code for better maintenance, and added new features around
latency and more.
Released Python asyncio
code called flows. Integrated some ML clustering for latency
histograms.
Wrote interactive debugger for TCL Snit. Wrote TCL based web server to submit, schedule and monitor autonomous test rigs. Developed a TCL package (approximately 4K lines of code) for traffic streams using an asynchronous, distributed, object oriented and event driven design. Package included support for graphical analysis (using gnuplot.) Also developed reliable multicast test scripts as well as 802.11 QoS test scripts using this framework. Developed pass/fail criteria using statistical analysis and using control charts. Modified open source iperf 2.0.4 (written in C/C++) to meet the needs of the test framework requirements, particularly synchronization and control over distributed instances. Extended automation environment with an interactive mode using a pure TCL readline that has been extended to work with SNIT objects. Wrote a simple IGMP querier in C (compiled for Linux and Windows).
Enhanced iperf and released it via open source, GPL license.
Networking skills include 802.11, all aspects of L2 ethernet, and RF multicast. Development skills include TCL, object oriented TCL (SNIT) and PHP, C/C++ when needed. Devices under test include boh embedded systems and device drivers for major commercial operating systems including Windows (and it's variants), Linux, and MAC OS.
Senior development test engineer: Performed as a QA engineer for IPv4 and IPv6 Multicast testing Cisco IOS on the Catalyst 6500 hardware platform. Responsible for feature testing IP multicast including IPv4 and IPv6, Sparse Mode (SM), Source Specific Multicast (SSM), Multicast Netflow Accounting and other features that assigned per release needs. Job requirements were to plan, document and execute manual testing as well as write feature test scripts to run as automated regression. Also wrote 20K lines of TCL to support feature testing in a semi-automated environment. Created, prioritized and tracked defects using defect tracking tools, presenting status at weekly, cross functional, bug scrub meetings.
Application Engineer: Worked in the marketing department as an application engineer supporting Intrusion Prevention Systems (IPS) and parental control, web filtering, software products. Setup demos on customer premises, evaluated competitors products, and represented the company in a technical capacity at industry trade shows.
Started a small company with plans to develop a home media server. Performed market analysis to define the product. Attended conferences to look for business partners and evaluate competition. Worked with Darden School at UVA in attempts to define a viable business model. Negotiated and hired support services such as accountants and attorneys. Recruited and enlisted an advisory board of industry leaders. Presented plans to outside investors. Managed personnel and contractors with a variety of skills. Developed product description including hardware and software definitions. Implemented an early PC based prototype using a Linux server, MPEG-2 decoders and RF modulators. Performed system and network administration for the office network and computers.
Carrier Class Remote Access
Server: Senior
member of an engineering team responsible for implementing a carrier
class remote access server capable of terminating 8,000 DS0
terminations (ingress) and supporting gigabit Ethernet and ATM ports
(egress). Evaluated marketing product requirements and wrote system
functional specification used by a team of 20 software engineers.
Worked with hardware engineers to define system hardware requirements
and assisted in the evaluation of HW vendor offerings.
Technical
lead for the software engineering team. Team was responsible for the
design and implementation of a distributed packet forwarding which
scaled with linecard insertion. Control plane required integration of
multiple IPC mechanisms used to manage the switch fabric, DSP pools,
and forwarding information databases. Individual software development
contributions included the system boot up code and a Gigabit Ethernet
driver.
Multi-CPU
Forwarding Engine:
Evaluated integrating four MIPs cores with multiple internal buses
and internal packet memory onto a single chip to be used as a
software based, IOS feature forwarding engine. Determined that the
effort was insufficient and using in-house ASIC or alternative
programmable forwarding technology such as Cisco's PXF deprecated the
need for this project.
Token
Ring VLANs: Led
software team responsible for developing the token ring VLAN
implementation for the Catalyst 5K and 6K router modules. Designed
and implemented microcode which supported concentrator relay
functions (CRF) and bridge relay functions (BRF) needed to seamlessly
support IOS and SRB, SRTB, and routing.
Router
Blade Development:
Key member of hardware and software team responsible for designing
and implementing a router blade for the Catalyst 5000 switch.
Architecture achieved performance requirements for CPU based
forwarding, realized inter-vlan routing and fallback bridging, and
supported ASIC based IP switching (in a concurrent development
effort). Integrated the full IOS feature set into the chassis.
Developed software to schedule DMA engines, device drivers to support
inter-processor communications, and message processing action
routines. Designed and developed the code responsible for booting the
module, requiring messaging between five asynchronous CPUs.
LAN
Emulation QA and Testing:
Designed and developed TCL scripts which verify Cisco's LAN Emulation
feature. Tests cases include verifying the LAN Emulation Client, LAN
Emulation Server and Broadcast Unknown Server software on a variety
of ATM attached Cisco platforms. Delivered scripts to test engineers
for continual regression testing.
Router
QA and Testing:
Member of a team responsible for testing Cisco's 7500 high-end
router. Features tested included bridging and routing with attention
to forwarding performance. Also developed test software to verify
file system code for a PCMCIA flash drive.
Member of the engineering team
which designed and developed a FDDI Network Interface Adapter (NIA)
for the Space Station Freedom. Developed the IP interface driver
allowing TCP/IP to utilize the adapter. Evaluated message latency,
CPU utilizations, and system throughput of the system architecture.
Due to CPU bottlenecks, ported TCP/IP code onto the FDDI adapter
processor. Developed code extending the socket interface across a
Multibus II backplane to a host processor.
Developed a
FDDI device driver, SMT protocol decode software, and a user
interface for an internally developed FDDI test adapter. Developed
automated test procedures verifying FDDI standard compliance.
Delivered documented test procedures and test results to NASA.
Developed TCP/IP client/server code to measure network
performance of a Fiber Channel attached RISC 6000. Project lead of
the team responsible for testing this Fiber Channel adapter.
Developed plans and schedules to complete product verification test
and customer environment test on the adapter and associated AIX
device drivers.
Other tasks included participating in
requirement, design and code reviews of other flight firmware.
Developed software to remote IPL a diskless workstation. Designed and
developed diagnostic software to verify hardware of the Network
Interface Adapter.
Washington University, St.
Louis, Missouri BS in Electrical Engineering, December 1989
Austin
College, Sherman, Texas, BA in Mathematics, July 1987
UCSC Machine Learning Fundamentals, 2015
Enjoy to mountain bike and
road bike (see routes here).
Run my own internet servers at colos in Dallas and Fremont supporting
community sites such as BSA
Troop 581.
Adult leader for Boy Scouts of America for 12 years.
References
available on request. Code samples available upon request.
Small GPL samples found here for iperf2,
tcl
every
and tcl
readline