Since the beginning of 1997 I have been working as an independent Internet Engineering Consultant doing general network engineering for Internet networks.
1996: Working in the Network Engineering Department I have done several Engineering tasks for the nationwide BBN PlaNet network. These included both working with clients of the network to solve complex problems escalated from the front-line operations staff and also long term performance analysis for customers in the marketing department in support of new product offerings.
From 1995 through 1996: As a member of the Research Staff in the Advanced Network Technology Department, I did software development and operational analysis on several leading edge network experiments. These included developing visualization tools for a new Internet Routing Architecture (Nimrod) and performance analysis of a test of a new multicast forwarding paradigm.
From 1992 through 1995: As Network Engineer in the Real-Time Networking Department, I had primary engineering responsibility for a worldwide network. Primary duties included designing and implementing peering policies with other large networks, simplifying and then documenting the internal routing structure, configuring and tuning of routers, consulting on operational and QA/deployment activities. Additionally I did development of a web server for the network, and some programming of tools for network monitoring--including network map generation--and config management. I attended IETF to keep abreast of trends in The Internet and NANOG (formerly NSFnet Regional Techs) to coordinate with other network operators.
As Network Manager I oversaw a network of nearly 400 hosts ranging from a few small personal computers through large numbers of workstations up to some large timesharing service machines. The network used principally the TCP/IP and Chaos protocol suites. My responsibilities included planning, operations, and development. I was responsible for recognizing areas of future expansion and designing network solutions based on user requirements and integrate these with the Lab-wide plan. I was also responsible for maintaining the software running on most of the Lab's gateways (a locally developed system called CGW), as well as configuration of all the gateways and the overall network. I monitored day-to-day activity on the network and watched for problems while they were still in developmental stages. I worked with several different facilities for monitoring, including a set of tools I developed specifically around some unique requirements of the Lab. This included a complete multiprotocol Network Management System for TCP/IP and Chaos networks using ICMP, SNMP, and other protocols. Additional responsibilities included representation at various organizations including IETF and DECUS.
I started as Chief Systems Programmer of the Software Development Department and was promoted to Manager of Software Development in 1985 when the original manager left the company. My major project at Perception was the development and support of a Real-time data communications system which runs on LSI11 processors. This system developed into the company's Vocom-I series product for which I was still the primary support person when I left. These positions included responsibility for answering user questions and assisting in correcting problems on the Company's time sharing systems. I also acted as the primary contact for persons in the Hardware and Manufacturing departments for questions concerning analysis of system failures. I also acted as an advisor to members of the Software Development Department in the design and coding of their individual projects. I was also responsible for implementing tools to aid the members of the department in developing new systems. These included maintaining a C compiler and its run-time library for three operating systems, a listing maintenance package, a system build program (similar to UNIX `make'), an EMACS-like editor written in C, a serial line file transfer program, and the previously mentioned Vocom-I system. I was also involved in planning for new products, including personnel availability, cost/benefit analysis of proposed systems, and development and maintenance time projections.
While completing my degree I worked part-time as a Programmer in the Computer Systems Communications group at the MIT LCS. During this time I worked on many projects in networking and systems. I also assisted in hardware and software maintenance on a UNIX V6 system running on PDP11 series computers.
I worked as Assistant System Manager on the Radiology Department's computer systems which included a PDP11/70 running RSX11-D and a VAX11/780 running VMS. My primary responsibilities were in the communications area. I was responsible for connecting and rearranging all terminal connections to both machines. I was also responsible for recommending purchases for the data communications needs of the user community on these machines which included many local and remote users with a variety of connection requirements. I also helped develop many software tools used for control of the system and for developing application software.
While I was a student at the Massachusetts Institute of Technology, I did Programming for various laboratories including:
Artificial Intelligence laboratory:
Lisp Machine system programming (in LISP) mostly CHAOSnet
Psychology Dept: Low level subroutines for interface to graphic hardware.
Center for Space Research: Data analysis applications in Fortran with some Assembly language for speed.
Center for Materials Science and Engineering: Interpreter for an intermediate language for graphic data.
Dormitory Telephone Services: Technician for installation of Central Office (CO) equipment.
Architecture Machine Group: (now the Media Lab) Graphics device drivers and display processor code
Accounting software on NCR Century and IBM 360 mainframes.