Marco Di Benedetto
A broad range of interests, a high level of determination in setting and achieving goals, imagination, and very effective communication abilities: these are the tools I want to use to gain respect as a technology visionary. The exact role is not so important, as long as it offers exposure to ideas in an energetic environment where creativity is sought, not shunned.
In the past I've had a chance to vest different roles, ranging from technical leader responsible to architect and design software solutions for the MDS 9500 and the Catalyst 6500, to a software development management position, to a pre-sales/business development support post in the Asia Pacific region, to technical/product marketing responsibilities; these different positions have helped me build a broader view of the technology industry, immersed in it from a variety of different angles. I've especially enjoyed the time I’ve lived in Beijing, China, since it offered me a very different perspective of the IT industry, and I would definitely cherish the opportunity to spend more time there in future.
A few years ago I've been voted "most innovative" and "best software engineer" by the entire team of Andiamo Systems, but what gives me most pride is to see that the software architecture I’ve created for the platform we were defining back then, still serves Cisco nine years later as the foundation for NX-OS, the next generation Operating System for all Cisco Data Center products of the Nexus family.
I fell in love with the Chinese culture and language during the 2 years I've lived in Beijing, but I enjoy traveling in general, and especially abroad, since discovering new places, new customs and new people fits very well with my inquisitive nature.
June 2007 – October 2009
Cisco Systems, San Jose (CA) (formerly Nuova Systems), senior technical marketing engineer
My main focus in this role was the definition of a Cisco-wide Fibre Channel over Ethernet (FCoE) technology roadmap across business units and products. The goal was to define cross-platform features that enable end-to-end Unified I/O solutions, while offering maximum integration with existing Cisco products in the Data Center products portfolio. The task was challenging because special attention needed to be paid in balancing innovation and preservation of existing management models, to offer customers the opportunity to reap all the benefits of Unified I/O without forcing any change in operational structures.
As a member of Cisco’s Server Access and Virtualization Business Unit, I was also spending a significant amount of time on outbound activities concerning Cisco Data Center products for the LAN and SAN access/edge layer (Nexus 5000 and Nexus 2000), for server virtualization (Nexus 1000V), and for the new Unified Compute Systems (UCS). These activities included:
· Delivering technology and product introductions to prospective customers;
· Collecting and analyzing customer feedback to prioritize technical requirements for future product roadmaps;
· Writing technical white papers and competitive responses;
· Attending and actively participating in trade shows and conferences.
I’ve also provided training and guidance to Cisco sales teams worldwide to arm them with the tools they needed to comfortably approach customers with the new Data Center vision the Business Unit delivered.
For some background, Nuova Systems was a startup developing next-generation solutions for the enterprise Data Center, with specific focus on Unified I/O and converged networks. Given the limited size of the marketing team at Nuova Systems, my role was somewhat in-between technical and product marketing, leveraging my past expertise in both Ethernet LAN and Fibre Channel SAN technologies.
June 2006 - May 2007
Cisco Systems, Beijing (China), network consulting engineer, Advanced Services, Data Center Networking technology practice
In my role, I was responsible for the delivery of the
professional services portfolio for Data Center Networking (DCN) to Cisco
customers in the Asia Pacific region. The portfolio includes Data Center architectures and designs, with technologies ranging through L2-3, L4-7 (site
selection, content switching, caching), storage networking, virtualization
applied to networks, storage and servers, as well as branch consolidation (WAN
acceleration), and disaster recovery solutions.
Among the projects I've worked on:
· Data Center Networking pre-sales assessments for large financial institutions in Australia and New Zealand, covering L2-3, L4-7, storage and business continuity technologies;
· Assessment of a storage migration project for a large insurance provider in the United States;
· Review and validation of L2 and disaster recovery network designs and best practices;
· General pre-sales and business development support for China and south Asia.
February 2004 - May 2006
Cisco Systems, San Jose (CA), software architect / manager of software development
My team was responsible to design enhancements for the next generation operating system (now called NX-OS) as well as to maintain the core software infrastructure of SAN-OS for the MDS 9500 platform. My role within the team included:
· People management, to support and grow the team (from 4 to 7 engineers), with a zero turnover rate during my two years in the role;
· Project management responsibilities, including requirements definition, coordination with other teams, tracking of progresses, and alignment to the defined objectives;
· Technical leadership, to provide guidance to engineers during the life-cycle of each feature;
· Mentoring, for technical and non-technical issues.
One of the main challenges was to deal with the distribution of the load among a team that was definitely understaffed for the amount of responsibilities we had to cope with on a daily basis. The maintenance tasks included supporting a team of over 150 engineers in other development teams, responding to queries from support engineers, gathering enhancement requests and providing bug fixes in a timely fashion. The areas of expertise of the team were:
· High Availability (state synchronization, fault detection, fault recovery, core management)
· Inter-Process Communication (IPC)
· Services databases
· In Service (non-disruptive) Software Upgrades (ISSU)
· Release versioning management
· Boot loader and boot sequence
· File systems
· Security (IKEv1 and IKEv2 fully developed in-house)
· Software plug-ins and virtualization
November 2000 - February 2004
Andiamo Systems, San Jose (CA), senior software engineer / technical lead
Andiamo Systems' mission was to develop a feature-rich director-class switch for the Fibre Channel market. The result of the effort is now branded Cisco MDS 9500, a platform leader in the market it intended to conquer. As an early member of the software team, I had a chance to participate in the definition of the MDS 9500 software architecture, which adopted Linux v2.4 as the basis for its operating system. In the fast-paced environment (over one million lines of C code were developed for our first software release) I often offered insights and suggestions in areas outside the scope of my initial responsibilities, and this attitude brought me to become the lead for a variety of projects:
· High Availability architecture: state synchronization, fault detection, fast reaction to failures (policy based), core management and debugging support.
· Inter-Process Communication: a light-weight Inter-Process Communication mechanism with middleware capabilities, and extra features needed to complement the High Availability architecture.
· In Service (non-disruptive) Software Upgrades (ISSU)
· Fibre Channel enhancements: conception and design of numerous enhancements to the basic Fibre Channel standards, first available on the MDS 9500 platform (including VSANs and TE_ports).
· Role-Based Access Control (RBAC)
· Fibre Channel FC-SW-2/3
· Release versioning management: version management scheme used to guarantee proper interoperability of the different software images concurrently running on the MDS 9500 platform.
· Boot sequence: this included designing a boot loader and its CLI, defining the image format, defining the overall file system structure, and contributing to the porting of GRUB (our boot-loader of choice) to the MDS 9500 architecture.
· Build infrastructure: handling of build dependencies among shared libraries with Automake, parallel build support with Automake, and a bunch of tools and compilers for a variety of tasks.
· File systems: definition of the file system layout for the MDS 9500, implementation of libraries to provide basic file handling functions through C APIs, and design of resilient storage for critical system configuration (startup-config).
· Databases: contribution to the design of a registry-like database.
· Miscellaneous: implementation of a series of libraries, macros and scripts for debugging support and automatic generation of documentation from C header files. Extensive mentoring of junior engineers.
September 1998 - November 2000
Cisco Systems, San Jose (CA), software engineer
· Multi-Instance STP: concept, design, and supervision of the first implementation of a modified Spanning Tree Protocol shared by multiple VLANs. The same architecture has been used as the basis for the IEEE 802.1s draft standard.
· High Availability: design and implementation of the software High Availability infrastructure for the Catalyst 6000 platform.
· Root-guard: concept, design and implementation of this enhancement for the Spanning Tree Protocol.
· Uplink-guard: concept, design and implementation of this enhancement for the Spanning Tree Protocol.
· Highly available STP: concept, design and implementation of some enhancements to the STP protocol to simplify the supervisor's switchover in a switch with redundant supervisors.
Although I’m now playing a very different role, my software development career has shaped my technical interests. In the past I’ve focused on embedded systems, from OS internals to application-level development. My main responsibilities have been with Operating Systems (Linux), software infrastructure, and system level High Availability, as well as L2/L3 networking for both Ethernet and Fibre Channel. I've also helped in building cross-compiled build environments (make, automake and PERL scripting).
With time, I've accumulated a portfolio of 20 patents (USPTO numbers for those that have already been issued: 6,987,740; 6,898,189; 6,937,576; 7,061,858; 7,076,594; 7,293,105; 7,424,533; 7,281,138; 7,412,557; 7,545,757; 7,599,284).
March 1999: Masters Degree in Computer Engineering, Politecnico di Torino. Final dissertation concerning techniques for recovery and fast reconfiguration of the Spanning Tree protocol in highly available networks. Score of 110/110 summa cum laude.
· Italian citizen
· US citizen
· Italian (mother tongue)
· English (fluent)
· Mandarin Chinese (conversational speaking and basic reading)